In this post, I have selected the Amazon EC2 cloud service as a good use case to illustrate the importance of cloud virtualization in IaaS cloud service model.
What is Virtualization?
According to Tech Target (2017), the “Virtualization is the creation of a virtual, rather than actual, version of something.” (Virtualization, 2017).
The concept of virtualization goes back to 1960s, but it was popularized by VMWare in 1999 when it was introduced to cheap Intel® hardware, which allowed anyone to virtualize a traditional computer with all its resources. The same model eventually extended from desktops and servers to also cover the network, storage, data devices, as well applications (through app virtualization – software encapsulation from the underlying operating system).
Figure 1 illustrates the main difference between traditional and virtual architecture.
Figure 1 – What is virtualization? (Virtualization, 2017)
Virtualization and the Amazon IaaS Cloud Service Model
The Amazon IaaS cloud service model is characterized by delivering virtualized computer infrastructure in the form of a service. A good example of the virtualization of Amazon AWS services is Amazon Elastic Compute Cloud (EC2), which is essentially an IaaS service that provides virtual servers based on the Xen hypervisor.
The diagram in Figure 2 shows the architecture of EC2 host virtualization. The diagram also shows the crucial role that hypervisor in virtualization itself. It acts as a virtual machine manager that sits on top of the host system where all of the customer virtual machines run. “The relationship of the hypervisor to the host operating system and to the virtual machine is one of the key distinguishing characteristics of the different virtualization systems.” (Amies, Sluiman, and Tong, 2017).
Figure 2 – Getting Started on AWS (Slideshare.net, 2017)
Another critical part of the entire process of virtualization in Amazon EC2 is Amazon Machine Image (AMI), which is also a virtual appliance. However, AMI is mainly responsible for creating on-demand virtual machines within the Amazon Elastic Compute Cloud. The diagram (Figure 3) is an illustration of the importance of Amazon AMI in the process of VM creation in Amazon EC2 and also shows how it generates the various EC2 instances on demand.
Figure 3 – Getting Started on AWS (Slideshare.net, 2017)
To tie all the knots, the diagram in Figure 4 demonstrates the high-level architecture of Amazon EC2 and the relation of EC2 instances to availability zones in various regions. We can also see how EC2 instances use the storage through either Ephemeral (temporary) or Elastic Block Storage snapshots stored in Amazon S3; and observe how CloudWatch monitors AWS cloud resources and how EC2 web traffic is load balanced as well as how it passes trough various security rules.
Figure 4 – Amazon Cloud Computing Architectures (Ganesan, 2012)
As we can see, Amazon Elastic Compute Cloud (EC2) would not exist without the virtualization which is right at the core of IaaS cloud model and the EC2 implementation at Amazon. Virtualization allows Amazon to run different types of virtual machines of various sizes on top of their hardware. It’s safe to say, that Amazon heavily uses virtualization through capabilities offered by Xen hypervisor and Amazon AMI. The huge bonus and advantage that comes through service-oriented architecture to a customer of EC2 virtualized services is the ability to control virtualization through a web interface, as well as to manage the entire system through API. The similar IaaS services to EC2 are public IaaS offerings such as Compute Engine from Google or Microsoft’s Azure; or on-premise products such as Eucalyptus or OpenStack.
“In summary, cloud computing leverages virtualization technology to achieve the goal of providing computing resources as a utility.” (Zhang, Cheng, and Boutaba, 2010).
Zhang, Q., Cheng, L., & Boutaba, R. (2010). Cloud computing: state-of-the-art and research challenges. Journal of Internet services and applications, 1(1), 7-18.
Virtualization (2017). What is virtualization? – Definition from WhatIs.com. [online] Available at: http://searchservervirtualization.techtarget.com/definition/virtualization [Accessed 11 Jun. 2017].
Amies, A., Liu, G., Sluiman, H. and Tong, Q. (2017). Virtualization | Infrastructure as a Service Cloud Concepts | InformIT. [online] Informit.com. Available at: http://www.informit.com/articles/article.aspx?p=1927741&seqNum=3 [Accessed 11 Jun. 2017].
Ganesan (2012). Mobile Cloud Computing Architectures. [online] Slideshare.net. Available at: https://www.slideshare.net/harishganesan/architecture-mobile-cloud-computing-aws-ec2 [Accessed 11 Jun. 2017].
Slideshare.net. (2017). Getting Started on AWS . [online] Available at: https://www.slideshare.net/AmazonWebServices/getting-started-on-aws-67093877 [Accessed 11 Jun. 2017].