As companies cautiously explore cloud computing, open source technologies could prompt a tipping point in cloud adoption.
Free and open source software is liberally licensed and allows users to change and improve software design by allowing access to its source code. Its community-driven approach to software development—as well as flexibility and the potential lower cost of open source technologies— is well suited to the cloud. By contrast, proprietary software often locks in users to a given provider and can come with a high price tag. So open source may also help untangle some of the vexing problems that have been roadblocks to cloud adoption, including data portability and cloud interoperability.
But building private and hybrid clouds with open source technologies poses problems as well, including spotty support, lack of company development know-how and a lack of common standards. Moreover, many cloud platforms mix open source and proprietary code. Vendors may continue to nurture their own proprietary technologies in the marketplace rather than join forces to create common standards. Without greater cloud interoperability, IT shops may continue to reject cloud technologies as too risky.
So, for users, the question becomes whether open source is “good” for the cloud or creates problems of its own. In this article, we’ll examine when open source software can benefit a cloud project and when it’s best to rely on proprietary technologies instead.
Open source and the cloud gain steam
By several indications, cloud computing adoption is poised to grow. By 2020 the global cloud market is predicted to reach $241 billion, compared with $40.7 billion in 2010, according to a Forrester Research Inc. report. Open source platforms and projects in the cloud are also growing. According to a May 2011 report of 450 respondents by North Bridge Venture Partners and the 451 Group, mobile and cloud development experienced growth in open source projects. A December 2010 report by the 1105 Government Information Group, 60% of 460 respondents have considered cloud computing because of its potential to reduce IT and operational costs and provide rapid on-demand access to IT resources.
Open source cloud platforms aim to build flexibility and open IT architecture from the ground up. Rich Wolski—the CTO of the open source Infrastructure as a Service provider Eucalyptus Systems Inc. and a professor of computer science at the University of California, Santa Barbara— said that his company wanted to develop a platform that is easy to use, maintain and modify, partly because of its open source foundations. “We actually started from first principles to build something that looks like a cloud,” he said. “As a result, we believe that our thing is more malleable. We can modify it, we can see inside it, we can install it and maintain it in a cloud environment in a more natural way.”
So, for companies that want lower-cost and more flexible and elastic on-demand IT infrastructure, open source cloud computing can make sense. Now let’s consider some of the characteristics and benefits of open source cloud technologies.
Reduced cost. Low cost is a key driver in open source cloud technologies. According to the North Bridge Venture Partners survey, respondents said that low cost is the second-most attractive aspect of open source technology, behind only freedom from vendor lock-in. Lower-cost or free licensing complements cloud computing by reducing infrastructure costs. But lower licensing fees should be balanced against support costs and developer time and costs to customize code, which can quickly boost the total cost of ownership of open source software.
Rapid innovation, accelerated development. Technology resources are no longer fixed but abundantly and flexibly available, so businesses can roll out new ventures with less risk and delay and without prohibitive costs. The ability to switch resources on or off in seconds paves the way for real experimentation and more rapid business development.
Firms that use open source software can add new features critical to their business needs, which allows programs to be extended rather than replaced. According to the “2011 Cloud Computing Adoption Survey,” rapid business innovation is a critical cloud driver: 51% of 344 responding companies see opportunities to roll out new products via the cloud.
But companies can garner these benefits only if they have in-house expertise or ongoing development contracts with outside help to develop the code and address support issues.
Cloud-friendly licensing and user control. Open source licensing is often less problematic for clouds than proprietary software licensing. Traditionally, commercial software was designed and licensed for static environments in which software was installed and run on a physical server. Today these kinds of static environments are becoming the exception, with elastic applications becoming the norm.
And with proprietary software, it can be a major headache to figure out how to license these dynamic IT resources as applications and data move from cloud to cloud. Unlike proprietary licensing models, such as Microsoft’s, open source software licenses do not have to be adjusted to allow for “license mobility.”
Finally, users gravitate toward open source because it provides greater control over testing and evaluating cloud technologies, noted Eucalyptus CEO Marten Mickos. Companies want to test products themselves and have control over the technology evaluation process. This also supports findings from the “2011 Cloud Computing Adoption Survey,” where 43% of 344 respondents said that they want to maintain responsibility for the care and feeding of their clouds rather than relinquish control to providers.
Open source problematic for clouds?
Still, open source software is no panacea and presents challenges for the unprepared, particularly companies without the necessary in-house coding expertise to support open source technologies. According to the North Bridge Partners survey, respondents cited lack of technical skill, lack of familiarity with open source technologies and a lack of support as the top three barriers in selecting an open source technology.
Coding expertise and support. Large companies such as Amazon, Google and Yahoo often have substantial developer expertise inhouse, so they are the most likely to take open source technologies and build on top of them. They have the resources required to customize the code for particular business needs, which many smaller companies often lack.
Some of the more popular open source projects also provide adequate Web-based support for bugs, patches and so forth. In the case of less-popular open source software, Web-based support isn’t enough. If a company lacks expertise in customizing open source cloud soft- ware, it may end up paying more than it would by just paying for proprietary software.
For open source cloud technologies to be successful for a given organization, a company needs to ask, “Do we have the development capacity for this project? Should we invest staff resources this way?” If the answer is no, choose a commercial product to get paid support instead. If the answer is yes, consider whether you have sufficient inhouse developer expertise to support ongoing projects or whether you need additional resources.
Open standards. Another potential problem for open source cloud software is getting open source cloud APIs ratified by standards organizations (and for the distinction between open source and open standards, see “Open Source vs. Open Standards” on page 13). While a good deal of hype surrounds OpenStack as a potential standard for cloud computing, it has yet to demonstrate that it can attract a large number of users. APIs, such as TCP/IP, become open standards because they attract substantial interest and use. It may take OpenStack a few more years to garner enough broad-based use to qualify for open standards ratification.
While initiatives like OpenStack are moving toward greater openness in the cloud, these projects are driven in part by cloud technology vendors and, to some extent, by cloud providers. All these parties have a stake in product differentiation and in preventing commoditization. As a result, vendors’ motivation to create truly open standards could suffer from self-interested vendors controlling the roadmap of a project.
So while open standards are a good thing, it does not necessarily follow that users will reap the benefits. Because some cloud service providers don’t want to compete on cost or selling price alone, they may have little interest in developing or supporting common cloud standards. If OpenStack or VMware APIs become open standards, for example, expect cloud service providers to deliver these APIs with their own modifications. These changes, of course, may render open standards less open or broadly usable.
Open source and cloud computing technologies can enhance one another. For companies on tight budgets that want to make an initial foray into the cloud, open source can offer flexibility and lower-cost cloud projects. It also offers the opportunity for the rapid innovation and deployment that is so central to the cloud. These technologies permit innovation at a much faster rate than proprietary software, which often has long development and testing cycles. Moreover, some of the key capabilities in automation, management and monitoring tools for cloud-based and virtualized environments have been generated by open source projects and startups such as Open- Nebula, Cloud.com and Abiquo. Further, an open source implementation can become a working reference model that demonstrates what the specification means and how to implement it. This may be difficult, if not impossible, with proprietary implementations.
But at the end of the day, whether a cloud technology is open source isn’t the key factor for users. They don’t care as much about what’s under the hood as they do about performance, availability, security and overall results. Still, users do care about flexibility and portability, which could prompt them to support open standards and, in turn, open source cloud technologies. All in all, companies with in-house expertise to support open source cloud projects are the best candidates to reap the benefits of lower costs and more rapid product time to market. As they draw a roadmap to the cloud or make purchasing plans, companies should start by assessing their in-house skills.
About the author:
Bill Claybrook is an analyst with more than 30 years of experience in the computer industry. He has spent the past 10 years focusing on Linux and open source. Claybrook was the research director for Linux and Open Source at the Aberdeen Group and a competitive analyst at Novell Inc. He is now president of New River Marketing Research in Concord, Mass.