Five open source tools for building and managing clouds
Open source technology is going to seriously impact the cloud computing world, and there are two main reasons why: 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?
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. 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.