Cloud computing is still immature, and the implications of supplying and consuming clouds (hybrid, private, and public) is just beginning to become clear. There are two distinct businesses around cloud computing: provider and end-user. The cloud computing provider needs technologies to create the necessary infrastructure. Operating system and virtualization software vendors such as Canonical, Citrix, Microsoft, Novell, Red Hat, VMware, and others supply these technologies. The cloud user gets a virtualized server/storage environment from providers.
Technologies that are focused on providing inter-cloud capabilities and eliminating vendor lock-in are needed to make clouds more useful to customers. Commercial Linux vendors, Canonical, Novell and Red Hat, have entered the cloud computing space offering a means to create infrastructure and manage data. They believe in using open standards to create cloud technologies.
Linux is dominant in the current collection of cloud computing providers. Almost every cloud provider offers Linux as the feature operating system or uses it in supporting capabilities. Amazon Elastic Compute Cloud and Google App Engine are two of the leading cloud providers and both use the Linux kernel. A Linux Foundation white paper provides a more complete list of clouds powered by Linux along with a number of reasons why Linux is the operating system of choice for many cloud providers.
IT managers have various choices around clouds:
- Purchase services from public cloud providers
- Purchase external private clouds from providers, such as Amazon and Rackspace
- Build internal clouds.
Vendor's cloud computing options
How are the Linux vendors helping you and the cloud providers? Of the three Linux vendors listed earlier, Novell is the least involved in cloud computing. Novell believes that many layers of the compute stack will change to support the move of applications/workloads to the cloud. The company has said that it will not invest in all of the stack changes. If you want to build your own cloud, you can start with SUSE Linux Enterprise Server with Xen from Novell, but not much else is available. If you want to create appliances ready for Amazon EC2, Novell offers the SUSE Appliance Program for ISVs and IT managers.
Novell, however, is attacking one of the areas of most concern to cloud users: security. Novell has created Novell Cloud Security Service (NCSS) to provide security, access, and compliance. NCSS is a Web-based identity and access management service (essentially a repackaging of Novell's identity and access management product that runs on Linux and Windows) that makes IaaS, PaaS, and SaaS more secure. It acts as a trusted identity broker between users and cloud providers and is based on open standards. NCSS has out-of-the box integration for most identity management solutions such as CA, IBM, Microsoft, Novell, and Oracle.
Red Hat's view of cloud computing is that until cloud standards are established and accepted by cloud providers, users are likely to limit their use of cloud computing, and must accept the possibility of vendor lock-in. Red Hat has engaged in open source projects to try to make cloud use widespread. In November 2009, Red Hat released its Red Hat Enterprise Virtualization (RHEV) for Servers and clouds with management tools that can be used for servers in small businesses and in large cloud deployments. Red Hat's goal is to provide RHEV Hypervisor, RHEV Manager for Servers, and tools that make the use of various clouds transparent to the user. The RHEV Hypervisor uses KVM technology designed for Linux and Windows virtual servers.
In addition, Red Hat created two open source cloud-based projects: Hail and deltacloud. The objective of Hail is to provide low-level cloud services for cloud-based application development. These cloud services can include: key/value lookup tables and indexing, producer/consumer queues, distributed "share nothing" data storage, batch work queuing, etc. Deltacloud is an attempt to provide a common API for clouds by abstracting away differing cloud APIs. With deltacloud you do not have to target a single cloud for your applications/workloads, instead the deltacloud portal connects to various clouds from a single interface. Different drivers are provided for various clouds thereby making underlying cloud providers almost transparent to end-users. While timely, Red Hat may not have too much influence with the large cloud players such as Amazon, Google, IBM, Microsoft, RackSpace, and VMware to effect widespread interest in the projects.
In addition, Red Hat offers Red Hat Enterprise Linux and JBoss Enterprise Application Platform on Amazon's EC2 as a subscription service. End users need accounts with Amazon and Red Hat and are charged a fixed monthly fee and use-based fees for your use of Red Hat software on EC2. The company has also joined forces with Verizon for a cloud-based computing as a service (CaaS) providing Red Hat Enterprise Linux as one of the OS platforms available for selection by Verizon CaaS users. CaaS enables you to manage IT resources, including server, network and storage. Customers can run any of the more than 3,000 applications certified to run on Red Hat Enterprise Linux.
From the Linux market, Canonical's Ubuntu is the only Linux distribution positioned as a cloud operating system. The Ubuntu 9.10 Server Edition, is a "cloud" release. With this release, Canonical provides Ubuntu Server Edition on EC2 and the Ubuntu Enterprise Cloud (UEC) powered by the Eucalyptus open source cloud framework. Eucalyptus enables you to quickly create an internal cloud infrastructure by transforming existing data center resources such as servers, networks and storage systems into a cloud that is controlled by your local IT managers.
UEC exposes the same cloud computing API as Amazon's EC2. Simplified tools needed to start setting up an internal cloud are included for free with UEC. Using the same cloud computing API as Amazon EC2 is key as the Amazon EC2 API a de facto standard for cloud interfaces. With UEC, you can create your own internal clouds and move virtualized applications (using KVM or Xen) between your internal cloud and EC2. While the UEC technology is new and not yet ready for production workloads, it can be used as a tool for experimenting with internal clouds. The EC2 API allows you to immediately begin experimenting with cloud computing and then move virtualized workloads between your UEC-based internal cloud and Amazon EC2. It allows deployment of solutions in an UEC-based internal cloud or externally on Amazon EC2 and provides the ability to explore the organizational and process changes needed to incorporate internal and public clouds in your data center plans.
Cloud offerings still new
Many of the capabilities and tools offered by the Linux vendors, and non-Linux vendors, are relatively new (less than a year old), untested, and incomplete. For example, Red Hat provides ISVs, IHVs and users with the opportunity to virtualize workloads using KVM and Xen and then move them between on-premises virtualized environments and public clouds such as Amazon EC2 using RHEV Hypervisor and RHEV Manager for Servers. But the RHEV offerings are new, and as yet remain untested in real production environments (and are only supported on Windows 2003 servers). In addition, there is no certainty that these RHEV components will be widely used because KVM does not have widespread use.
Canonical's UEC is a good first attempt by a Linux vendor to facilitate the creation of internal clouds, but it has few, if any, of the automation tools necessary to create and support a "complete" cloud environment. Automation in the context of cloud infrastructure includes inventory management to keep track of all IT storage, tabulation to keep track of which operating systems are running on which machines, how many physical devices are attached to servers, and the capacity available at any given time, and so on. Automation of workflow and orchestrating tasks such as placing a new server in the load balancing queue, placing a new server in the firewall rule set, ensuring that the correct versions of operating systems are installed on the correct servers, patching operating systems, etc. are additional types of automation required for cloud computing infrastructures. UEC, nor Amazon EC2, come close to providing this degree of automation, but work on UEC is moving in that direction.
ABOUT THE AUTHOR: Bill Claybrook is President of New River Marketing Research, a marketing research firm that focuses on Linux, open source software, and commercial grid computing.