Virtualization, Virtual Machines, and Hypervisors Explained in 10 mins Flat

by | Aug 20, 2020

hybrid cloud architecture, multiple clouds, cloud computing

Virtualization as a concept came into the mainstream with the advent of cloud computing. Yet computer engineers know that the concept itself isn’t new – it has been around since the early mainframe computers of the 1950s. Virtualization makes cloud computing possible today. But guess what? It’s also in your smartphone and laptop. Look at all the apps in your phone – the calculator, the music player, the note pad – these are virtualized versions of their physical counterparts that have been around for decades. In short, virtualization is the software equivalent of anything physical. Today physical computing components are all virtualized: servers, storage, networking hardware. So, what’s the big deal? Well, the obvious benefit is the huge cost savings because it enables the sharing of resources. It’s all managed by a service provider, so that takes away the headache of managing it, and we can go about focussing on our businesses. And then there’s scale – the ability to scale the infrastructure up or down on demand, without waiting for months, and without the need to invest in more hardware. Read on to find out more about Virtualization.

Hard disk virtualization

Before we go on, here is a popular example of virtualization. All of us have used a hard disk, because it is standard in desktops and notebooks. Well, look at the folder structure closely (in Windows File Explorer or Apple Finder), and you will see that the top of this structure has the letter ‘C’. That’s the secondary storage device (hard disk) labeled as the C-drive in your computer. What about ‘A’ and ‘B’? Well, the older PCs had removal storage called floppy disks. A desktop PC in the 1980s had two floppy drives labeled ‘A’ and ‘B’. The floppy has long gone the way of the dinosaur, and no one uses those anymore. So, if you add more hard disks in your PC they would be labeled as D, E, F, etc.  But that would be a costly affair, as each hard drive could set you back by a few thousand bucks (in Indian rupee terms). So, what do we do if we want to have additional hard disks? We take one large hard disk and partition it into logical drives. These logical drives are labeled D, E, F. In Drive-C, you install the operating system (essential) and the apps. Store all your documents in Drive D. And perhaps, you could store your photos and videos in Drive E. It’s one large physical drive with logical partitions. We have effectively virtualized the storage resource to utilize it more efficiently. That’s virtualization.

Partitioning of computing resources

Now take this concept a bit further and extend it to the whole machine. A computing resource has compute (the processor), software (the operating system), main storage (RAM), secondary storage (hard disk or solid-state memory chips), and networking. Even your smartphone has all that, though not a hard disk. You could take one physical server (compute resource) and slice all these components using virtualization – and share all this with multiple users or apps or services. Sounds like big savings here! I do not need to buy additional servers when new employees are onboarded or when I introduce new services for my customers.

Virtual Machines

Virtualization, Virtual Machines, and Hypervisors Explained in 10 mins FlatWe take a server with all its components and partition it to create many logical servers or virtualized servers or Virtual Machines (VMs). Just like we did for the hard disk. Each virtual machine has its own operating system (called a guest OS), compute, and storage. Think of a VM as a software-based computer. What’s more, the VMs are completely isolated and completely independent of each other. So if one VM crashes, the other VMs are not affected. If one VM gets infected by malware, the other VMs are not infected (unless the malware spreads laterally across the network to infect other resources). What happens if the whole physical server crashes? Well, they have thought about that too. The VMs are portable and can be quickly transferred to another physical server. What’s more, cloud service providers build resiliency and fault tolerance into their systems with backup systems.

Today organizations typically have tens of thousands of VMs running on the cloud in different regions across the world. That’s a lot to manage. There is a company called VMware that takes care of the management of all the VMs. But that isn’t the only technology or tech company involved in this mega task. There are other components like load balancers, orchestrators, APIs, and middleware that are required to manage the whole set up.

I’ll tell you a little secret. VMs are not so efficient when it comes to running cloud-native applications (applications that can take full advantage of cloud features). VM is a decades-old technology. So there is another technology called Containers that will replace VMs in the future.

Look out for my article on Containers and Containerization, next week. Made dead-simple!

Huge cost savings!

Back to virtualization. The best part about virtualization (and cloud computing), is that I do not have to spend upfront on buying new hardware – I just rent the VMs from the cloud service provider and pay for what I use. No capital expenditure or CAPEX as they call it.

Sounds familiar?

Why buy a car when you can rent one? Pay for a Uber on a per Km or hourly basis – and you do not have to worry about the maintenance of the car, spares, fuel, the toll, or the driver’s salary. Taking this a bit further, you can share the Uber cab through carpooling – and that is what we call a “multi-tenant” environment in cloud computing terms.

Virtualization and cloud computing make the same thing possible for compute infrastructure. Organizations share the infrastructure with other organizations. They enjoy tremendous cost savings as they do not have to purchase new servers and storage when their business grows. They just rent it and ask for more from the cloud service provider. Like a top-up plan. And when business is down, they just give it back (de-provision) all the extra resources and stop paying for it. That’s great flexibility. Provisioning or de-provisioning VMs takes place instantaneously, offering great agility and speed. In the old days, it would take weeks or months to procure a new server – so compared to that, this is like moving in hyperdrive mode!

What’s more, you do not need to invest in real estate, air-conditioning systems, power, and backup systems in your data center for all those servers. That’s because they are in the service provider’s data center and you are just renting it. That means a reduced data center footprint and more cost savings!

Meet the Hypervisor

This all sounds too good to be true and almost like magic. What is it that makes virtualization possible? It’s a layer of software called the Hypervisor, which runs on top of the physical server. The hypervisor enables the virtual environment we just described and facilitates the sharing of physical compute resources among VMs and applications. It deploys and manages the VMs. In tech language, we say, “spin up a VM ” or “spin up a new instance” which means deploy a VM. VMs are also called virtual instances or instances.

Examples of Hypervisors are Microsoft Hyper-V, VMware ESXi, Oracle VM, QEMU, Parallels, Xen, and open-source KVM and oVirt. There are two types of hypervisors: Type-1 (also called Native/bare-metal hypervisor) and Type-2 or Hosted hypervisor.

Oh yes, there’s an article on Bare metal servers coming soon! Stay tuned for some heavy metal!

Conclusion

To wrap up, remember that virtualization is a concept that software enables a physical resource, allowing it to be shared or used more efficiently. It makes for huge cost savings since the resources are shared among users. The user is only renting the resource and paying for it based on exact consumption. It’s like paying for electricity based on metered units – you don’t have to own the whole power plant to have electricity in your home or office! The utility company owns and manages the power plant. Virtualization enables cloud computing, and that means you can enjoy the scaling ability of the cloud. Scale up or down as required. And because the cloud is multi-tenant, you are sharing resources – which makes for economies of scale. Infrastructure needs to be virtualized to be truly cloud-enabled.

Now, aren’t you glad someone invented virtualization in the 1950s?

Next article: Containers and Containerization 


Want to correct us? How about some appreciation? Any topic suggestions? Write to us: [email protected]

Share This Article!

Brian Pereira
Brian Pereira
Brian Pereira is an Indian journalist and editor based in Mumbai. He founded Digital Creed in 2015. A technology buff, former computer instructor, and software developer, Brian has 29 years of journalism experience (since 1994). Brian is the former Editor of CHIP India, InformationWeek India and CISO Mag. He has served India's leading newspaper groups: The Times of India and The Indian Express. Presently, he serves the Information Security Media Group, as Sr. Director, Editorial. You'll find his most current work on CIO Inc. During his career he wrote (and continues to write) 5000+ technology articles. He conducted more than 450 industry interviews. Brian writes on aviation, drones, cybersecurity, tech startups, cloud, data center, AI/ML/Gen AI, IoT, Blockchain etc. He achieved certifications from the EC-Council (Certified Secure Computer User) and from IBM (Basics of Cloud Computing). Apart from those, he has successfully completed many courses on Content Marketing and Business Writing. He recently achieved a Certificate in Cybersecurity (CC) from the international certification body ISC2. Follow Brian on Twitter (@creed_digital) and LinkedIn. Email Brian at: [email protected]
Recommended Posts
Why Landing On The Moon Is Difficult

Landing an uncrewed vehicle on the surface of the moon or any planet is not easy; space institutions have made multiple attempts after seeing their spacecraft crash on the surface.

Similar Articles

Why Landing On The Moon Is Difficult
Why Landing On The Moon Is Difficult

Landing an uncrewed vehicle on the surface of the moon or any planet is not easy; space institutions have made multiple attempts after seeing their spacecraft crash on the surface.

Share This