Amazon's Elastic Compute Cloud and Other IaaS Service Providers
Currently, the most high-profile IaaS (Infrastructure as a Service) provider in cloud computing is Amazon Web Services, with its Elastic Compute Cloud (Amazon EC2). Amazon didn’t start out with a vision to build a big infrastructure services business. Instead, the company built a massive infrastructure to support its own retail business and discovered that its resources were underused.
Instead of allowing this asset to sit idle, Amazon decided to leverage this resource while adding to the bottom line. A funny thing happened after this relatively modest plan was put in place: Customers began to find that it could snowball into something big.
Amazon offers the following services to its customers today:
Computing power: Customers can rent enough computing power to run or develop their own applications.
A web services interface: Through this interface, customers can create virtual machines that meet their requirements for CPU power, memory, and storage space.
Control over the virtual operating environment: Customers enjoy the same control they would if they were operating out of their physical data centers.
Elasticity of the service offering: Users can dynamically add a new instance or terminate an instance as their needs change.
Customers choose from a menu of options to begin to use Amazon’s EC2. To use EC2, you must be prepared to answer the following types of questions:
Which instance size do you require for your Virtual servers — micro, small, large, or extra large?
What are your needs in terms of CPU, memory, and storage?
How do you want to back up your virtual machine?
Are you prepared to agree to the rules specified in Amazon’s service-level agreement?
Amazon has been the top dog in IaaS for a number of years, but the market is changing fast. It’s inevitable that emerging organizations and companies want a piece of the action. Open source options are emerging as very important in this market. The following sections provide an overview of the emerging players in both public and private cloud IaaS.
Eucalyptus Systems is a software company intended to help customers accelerate their movement into a hybrid cloud environment. Therefore, it offers services to create a private cloud. To support public cloud services, Eucalyptus uses Amazon’s Web Services APIs.
The initial software behind the Eucalyptus solution was developed as open source at the University of California, Santa Barbara. Eucalyptus continues to support an open source community while at the same time offering an enterprise version of its software.
Through a partnership with Amazon Web Services (AWS), Eucalyptus has made itself particularly interesting for companies wanting to implement a hybrid cloud. Amazon partnered with Eucalyptus by providing the company with access to its AWS APIs. This means that an organization that develops a private cloud using Eucalyptus has built-in compatibility with AWS offerings. This allows companies to more easily create and move workloads between their private cloud and the public cloud.
OpenStack is implementing an open cloud platform aimed at either public or private clouds. The project was initiated jointly by Rackspace and NASA. While the organization is tightly managed by Rackspace, it moved to a separate OpenStack foundation. Although companies can leverage OpenStack to create proprietary implementations, to you, the OpenStack designation requires conformance to a standard implementation of services.
The initiative has begun gaining considerable support from customers and vendors. At this time, more than 150 vendors, including Dell, HP, Intel, AMD, and Cisco, are using OpenStack as the foundation for their cloud offerings. In essence, OpenStack is an open source IaaS initiative built on Ubuntu, an operating system based on the Debian Linux distribution. It can also run on Red Hat’s version of the Linux operating system.
OpenStack’s goal is to provide a massively-scaled, multi-tenant cloud specification that can run on any hardware. OpenStack is building a large ecosystem of partners interested in adopting its cloud platform. A primary goal of OpenStack is to provide an independent orchestration layer that supports all of the major hypervisors, including VMware’s ESX and KVM, and Microsoft’s Hyper-V. OpenStack’s services include
Nova: A computing service, this is the primary IaaS service. It’s written in the Python language.
Swift: An object storage service.
Glance: This image service provides a catalog and repository for virtual disk images. These disk images are mostly used in OpenStack Compute. Although this service is technically optional, any large cloud implementation will need this service.
Horizon: A dashboard service, this includes a web-based interface to support the OpenStack services.
Keystone: This is an identity service that provides authentication and authorization for OpenStack services, including a service catalog.
Quantum: This networking service provides an abstracting of networking connectivity through interfaces.
Red Hat’s CloudForms
Red Hat, one of the most important open source Linux and infrastructure companies, is expanding into cloud services. It created an open source IaaS to allow companies to build private or hybrid clouds with an open source initiative called CloudForms.
The CloudForms environment uses Red Hat’s JBoss Enterprise Middleware as a set of foundational services for its IaaS. CloudForms includes IaaS tools such as self-service provisioning, application management, configuration management, and deployment and management that allow services to move across environments. CloudForms also offers services to manage virtualization.