While users of cloud computing services have a simplified experience, providers of these services must be proficient in a variety of complex hardware and software technologies. As with any popular concept, the buzz associated with the cloud computing model has led to a wide variety of products from every major IT vendor. This section provides a discussion of a sampling of these and where they fit within an integrated cloud computing solution.
Blade servers are a popular component of cloud computing infrastructures. Their architecture allows cloud computing providers to economically expand their capacity as needed by simply adding blades into existing chasses. The architecture of blade servers allows a much larger number of servers to be hosted in standard data center equipment enclosures maximizing the use of floor space. The blade chassis also allows the hosted server blades to share a common set of interfaces significantly reducing the amount of network cabling and access interfaces both in each enclosure and across the data center infrastructure.
Virtualization technology is a core component of cloud computing infrastructure. Examples of virtualization products include VMWare and Citrix XenServer. With the use of virtualization, a single physical server can host dozens of virtual servers, significantly reducing the physical network and environmental infrastructure required in data centers. The VMWare example depicted above shows the 22 virtual servers and 2 workstations installed on a single Dell server. Virtualization similarly facilitates the expansion of additional server capacity as it is needed to meet customer needs.
With virtualized servers a cloud provider significantly reduces their investment, operation, and maintenance costs for data center hardware. With virtualization, dozens of virtual servers are hosted on each physical server saving an order of magnitude in servers, networking equipment, cabling, enclosures, data center floor space, power, cooling, and associated services.
Storage technologies are applicable to Storage Cloud applications. Network storage systems are an essential component of cloud computing infrastructures. A variety of architectures are popular ranging from traditional vendor storage systems to a new generation of open-storage technologies such as Backblaze's innovative high-density storage chassis. These network storage products and technologies are designed to provide scalable large capacity storage at competitive costs. These designs allow cloud computing providers to economically expand their capacity as needed by simply adding storage appliances into existing infrastructures.
Hadoop technology is applicable to the Data Cloud applications. The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using a simple programming model. It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. Rather than rely on hardware to deliver high-availability, the library itself is designed to detect and handle failures at the application layer, thereby delivering a highly-available service on top of a cluster of computers, each of which may be prone to failures.
Hadoop MapReduce is a programming model and software framework for writing applications that rapidly process vast amounts of data in parallel on large clusters of compute nodes.
Cloud computation technologies are applicable to Data Clouds. OpenStack is an open source software initiative to develop a cloud computing platform that is simple to implement and massively scalable. OpenStack was started by Rackspace and NASA. OpenStack is licensed within the Apache 2.0 open development process and includes a publicly available open source code repository built to open standards.
High availability (HA) technologies are applicable to all cloud solutions. Providers of these solutions must ensure as part of their design and operation that their solutions are continuously available for their customers, even when components fail. This availability must be designed into the system from the beginning, such as through the use of products like VMWare where high availability (HA) is a built-in feature. When a physical host running VMWare ESX or ESXi fails, the VMWare Management systems will automatically migrate the assigned virtual machines to a different physical host within the cluster.
Cloud management systems are applicable to all cloud solutions, since the fundamental tenet of the cloud computing model is that the service provider retains full life-cycle responsibility for the cloud service. The service provider is responsible for designing, implementing, provisioning, and monitoring their system. Concerns include the availability and performance of their systems and assessments of capacity. Additional resources are brought on-line as needed to replace failed components or to increase capacity to meet customer demand.