Open source technology is going to seriously impact the cloud computing world, and there are two main reasons why:...
Open source software is essentially free, and it is not generally encumbered by the software license models of proprietary software. Many proprietary software vendors, such as Microsoft and Oracle, are trying to maintain old and expensive license models, even though they impede the flexibility gained by virtualization and cloud computing.
Proprietary tools for building and managing clouds are no further along than their open source counterparts, and the open source tools are free.
A number of open source tools have already had a huge impact on cloud computing: Linux and <ahref="http://searchservervirtualization.techtarget.com/definition/Xen">Xen, for example. But there are other important open source offerings that can benefit cloud users. These include KVM, Deltacloud, Eucalyptus, Cloud.com's CloudStack Community Edition and OpenNebula.
KVM (Kernel-based Virtual Machine) is an open source hypervisor for Linux running on x86 hardware. It contains virtualization extensions (Intel VT or AMD-V). With KVM, you can run multiple virtual machines (VMs) running unmodified Linux or Windows images. KVM is an upstream hypervisor, sitting in the Linux kernel that converts the kernel into a bare metal hypervisor. Being upstream means that every Linux distribution ships with KVM. As the Linux kernel gets updates, KVM takes advantage of them automatically. KVM is supported in Red Hat Enterprise Linux, Ubuntu, and SUSE Linux Enterprise Server.
Deltacloud is an open source project started last year by Red Hat. It is now an Apache incubator project, not just a Red Hat endeavor. Deltacloud abstracts the differences between clouds and maps a cloud client's application programming interface (API) into the API of a number of popular clouds, including Amazon EC2, GoGrid, OpenNebula, and Rackspace. Drivers for Terremark and vCloud will be available in the near future. As a result, Deltacloud is a way of enabling and managing a heterogeneous cloud virtualization infrastructure.
Deltacloud allows for any certified virtualized environment, such as environments based on KVM, VMware ESX and Hyper-V, to be managed from one common management interface. That is, instead of having a management console for VMs based on ESX and a management console for VMs based on Hyper-V, all VMs can be managed from one management console. Deltacloud does this by enabling different virtual machines to be transferred or migrated in real time from one virtualization capacity to another, such as from VMware to RHEV (Red Hat Enterprise Virtualization) or VMware to Microsoft. If an enterprise is already using IBM Tivoli or HP OpenView, Deltacloud can be integrated.
Eucalyptus Community Cloud is a sandbox environment in which you can test drive and experiment with Eucalyptus. It is a private cloud platform that implements the Amazon specification for EC2 as Infrastructure as a Service (IaaS). Eucalyptus conforms to both the syntax and the semantic definition of the Amazon API and tool suite, with few exceptions. Eucalyptus also makes available administrative functionalities, such as user management, storage configuration, network management, and hypervisor configuration for managing and maintaining private clouds. Eucalyptus targets Linux systems that use KVM and Xen for virtualization. It has been packaged for inclusion in the 9.04 release of Ubuntu, and other Eucalyptus packages exist for CentOS, Debian, openSUSE, and Red Hat Enterprise Linux 5.x.
Cloud.com (formerly VMOps) offers an open source edition (GPL v3 license) of its CloudStack infrastructure management product: CloudStack Community Edition. CloudStack supports VMware ESX, Xen and KVM (and eventually Hyper-V). It offers many of the capabilities that you would expect from a cloud management interface: VM self-service provisioning, dynamic workload management, multi-tenancy, etc. It also supports Windows and Linux guest operating systems.
OpenNebula is an open source tool kit for cloud computing. It allows you to build and manage private clouds with Xen, KVM, and VMware ESX, and hybrid clouds with Amazon EC2 and other providers through Deltacloud adaptors. The remote public cloud provider could be a commercial cloud service provider such as Amazon, or it could be a partner private cloud running a different OpenNebula instance.
Understand open source cloud tools before hopping onboard
Startups and other more established companies are supporting open source products that create and manage cloud environments. The question is: Will IT organizations deploy these open source products to create and manage private clouds? Is it worth the risk when several of the providers of the open source cloud-based products are small and the products are just beginning to be tested in production environments?
When deciding among cloud tools, both open source and proprietary, you should talk to customers who are already using them. Proprietary tools for building and managing clouds are no further along than their open source counterparts, and the open source tools are free. There is also less fear of lock-in than with tools from vendors such as Microsoft and VMware.
The five open source cloud-oriented products previewed earlier are all worthy tools for helping you build private clouds. They are all already in use; some, such as KVM, Eucalyptus, and CloudStack Community Edition, are already in production use. In addition, Deltacloud is playing a central role in Red Hat's virtualization and cloud products, and OpenNebula is active in several international projects.
The future of open source tools in cloud computing and virtualization
Red Hat has adopted KVM as its hypervisor of choice for implementing virtualization tools (RHEV), and it will not include Xen in its Linux distribution, beginning with Red Hat Enterprise Linux 6. Red Hat has also developed tools to assist its customers in migrating from Xen virtual machines to KVM virtual machines. These tools will be available later this summer with the release of Red Hat Enterprise Linux 6. Red Hat will support Xen in Red Hat Enterprise Linux 5.x until 2014.
If you are currently virtualizing your data center with Red Hat Enterprise Linux with Xen, then you need to start thinking about converting to KVM. KVM is supported in releases of Red Hat Enterprise Linux, starting with release 5.4. Cloud providers such as Amazon, who use Red Hat Enterprise Linux and Xen, should also begin to move to KVM when Red Hat Enterprise Linux 6 is made available. If you mix and match KVM and Xen, then you may have to do conversions between VMs as you move them about your virtualized environments. Potential Red Hat customers should wait for the release of Red Hat Enterprise Linux 6 and begin with KVM, avoiding the use of Xen.
Red Hat recently announced that it is commercializing Deltacloud as part of its set of virtualization and cloud management products. Deltacloud will become available commercially in 2011. Red Hat is using Deltacloud in developing its RHEV tool set, so if you are contemplating using multiple hypervisors in your Red Hat-based private cloud environment, then you should take a close look at Deltacloud. It allows you to use a single interface to move VMs among various types of clouds. Drivers for Deltacloud already exist for several clouds, including Amazon, Rackspace and GoGrid.
Canonical is using Eucalyptus in its Ubuntu Enterprise Cloud (UEC) product to help you create your own private cloud. Anyone looking to build a private cloud in a Linux environment should strongly consider using Eucalyptus in UEC. It is compatible with Amazon EC2, making it easy for you to move virtual machines from your Eucalyptus-based private cloud to the Amazon public cloud.
Over time, the cloud tool market will shrink, and only a handful of players will offer integrated cloud deployment and management capabilities.
A cloud service provider, Cloud Central in Canberra, Australia, has been selling cloud services based on CloudStack Community Edition. Cloud Central chose CloudStack over Eucalyptus and VMware.
Cloud Central sells access to its CloudStack-based cloud on a pay-as-you-go basis starting at 3 cents per hour. The Community Edition does not offer support for all of the features of the Enterprise and Service Provider editions. In addition, Cloud.com does not support CloudStack Community Edition directly; instead, support comes from the community itself. CloudStack Community Edition, however, is a way for you to get a cloud created without the level of investment that you might otherwise need. If you want, you can always move up to the Enterprise Edition after a proof of concept trial period.
OpenNebula has probably received less attention from users than some of the other cloud tools in this article. It is being used to manage clouds in a number of international projects, however, such as a cloud at CERN in Switzerland with 500 servers. Xen is being used as the hypervisor for now, but once KVM becomes mainstream, it will be used in the CERN cloud.
OpenNebula is also being used in the D-Grid Resource Center Ruhr to manage a cloud infrastructure with several hundred servers, along with being the virtual infrastructure manager in the Reservoir and StratusLab projects.
Over time, the cloud tool market will shrink, and only a handful of players will offer integrated cloud deployment and management capabilities. Keep an eye out for some of the open source products discussed in this article; they may be acquired and integrated with high-level proprietary tools such as BMC Patrol Automation Suite, HP Server Automation Suite, and IBM Tivoli.
BILL CLAYBROOK'S BIO:
Bill Claybrook is a marketing research analyst with more than 30 years of experience in the computer industry, with the last 10 years in Linux and open source. From 1999 to 2004, Bill was Research Director, Linux and Open Source, at Aberdeen Group in Boston. He resigned his competitive analyst/Linux product marketing position at Novell in June 2009 after spending over four and a half years at the company. He is now president of New River Marketing Research in Concord, Mass. He holds a doctorate in computer science.