Let us start with the question: What are virtual machines? To answer this, it is best to think about what life was like before they existed.
The evolution of virtualization
In the early 2000s, if you wanted to run a server, you would have to purchase the computer hardware itself including the CPU cabinet, Motherboard, Processors, RAM, hard drives, and so on (based on your requirements). Once the hardware was purchased and assembled, you would install a server operating system. If you then decided to deploy another server, you would have to buy a second computer system and install a server operating system on it as well.
This installation of an operating system on a single hardware machine was a thing before dual-booting came into existence. With the hardware becoming more powerful and robust, users could install two or more operating systems on a single machine. This reduced the hardware cost, but it had some limitations. One such restriction was that dual-booting systems allowed the user to use only one operating system at a time. Virtualization addressed many of such shortcomings by enabling users to create virtual machines on which different operating systems could be installed and accessed simultaneously.
Virtual machines are essentially software computers. That is a virtual machine look and behaves just like any other software application that you have installed on your computer. Every virtual machine you create provides an entirely separate working operating system for you to work on. This means that you can have multiple operating systems running side-by-side on the same computer at the same time.
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.[Source: Wikipedia]
Benefits of Virtualization
Virtualization can increase IT agility, flexibility, and scalability while creating significant cost savings. Other benefits include greater workload mobility, improved performance, and availability of resources, automated operations. It makes IT simpler to manage and less costly to own and operate. Additional benefits include:
- Reduced capital and operating costs.
- Minimized or eliminated downtime.
- Increased IT productivity, efficiency, agility, and responsiveness.
- Faster provisioning of applications and resources.
- Greater business continuity and disaster recovery.
- Simplified data center management.
- Availability of a true Software-Defined Data Center.
This post gives a basic idea about Virtualization. In my next blog post, I will talk about software applications available for virtualization. It will also cover how they differ from one another. If you want me to cover something specific, do let me know in the comments section below.