The Cloud introduction article describes the layers and basic functionalities of cloud computing.
When cloud computing services are delivered, the user does not necessarily know the type of hardware used or the location of the data center. The services may be delivered from many computers spread across multiple data centers. All cloud services are delivered over a network connection.
Cloud computing services can be delivered to individuals or to corporate or government entities.
Individual services such as Google Docs or Facebook are offered free of charge. Other services that are delivered by Amazon’s EC2, Microsoft Azure or other Web hosting companies are not free of charge.
When supplied to a corporate or government entity, cloud computing services are provided based on the client’s consumption, so there is no need to make a large up-front investment. Organizations are freed from the requirements of owning and operating the hardware and software required, as well as the associated personnel.
By storing data on a network, individual users and large organizations no longer need to maintain storage on their computers, laptops, or mobile devices. This model eliminates the possibility of data being lost due to stolen or misplaced devices. Cloud hosted applications also require less memory and storage on the user’s computer and even consume less energy. Finally, the distributed nature of cloud computing ensures access to applications, data and processing resources from any location with access to the Internet.
When an individual or a corporation decides to utilize cloud computing resources, they are trading control for simplicity. With their applications and data being hosted on computers in unknown locations, they have to trust that their provider will ensure the required performance, reliability and security. Some individuals and organizations are reluctant to surrender control of the hardware and software used to access their most important applications and data.
Cloud layers overview
There are three different service layers that are used to specify what is being provisioned, Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS).
Additionally there are three further layers that are not provided as user services. The hardware layer and the virtualization layer are owned and operated of the cloud services provider while the client layer is supplied by the end users.
The hardware layer
The hardware layer represents the physical hardware that provides actual resources that make up the cloud. Since, by definition, cloud computing users do not specify the hardware used to provide services, this is the least important layer of the cloud. Hardware resources are often inexpensive and not fault tolerant. Redundancy is achieved simply by utilizing multiple hardware platforms, while fault tolerance is provided by other layers so that any hardware failure is not noticed by the users.
The virtualization layer
Often referred to as the infrastructure layer, the virtualization layer is the result of various operating systems being installed as virtual machines on a hypervisor. Much of the scalability and flexibility of the cloud computing model is derived by the inherent ability of virtual machines to be created and deleted at will.
Infrastructure as a Service layer (IaaS)
Providers : Amazon EC2, Microsoft Azure, Google Compute Engine
IaaS manager examples :
Apache CloudStack, OpenStack, Eucalyptus, OpenNebula, Rackspace Cloud, ownCloud …
The infrastructure layer is built on the virtualization layer by offering the virtual machines as a service to users. Aside from the virtual machines/servers (compute), the infrastructure layer offers also virtual storage and virtual network as a service. IaaS customers can create and remove virtual machines at will. This eliminates the need to procure and operate physical servers, data storage systems or networking resources.
Clients are billed for infrastructure services based on what resources are consumed.
Platform as a Service layer (PaaS)
Providers : Amazon (AWS), Microsoft Azure, Google App Engine …
PaaS manager examples : Apache Stratos, Cloud Foundry, Deis, Heroku
The platform layer rests on the infrastructure layer’s virtual machines. The platform also guarantees load balancing and scaling in a transparent manner to the cloud user. There is no need to manage the underlying hardware and virtualization layers.
Users of this platform create their own programs which are hosted by the platform services. These platforms typically are restrictive and require the hosted applications to strictly adhere to certain specialized Application Programming Interfaces (API), frameworks and programming languages. The platform infrastructure will come with pre-installed developer tools like Apache, MySQL, Ruby, LAMP Stack, Dokku and GitLab, etc.
Clients are billed for platform services based on what resources are consumed.
Software as a Service layer (SaaS)
Software as a Service consist of complete applications that do not require development. Such applications can be email, customer relationship management and other office productivity applications.
Software as a service, such as email, is offered directly to consumers and is often provided for free. Enterprise services can be billed monthly or by usage.
The client layer
While this layer is not a cloud computing service, it is an essential part of the model. The client layer acts as the user interface to which cloud computing services are delivered. The client can communicate with the cloud services via the command line or via the web browser (GUI). Access to the client layer can be done by personal computers, web browsers, mobile devices and even telephones.
Basic cloud technology
host 1 host 2 host 3 host…
(OS) (OS) (OS)
hypervisor hypervisor hypervisor
VMs… VMs… VMs…
The hypervisor can run multiple Virtual Machines (VMs) also called guest machines, guest OSes.
Hypervisor examples : Xen, VitualBox, KVM, VMware, ESX, OpenVZ …
Basic cloud model
server host 1 host 2 host 3 host…
OS (OS) (OS) (OS)
cloud manager hypervisor hypervisor hypervisor
______________________VMs… VMs… VMs…
The cloud manager is the heart of the cloud functionality.
It interacts with the hypervisors in order to manage and organize the Virtual Machines, virtual network and virtual storage. It also shares and balances the resources. The cloud manager uses a distributed architecture, whereas agents can run on the hypervisor and some service processes are running on the centralized cloud manager.
The cloud manager is basically for :
1) the client‘s access in order to :
– create a VM
– define the needed resources (compute, storage, network)
– have access to the VM
2) the admin‘s access for :
– orchestration (cluster deployment, patch deployment, etc)
– management (monitoring, configuration, etc)
– automation (shell access, load balancing, etc…)
For a host to function in a cloud, you must do the following :
– Install the hypervisor software on the host
– Assign an IP address to the host
– Ensure that the host is connected to the cloud management server
CloudStack basic model (IaaS)
Servers (CPU + memory) Network (switches) Storage (servers)
Compute controller Network controller Storage controller
—————————————– Cloud manager (server) —————————-
—————————————– Cloud API ————————————————
. . . . . . . . . . Console (CL) Browser (GUI) API (REST) . . . . . . . . . . . . . . .
– get post updates by connecting to our RSS feed
– get post updates by subscribing to our e-mail list
– share on social media :