Content
In the Core of the Cloud
by Tomaž Klančnik, Customer Support Engineer at NIL Data Communications
Introduction
Do you want to understand what cloud computing is all about? Do you want to benefit from cloud computing? As a service provider and/or operator, you can provide optimized and innovative cloud computing services only with a thorough understanding of the core infrastructure of the Cloud – the virtualized data center. This article explains the architectural components of the data center and their roles in various cloud service categories.
There is no universally accepted definition for the term “cloud computing.” Many definitions are available, mainly given by people in research or technology areas. In this article, cloud computing will be viewed as a large-scale distributed-computing paradigm that enables a user to consume compute, network and storage resources as on-demand services. The resources are virtualized and allocated to users as managed services; these services are elastic (dynamically scaled up or down) and tend to be billed on a pay-as-you-go basis.
Cloud computing is built on research in the fields of grid computing (More reading about grid computing: Foster, I. and C. Kesselman. Computational grids. Proceedings of the Vector and Parallel Processing (VECPAR), pp. 3–37; Springer Berlin, 2001) and utility computing (More reading about utility computing: Yeo, C. S. and R. Buyya. A taxonomy of market-based resource management systems for utility-driven cluster computing. Software – Practice and Experience, 36(13), pp. 1381–1419; 2006).
Grid computing has been around for more than a decade, helping users to accomplish large compute-intensive tasks. Utility computing introduced the idea of using computing power on a pay-as-you-go basis.A cloud supplier (or vendor) is an organization that offers cloud resources. The number of companies that offer cloud solutions is increasing rapidly.
A data center is a collection of computer systems that can comprise up to thousands of computers. To use cloud computing technology, resources available at the data center have to be abstracted and turned into services; these services are provided to data center customers as virtual machines.
Deployment Models
Cloud computing defines three deployment models:
Public cloud – a cloud available to users from a third-party service provider via the Internet. The public cloud provides an elastic, cost-effective way to deploy solutions. The term “public” does not mean that users’ data is publicly visible; public cloud suppliers usually offer an access control for their consumers. The use of public clouds can be quite inexpensive.

Figure 1:
Public Cloud
Private cloud – a cloud hosted by an organization inside that organization’s firewall. Private clouds offer many of the advantages of a public cloud environment; for example, being elastic and service-based. In a private cloud service, data and processes are managed within the organization. There are no additional security regulations, legal requirements or bandwidth limitations, which can be present in a public cloud environment. In addition, by using a private cloud, supplier and users have greater control of the infrastructure and improved security, since user access and the networks used are restricted.

Figure 2:
Private Cloud
Hybrid cloud – a combination of a public cloud and a private cloud that work together. Users in this model normally keep business-critical data and services in their control, outsourcing less-critical processing and information to the public cloud supplier.

Figure 3:
Hybrid Cloud
Note:
Since the number of cloud suppliers is increasing rapidly, a cloud resource broker that acts as a third party between resource providers and resource consumers can simultaneously allocate computational resources from many suppliers to a user. The broker gathers cloud suppliers’ information and serves as an information system for the user. It can direct the user to a supplier or can act on behalf of a supplier, thus assisting the user in her search and reducing search time.
Cloud Computing Services
Cloud computing suppliers can offer various cloud service categories:
Software as a Service (SaaS) – also known as Application as a Service (AaaS), a way of deploying an application over the Internet so that users can use the product without installing the application on local machines. Users run the software remotely via the Internet.
Note:
Since the number of cloud suppliers is increasing rapidly, a cloud resource broker that acts as a third party between resource providers and resource consumers can simultaneously allocate computational resources from many suppliers to a user. The broker gathers cloud suppliers’ information and serves as an information system for the user. It can direct the user to a supplier or can act on behalf of a supplier, thus assisting the user in her search and reducing search time.
Platform as a Service (PaaS) – a way of developing and deploying applications online as a service to developers. This category offers an additional layer of abstraction above the virtualized infrastructure. All of the software required for creating an application, such as specific programming languages or application programming interfaces (APIs), is available online, along with the compute and storage resources.
Infrastructure as a Service (IaaS) – a way of providing hardware (storage and compute) resources and associated operating systems’ virtualization technology as services to users over the Internet. Users are supplied with compute and storage resource capacity via virtualization, allowing physical resources to be assigned and split dynamically. Users have to deploy and manage the software services themselves.
Note:
These three categories of services are tiered from the bottom up (Figure 4). This means that a PaaS provider uses the IaaS provider in order to function; alternatively, the PaaS provider can deploy and use its own IaaS.

Figure 4:
Cloud Services
Cloud Computing Architecture
A four-layer architecture for cloud computing has been proposed (Foster, I. et al. “Cloud Computing and Grid Computing 360-Degree Compared.” Piscataway, NJ, USA: IEEE, 2008). The key element in comparing cloud computing architecture to other architectures, such as grid architecture, is the inclusion of a unified resource layer.
The fabric layer contains compute resources, storage resources and network resources. The unified resource layer contains resources that have been abstracted by virtualization. This layer presents the idea of resource virtualization offered by the cloud. The resources are converted to services at this layer. Infrastructure as a Service is one example of the services offered by the cloud. The platform layer adds on a collection of specialized tools, middleware and services. These tools can range from a cloud operating system to specialized software. The application layer contains applications that execute in the clouds. The application layer is connected directly to the unified resource layer.

Figure 5:
Cloud Architecture
Resource Virtualization
To understand cloud architecture from the bottom up, we have to begin with the technology that supports the provisioning of resources, both physical and virtual, in cloud infrastructure. The current state-of-the-art technology in cloud computing is focused on the virtualization of resources at the lowest level.
Note:
The main technology enabling virtualization is the hypervisor, a virtual-machine manager that partitions a physical host transparently via emulation or via hardware-assisted virtualization through a layer of abstraction.
This design provides a simulated hardware environment, known as a virtual machine, in which a guest operating system can execute. There are several benefits of using virtual machines. When several servers are used inefficiently, hardware can be merged and provisioned as needed, enabling the organization to reduce the cost of hardware. Virtual machines can easily be migrated from one physical location to another as the need arises. There are no limitations on the availability of software, which can be installed into virtual machine images.
There are six types of virtualization:
Full virtualization – simulates enough hardware to allow an unmodified guest operating system to run in isolation.
Hardware-assisted virtualization – utilizes the additional hardware capabilities, in the form of virtual-machine extensions within the host processor's instruction set, to accelerate and isolate context switching between processes running on different virtual machines.
Partial virtualization – involves the simulation of most (but not all) of the underlying hardware of a host and supports resource sharing, but does not isolate guest operating system instances.
Paravirtualization – simulates all or most hardware by providing software interfaces or APIs that are similar to those of the underlying hardware of the host. The operating system must be modified to be able to run on a hypervisor instead of basic hardware.
Hybrid virtualization – combines the principles of hardware-assisted virtualization and paravirtualization to obtain near-native performance from guest operating systems.
Operation-system-level virtualization – achieved through multiple isolated user-space instances. A disadvantage of this virtualization technique is that the guest operating system of the virtual machine must be the same as that of the host, but the guests run at native performance.
Creating virtual machines that run on physical hosts provides two benefits: reducing hardware maintenance cost, and minimizing lost revenue due to downtime. These benefits have pushed virtualization into the light as a new technological requirement for the cloud paradigm. This approach has only recently become feasible because of performance enhancements that have been made to virtualization hardware and software technology. These enhancements have improved the performance of virtual machines to near-native performance of the virtualized resources exposed within a virtual machine, through a reduction in the overhead associated with switching physical resources between the virtual machines, and by taking advantage of the improvements in virtualization-enhancing hardware.
New Data Center Architecture
Current data centers are already leaning toward the virtualization of compute, network and storage resources, the technological foundation of a cloud. If we look at the cloud architecture from the data center’s point of view, we can illustrate the key change of a new data center architecture. The unified resource level (refer to Figure 5) can be presented as a joined combination of virtual-infrastructure management and virtual-machine management. Virtual-machine managers or single-node hypervisors enable virtualization by providing simple primitives (such as start, stop, suspend) for managing virtual machines on a single host. Virtual-infrastructure management, on the other hand, provides primitives to schedule, manage and optimize resources among virtual machines across multiple physical hosts. This technology comprises the cloud computing paradigm.
As described earlier, full virtualization can separate the entire software environment from its underlying hardware infrastructure.
Note:
Virtualization can combine multiple server, storage and network resources into shared pools of resources that can be delivered dynamically and reliably to applications as needed.
This is how it is possible to build a computing infrastructure with high levels of utilization, availability, automation and flexibility.

Figure 6:
New Data Center Architecture
Advantages of the New Architecture
This new architecture that comprises cloud computing provides many benefits, compared to the classic data center infrastructures:
Higher IT cost-effectiveness through the integrated virtualized infrastructure.
Higher productivity of IT staff due to the unified infrastructure.
Fast introduction of new services – the virtualization of hardware resources within the new architecture enables fast provisioning of production environments for new services, prototyping of new services and implementation of test environments.
Simpler infrastructure scalability – the new design enables assigning additional capacity to individual application processes within the existing infrastructure, with no need for hardware upgrades. If occasional upgrades are necessary, additional capacities are instantly available to all application processes that are using the infrastructure.
High reliability of critical processes – the architecture is designed as a supporting infrastructure for critical business processes and therefore contains highly reliable mechanisms based on the users’ requirements: from completely uninterrupted and error-resistant operation of servers and network services to protection against natural disasters via duplication of the entire data center to many geographical locations in order to support customer business continuity.
Unified and transparent security services – the virtualization of the data center can facilitate the execution of risk-reduction mechanisms. Sources that have never been separated due to high costs or complexity can implement unified security services that are available to all application processes. Unified security mechanisms existing within the infrastructure can be managed easily, providing a more even and complete implementation of controls in the wide range of company processes.
Easier maintenance – in the new architecture, systems, applications and their communication flows are executed on top of a logical infrastructure where most of the operational interventions can be performed without interrupting business processes. Within the new architecture, optimal and reliable operation of the infrastructure throughout its lifecycle is ensured, in cooperation with its owner. Prompt response and elimination of possible errors in operation, as well as tactical and strategic help in operational and development processes, are also ensured.
Simpler management – the architecture simplifies many management processes: the centralization of resources allows for easier inventory control, while the shift of some services to the data center (for instance, usage of virtualized workstations and installation of thin clients in the workplace) solves many problems with managing user desktops.
Conclusion
Cloud computing is an emerging information-technology infrastructure in which compute, network and/or storage resources are virtualized and accessed as a service. Redesigned data center architecture provides many advantages for users, service providers and operators by making use of virtualization. Virtualization enables dynamic growth, protection and movement of services, charged on a pay-as-you-go basis, as well as the consolidation and optimization of resources that are becoming a necessity for organizations.
Looking at the future, more organizations will adopt cloud services, and we can reasonably expect this trend to continue and grow. Redesigned data centers are a key element for this growth, since they represent a foundation for enabling cloud computing technology.
