freshidea - Fotolia
Editor's note: This content has been updated from a previous SearchCloudComputing tip, written by Bill Claybrook, to reflect changes in the open source cloud tools market.
Open source technology has had a major effect on the cloud computing world, and there are two main reasons why: Open source software is essentially free and users of open source tools aren't restricted by the often stringent licensing models of proprietary software. Many proprietary software vendors, such as Microsoft and Oracle, try to maintain these licensing models, even though they can impede the flexibility of virtualization and cloud computing.
A number of open source tools, such as Linux and Xen, have already had a huge effect on cloud computing. But there are other important open source cloud tools that can benefit cloud users. These include KVM, Eucalyptus, CloudStack, OpenNebula and OpenStack.
Kernel-based Virtual Machine (KVM) is an open source hypervisor for Linux running on x86 hardware. It contains virtualization extensions that boost security and performance, and allows organizations to deploy multiple 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 updates, KVM takes advantage of them automatically.
KVM is supported in Red Hat Enterprise Linux, Ubuntu and SUSE Linux Enterprise Server.
Eucalyptus is a free, open source program, but it is also supported by its original developers, Eucalyptus Systems -- now a subsidiary of Hewlett Packard Enterprise -- that have agreed to work with Amazon Web Services (AWS) to maintain compatibility.
Eucalyptus is a private cloud platform that implements the AWS specification for Elastic Compute Cloud (EC2) as infrastructure as a service. With a few exceptions, Eucalyptus conforms to both the syntax and the semantic definition of the Amazon API. It also includes administrative functionalities, such as user management, storage configuration, network management and hypervisor configuration to manage and maintain private clouds. Eucalyptus targets Linux systems that use KVM and Xen for virtualization.
CloudStack is an Apache package of open source cloud tools for infrastructure management. CloudStack supports VMware ESX, Xen and KVM and Hyper-V. It offers many of the capabilities you would expect from a cloud management interface, such as VM self-service provisioning, dynamic workload management, multi-tenancy and snapshots.
CloudStack also supports network management for VLANs and security groups, as well as virtual routers, firewalls and load balancers. It also includes a billing tool.
The software will run on a variety of Linux hosts. It also supports Windows and Linux guest operating systems.
OpenNebula is a set of open source cloud tools. 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 a variety of scripting mechanisms, such as OneFlow. The off-premises public cloud provider could be a commercial cloud service provider such as AWS, or the enterprise could have an on-premises, private cloud running a different OpenNebula instance.
With many vendors supporting its development efforts, OpenStack has become one of the most common open source cloud tools. Its robust cloud platform offers most of the necessary features to build a hybrid cloud. The OpenStack ecosystem includes many different management tools, which help reduce the complexity of tying the different pieces of the technology together. While OpenStack doesn't come with vendor support, organizations can choose to deploy a commercial, managed OpenStack distribution for additional deployment and management support.
OpenStack builds on top of a variety of hypervisors and has interfaces to public cloud platforms. It is evolving rapidly, and has a number of different options for cloud compute, networking and storage resources. The Project Navigator tool for OpenStack will give you a sense of its scope and utility.
Understand open source cloud tools before hopping on board
When choosing a cloud tool, both open source and proprietary, talk to customers who already use them. Proprietary tools for building and managing clouds are often no further along than their open source counterparts -- and the open source cloud tools are free. While supporting these tools can be a challenge, open source technology reduces vendor lock-in risks.
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, or continue to evolve on their own.
OpenStack challenges remain despite container push
Lessons learned from an AWS and OpenStack hybrid cloud
Overcome these three hybrid cloud management challenges