|By Vasanthan Dasan, Haresh Parekh||
|December 6, 2010 08:15 AM EST||
The open source movement is growing rapidly and having a major impact on the way businesses model their IT strategies. One of the business areas where open source is beginning to have a real impact is in the area of cloud computing. Free and open source software (FOSS) is software that is liberally licensed to grant users the right to use, study, change, and improve its design by allowing access to its source code. It has revolutionized the world of information technology by encouraging a community-driven approach to building software and applications. In a similar way, cloud computing uses a distributed resource delivery and usage model, encouraging users to access their resource (hardware or software) via a network. The benefits of the cloud computing model are scalability that appears to be infinite and instant access or provisioning.
One of the most important ways that the open source movement is fueling and accelerating the growth of cloud computing is found in the community-building component. This open source community element has inspired technological and business model innovations across a spectrum of industries and professional service providers.
One example of this is the Salesforce.com AppXchange, where enterprise users of Salesforce.com's SaaS platform can extend, customize and modify their SaaS implementation to meet their own unique business needs, often with just a click of a button. On the other side, AppXchange developers are free to put their own stamp on Salesforce.com's innovative platform and create a new business proposition, geared toward a niche need or service. The resulting combination of an established and tested SaaS platform (Salesforce.com) blended with an innovative and ever-changing suite of new add-ons (AppXchange) helps ensure enterprises that they will always have the most cutting-edge and flexible SaaS platform available to them. This, combined with a quick speed of entry and the relatively low-cost of deployment, helps the enterprise feel more comfortable with a cloud-based solution rather than an in-house custom application.
Open source software is at the opposite end of the spectrum from compiled and ready-to-run software. The source code is included with the compiled version and modification or customization is actually encouraged. The software developers who support the open source concept believe that by allowing anyone who's interested to modify the source code, the application will be more useful and error-free over the long term.
While open source software has had an enduring impact on information technology, making it work for companies and enterprises in the cloud is far more complicated than simply installing a copy of Linux. If a company is serious about using open source in the cloud to cut costs, accelerate development, and reduce vendor lock-in, it must institutionalize skills and create new ways of working. The first need is to understand the benefits and services that open source software in the cloud can provide, what responsibilities and risks it brings, and how to best minimize those risks.
Benefits to Open Source in the Cloud
Cloud computing is a convergence of high performance computing architectures, Web 2.0 data models, and enterprise-scale computing. Think about it as the next phase of service-oriented IT. With cloud computing you are accessing and running IT services, but the services are most often somewhere beyond the corporate firewall or data center and not subject to the same internal concerns of hardware and software limitations, management problems and scalability issues.
Cloud computing combined with open source software enables additional real benefits for enterprises:
- It allows businesses to deploy applications, systems, and IT resources as services that reside somewhere in the global connected network more cost-efficiently than with in-house solutions.
- It allows businesses to use the applications, systems, and IT resources of other organizations when needed, realizing costs of scale more effectively than with in-house solutions.
- It gives businesses access to open source innovations and improvements that can save money and time and improve performance and flexibility in an application that would be unavailable in a traditional packaged solution.
Ultimately, open source cloud deployments can save money, free businesses from vendor lock-ins that could really sting over time, and offer flexible ways to combine public and private applications.
There are a number of open source cloud applications, services, educational resources, support options and general items of interest available today.
Common Open Source Business Solutions Offered in the Cloud
The cloud makes a great platform on which FOSS business models ranging from powering the cloud to offering FOSS as SaaS can flourish. Cloud computing can be seen as a catalyst in innovating FOSS business models. Because strategies have been developed to address many common issues around licensing and intellectual property ownership, the cloud business model can help serve as a blueprint for FOSS innovation.
Some current ways companies are choosing to leverage Open Source Solutions in the cloud include:
- Powering the cloud: FOSS can power the cloud infrastructure similar to how it has has been powering the on-premise infrastructure to let cloud vendors minimize total cost of ownership. A not-so-discussed benefit of FOSS for the cloud is the use of algorithms such as MapReduce and Google Protocol Buffer that are core to the parallel computing and lightweight data exchange.
- FOSS life-cycle management: There is a disconnect between source code repositories, design-time tools, and application runtime. Cloud vendors have the potential not only to provide an open source repository of these important items, such as Sourceforge, but also allow developers to build the code and deploy it on the cloud using the horsepower of cloud computing.
- FOSS dissemination: Delivering pre-packaged and tested FOSS bundles with support and upgrades has proven to be a successful business model for vendors including RedHat Spikesource and Cloud.com. Using the cloud as a FOSS dissemination platform could allow vendors to scale up their infrastructure and operations to disseminate the FOSS to their customers. These vendors also have a strategic advantage in case their customers want to move their infrastructure to the cloud. This architectural approach will scale to support all kinds of customer deployments - cloud, on-premise, or side-by-side.
The distributed computing capabilities of the cloud can also be used to perform static scans to identify the changes in the versions, track dependencies. and minimize the time to run regression testing.
- Compose and run on the cloud: Vendors such as Coghead and Bungee Connect provide composition, development, and deployment of tools and applications on the cloud. While these companies are not providing FOSS solutions, a similar business model could be deployed for FOSS, enabling delivery of an entire FOSS application life cycle on the cloud.
- FOSS as SaaS: This is the holy grail of all the FOSS business models. Don't just build, compose, or disseminate your FOSS, but deliver a true SaaS experience to all your users. In this kind of experience the "service" is free and open source. The monetization is not about consuming the services, but about using the FOSS services as a base platform and providing a value proposition on top of that. Using the cloud as a FOSS business platform would allow companies to experiment with their offerings in a true try-before-you-buy sense.
Open Source in the Cloud - Adoption and Considerations
Open source and cloud computing both create a set of questions for the industry. For example, is there any value in free and open source licenses if all are based on the act of software distribution and software is no longer distributed, but merely performed in the cloud on the global network stage? How can the freedom to innovate be preserved when the competitive advantage of online players comes from massive databases created via user contribution, which literally get better the more people use them, raising seemingly impregnable barriers to new competition?
The key is to rediscover what makes open source tick in the new context of the cloud. It's important to recognize that open source has several key dimensions that contribute to its success:
- Licenses that permit and encourage redistribution, modification, and even forking (creating an independent project from one piece of software)
- An architecture that enables programs to be used as components wherever possible, and extended rather than replaced to provide new functionality
- Low barriers for new users to try the software
- Low barriers for developers to build new applications and share them with the world.
The cloud computing industry is still evolving and has not figured out what kinds of licenses will allow forking of Web 2.0 and cloud applications, especially because the lock-in provided by many of these applications comes from their data rather than their code.
Given this context, there are questions that each enterprise must ask in regard to any software - proprietary or open source:
- Why is there a "productization gap" in most open source projects?
- How can the maturity of open source be evaluated?
- How can the ROI of open source be calculated?
- What skills are needed to use open source cloud applications in the enterprise?
- What sort of open source projects are appropriate for IT departments at the beginner, intermediate, advanced, and expert levels?
- What questions need to be answered by an open source strategy?
- What policies for governance can be instituted to control the adoption of open source?
- What new commercial services can help manage the risks of open source?
- Do differences in open source licenses matter?
- How will using open source transform an IT department?
The industry is a long way from having all the answers and frequently the right professional services partner is a key element in making open source and cloud computing work in tandem. The right professional services provider can provide best-practice advice and hands-on assistance with a wide range of technical and business process issues related to the use of open source in the cloud.
Open source software is rapidly becoming more accepted by customers as a viable alternative to proprietary software, and cloud computing vendors are starting to provide solutions that meet the needs of the enterprise. By providing the key bridge between the enterprise and the open source communities, professional service providers can be a pivotal key to successful adoption and implementation of open source in the cloud. While cloud computing vendors may have offerings based on open source software, good technologies are not, in and of themselves, solutions. The long-term key to successful open source and cloud technologies is finding the right partner to create useful solutions out of disjointed technology components.