Day 3 - Virtual Machines

An Analogy for Virtual Machines

  • Consider you have bought 2 acres of land and built a house on it

  • You realized that your house and all other resources combined, takes up only 1 acre

  • So, you built a house in the remaining 1 acre and rent it to a family

  • This is an example of efficient usage of available resources, which is the core concept of Virtualization

Note

  • Server is just a computer that hosts an application, so that the clients can access it through the internet

Before Virtualization

  • Consider your team of developers created an application

  • An application requires isolated environment and you need to serve multiple customers

  • So, you deploy the copies of the application into 10 servers and each server has 50 GB RAM

  • Later you realized that the application needs only 4 GB RAM, and the resources of the server are being under-utilized

Virtualization

  • Virtualization is the process of creating virtual machines from a physical machine

  • Virtual machine is actually a software based computer, that utilizes a logical partition of the resources from a physical machine

  • Note that each Virtual Machine has it's own Operating System

  • The logical partitioning, isolation of the environments, configuration of OS, etc is managed by a software called as Hypervisor

After Virtualization

  • Now instead of using multiple servers that results mostly in under utilization, we can use Virtualization to use lesser number of servers and use available resources efficiently

  • This concept of Virtualization eventually lead to Cloud Computing, which is one of the game changer in the Software Industry

Virtualization in Cloud

  • The Cloud Service Providers buy a large set of powerful computers across the globe

  • By virtualization, they provision the Virtual Machines with desired configuration in desired location, over the cloud

  • This service is called Elastic Cloud Compute in AWS, Google Compute Engine in GCP Cloud