Fundamentals of Clouds - E2 : "VIRTUALIZATION"
Rahul Rathore
Industry 4.0 & Digital Transformation | Co-Founder & Technopreneur | Driving Innovation in IT/OT and Smart Solutions
Hi Friends, In first episode of the “Fundamental of Clouds”, I discussed about few basic features and benefits of the Cloud Computing System. In future, we will explore more about the applications, implementations, designing and deployment of Clouds for your usage. Today, I would like to mention about “Virtualization”, which is the core enabling technology behind today’s Cloud Computing system. Virtualization along with advancements of internet communication, became the root power behind everything possible in “Cloud Computing”. Though process of “Virtualization” is more important subject for the people who are behind the data centers development and making infrastructure for clouds; I understand it must also be known to the people who are using, designing, deploying the cloud infrastructures for their business or scientific computing needs.
What is Virtualization ??
- In computing, Virtualization refers to the act of creating a virtual (rather than actual) version of something; including virtual computer hardware platforms, storage devices, and computer network resources etc.
- The framework divides a single resource (hardware, storage, network etc.) into one or more execution environments, all of which acts logically like independently working hardware or devices.
- Even something as simple as partitioning a hard drive is considered virtualization because you take one drive and partition it to create two or more separate hard drives.
- Devices, applications and human users are able to interact with the virtual resource as if it were a real single logical resource.
- So, “Virtualization of a Server” means portioning of a single physical server into multiple smaller virtual servers which act logically like independent servers.
- This concept of “Virtualization” is not limited only to servers, but also for other IT resources like Storage, Network, OS and many more devices or systems. We will see it frequently in Cloud Computing.
- Each virtual resource can act and interact independently with other devices, applications, data and users as though it were a separate physical resource.
- Different virtual machines can run different operating systems and multiple applications while sharing the resources of a single physical computer.
- Since each virtual machine is isolated from other virtual machines, if one crashes, it doesn’t affect the others.
- Most important advantage of Virtual Resource is that, it can be used to consolidate the workloads of several underutilized resources to a single resource. The benefit comes from saving the upfront and regular costs of : Hardware, Operating Environment, Management, Infrastructure Administration.
PROCESS OF VIRTUALIZATION :
By using specially designed software (known as Hypervisor), an administrator can convert one physical server into multiple virtual machines. Each virtual server acts like a unique physical device, capable of running its own operating system (OS).
Hypervisor (which means “Supervisor of supervisors”) software works as a “Virtualization Manager”. A Hypervisor could be a Software, Firmware, OS or Hardware; that creates and runs multiple virtual machines on a single physical server. The Computer or Server on which Hypervisor runs, is called a “Host Machine” or “Host Server”. And the virtual machines created by Hypervisor are called “Guest Machines” or “Guest Servers”.
The Hypervisor presents the guest machines with a virtual operating platform and manages the execution of guest OS. By this Virtual Machines can have different OS (Linux, Windows, MacOS etc.), irrespective of the OS of the Host Servers.
In theory, you could create enough virtual servers to use all of a machine's processing power, though in practice that's not always the best idea.
BENEFITS OF VIRTUALIZATION :
CONSOLIDATION : Traditionally organizations use independent physical servers for separate applications, database, web server needs. Most of the applications only use very small capacity of the servers most of the time. However, their capacities are designed for their peak loads (which doesn’t happen very often). So, most of the time the resources remain under utilized and hence resulting into unused budgets and over engineered designs. Also having higher maintenance, real estate and administrative costs. By “Virtualization”, we can consolidate several physical servers into single physical server, running multiple “Virtual Machines” independently. For modern business models, it could be very high cost savings.
REDUNDANCY : Redundancy of IT infrastructure is an important operational need for most of the organizations. It means running the same applications on multiple servers. It is a fail-safety method, so that if a server fails technically, another server running the same application can immediately take it’s role. This is to ensure the up-time of their business service without interruptions or break-downs. To attend this needful redundancy, we can use two optimized Virtual Machines for redundancy, instead of two separate physical servers for the same purpose. However, it is important to note during designing, that no two redundant virtual machines should be on same physical server (to protect service during physical failures/damage of the server). See below diagram for an example.
EXPERIMENTATION & INNOVATION : For new developments and experimentation to improve a business or scientific system; many times programmers and engineers have to test new applications in different OS & environments. For these experimentation, we can create virtual machines on existing servers, instead of buying dedicated physical servers. Since Virtual Machines are independent to other virtual machines or servers; we can run new applications without worrying about their impacts on existing workloads or applications.
SUPPORT FOR LEGACY APPLICATIONS & SYSTEMS : With time and life cycle announcements; many servers and computing resources become obsolete in market (along with free or paid supports), and are replaced by resources of latest technologies. On the other side, few organizations do have many applications and practices which are designed and performing on the old systems, and becomes sometime unstable with changes in the hardware, and environment. Such legacy applications can be run on the virtual machines in the defined virtual environment, despite being worrying about obsoleting of physical servers in market. This gives enough time and flexibility to business and scientific organizations to have enough time to update their systems and applications.
Below is a reference report of some quantitative benefits of Virtualization for common business structures.
In this episode of “Fundamentals of Clouds” series, I tried to highlight about the concept of Virtualization, and its features and benefits. Virtualization is the pillar technology behind today’s cloud revolution, and there will be enormous changes in the future of clouds with next scientific versions of Virtualization and Hypervisor software. In this topic, I tried to highlight the role of Virtualization behind all the cloud platform. I will discuss more about it’s utilization in next topics about Virtual Machines, Cloud Components, Cloud Architecture etc.
Best Regards,