Open source cloud software has its share of advantages and downsides. The idea of a license-free option can be enticing to budget-conscious IT departments looking to make their first move in the cloud space, as can the promise of no vendor lock-in. But the do-it-yourself nature of open source can be a major disadvantage to smaller IT shops that lack the dedicated technical development staff needed to build and manage an open source cloud architecture.
SearchCloudComputing.com sat down with industry analyst Bill Claybrook to discuss the market, what companies of all sizes should consider when looking to build an open source cloud and which vendors have the most influence at the moment.
What are the advantages of using open source cloud?
Bill Claybrook: Open source is a way to produce software and distribute it. It’s just an implementation paradigm. Open source means no license fees; you can do with it pretty much what you want within the few rules, including distribution rules, stated in the open source license description.
There are many open source cloud licenses and each generally has a few differing rules on what you can do with the open source code. If you’re doing true open source, meaning you’re downloading it and using it, then you need technical people who are capable of actually supporting the open source code. If you don’t have that, then if you want to use open source you may have to pay a third party for support. This cuts into the cost savings that you expect from the use of open source cloud.
In other cases, if you’re deploying a large number of servers, like eBay, Amazon, Bank of America and other large financial institutions do, with 10,000 to 15,000 servers, and have the technical expertise available, open source makes a lot of sense. If you had to buy proprietary cloud-type software for each one of those servers, then the cost of licensing could be substantial. If you have a lot of servers, and you’re trying to create a cloud around those servers by virtualizing them first, then open source is a really good way to go -- especially with hypervisors.
Additionally, the licensing is not as complicated as it is for closed source offerings like Oracle or especially Microsoft. With true open source, you get licensing mobility, which means everything these days in cloud licensing. In cloud environments -- even if you’re just doing virtualization on servers in your lab -- you want to move applications [workloads] from server to server, but if you don’t have a license for the target server, you can’t do it. With true open source, you have a lot more freedom to move applications from cloud to cloud. That is a huge advantage and saves you a lot of money.
With true open source, you get licensing mobility, which means everything these days in cloud licensing.
You can also develop a system more quickly. If you’re using open source software that’s easily accessible, you can implement code and test it without spending any money on licensing. You can get the open source, download it and develop a model of the software system you want to test. As a result of this, you end up saving time, which translates into a cost savings as well. The ways in which open source software is developed and distributed allows you to get a project under way faster and at lower cost.
What are the drawbacks to going with open source?
Claybrook: The biggest drawback of open source is the lack of support. You have to have technical people around to support it and do the development around it. If you’re using open source to create a system or platform, you’re probably going to have to integrate a number of other open source project codes. If you pick all open source to build a private cloud, someone in your team will need to integrate all the components and make sure they work.
On the contrary, if I go buy VMware, the company will probably give me a whole bunch of products -- at a very high cost -- that will all work together. But then you can get locked into VMware products. Some people also feel the frequency of releases for open source software is too often and there are too many of them. Other developers believe this is an advantage because you get new features quicker.
Would the cost of having capable in-house development expertise be less than licensing costs for commercial cloud software?
Claybrook: If you have a lot of servers, then you really need technical people who can support [open source]. Large financial institutions often gravitate toward open source because they can customize the code. Companies that have the capability to technically support and modify open source to satisfy their own needs should be able to deal with it. If you are building a cloud around five open source projects, for example, then you really need to have people who work and contribute specifically on those projects. That way, if you have features that you want to use, your people can work within the framework of the open source project team to possibly get those features included in the mainline code.
If you’re using code from a very large open source project, you’ll probably find a lot of support for the project on the Web. If you’re using a medium to small open source project in your cloud, then you might have a lot of trouble finding that support. A company may also turn to open source because it can be used to fulfill some specific business need. If you find open source software that’s really strategically important to your business case, then that’s another reason to go that route. For example, there are open source software companies with products that will manage all of your hypervisors so you can administer public and private clouds from one workstation.
Which are some of the major open source cloud vendors?
Claybrook: There are a few. Many cloud vendors are proprietary, but there are a number of others that are open source. Eucalyptus Systems is an open source company with products based on open source code. With Eucalyptus release 3, the entire platform is open source. The company makes its money by selling annual subscriptions that include commercial plug-ins and technical support. You can build a private cloud; it supports much of the Amazon Elastic Compute Cloud [EC2] application programming interface [API]. If you have an environment that’s all VMware, you can go in and slap Eucalyptus IaaS [Infrastructure as a Service] on top of a VMware virtualized server installation and make it into a private cloud. And Eucalyptus has nearly doubled its workforce in the last year.
Then if you want to go to OpenStack, which is really a project, it’s sort of the darling of the open source world. OpenStack is not really oriented toward the small and medium companies -- even though it’s open source. It’s more geared toward the enterprise and service providers who have the technical capabilities to deal with the product. There’s no support for it, unless you want to buy it from partners such as Rackspace. You can also get some help from the OpenStack project members themselves. And then there’s Ubuntu, which is the Canonical Ltd. open source operating system, which has also been bundled with Eucalyptus.
Another open source cloud vendor that’s pretty cool is Abiquo, which has a management product that’s a single console to manage private clouds and public clouds. It’s hypervisor-agnostic and it’s a very cool open source product. All of these open source products offer commercial versions or commercial plug-ins to the open source project code. The closed source, commercial versions generally have features that are not included in the open source versions. If a new feature comes out that users really want, some vendors will back-port that feature into an older version of the open source software that they are distributing.
What about cloud interoperability issues?
Claybrook: That’s kind of interesting. My definition of interoperability is moving applications from one environment (cloud) to another. Most cloud environments -- if I have a Terremark cloud, or Amazon cloud or Savvis cloud -- all of those environments were implemented by different people using different hypervisors, different operating systems, different database systems, etc. And when you have an application that you want to move from your data center, or maybe from your private cloud, to the public cloud, it may not work without a lot of effort.
Open source is good, but you have to be careful. You’re jumping off into a huge project.
The problem is that if you go with Microsoft across the board you might increase interoperability and then you kind of get locked into their software. Secondly, anywhere you want to move an application to [from a Microsoft-based cloud, for example], you almost have to move it to another Microsoft-based cloud or you have other issues around moving the application. Right now, interoperability is almost a wish [rather than a reality].
So what other costs can you expect with an open source cloud product?
Claybrook: If you’re going to do open source in a reasonable way, you really need to have some developers who are working almost full time on that project. If you want to get certain features into the code, your way in is through the developers. An added cost would be having two or three developers, part time, at least, working on the project.
Another cost with open source is that you don’t get all my software from one place. If I go to Eucalyptus, they could probably give me all the software I need. However, if I’m piecing together my open source software, as many companies do, then someone has to integrate all this stuff, put it together, make sure it works, test it, all that. If you have the expertise to put it together component by component, you’ll also have to integrate it and then test it. You’ll save some money on licensing and you may get better scalability and even performance with open source software, but you’ll also spend money [on developers].
Open source is good, but you have to be careful. You’re jumping off into a huge project. If you don’t have any real expertise in-house, you better hire someone to help you or buy commercial.
Michelle Boisvert is Senior Site Editor for SearchCloudComputing.com. Contact her at email@example.com.