What is it?
So to start with virtualization goes way back so not to waste anyone’s time the virtualization we are talking about here is based on x86 architecture.
Wikipedia defines virtualization as
In computing, virtualization refers to the act of creating a virtual (rather than actual) version of something, including virtual computer hardware platforms, operating systems, storage devices, and computer network resources.
What problem does it solve?
Back in the day when all we had was one server to an application, it was difficult and costly to build a system that would be sufficient for the application and provide the flexibility to grow over the next 2-3 years. It was also slow to provision, you would need to order the hardware, rack it, load and secure the OS and then install the application, which would take weeks in most instances. On top of that the amount of power and cooling required to keep the number of servers running was not trivial.
Virtualization came along to resolve these issues. If offered a platform whereby you could install several virtual servers on one physical system. This reduced the overall number of servers required by the business, allowed each physical server to better utilized. Provisioning time also decreased allowing you to spin up a new server in a matter of minutes, with a preconfigured OS.
In addition to resolving these issues a number of additional features became possible such as:
- High Availability – When a system is virtualized it is abstracted from the physical hardware and free to be moved from one physical host to another. This provides a higher level of availability so that when a host fails another host can be used to bring up the virtual machines reducing downtime.
- VM Migration – Think high availability but without the failure, so a situation where you would migrate a virtual machine in order to perform maintenance on a host server.
- Increase VM Capacity – ability to add dedicate more physical resources without having to purchase additional hardware.
- Increased Agility – the ability to create new VMs without the lead time associated with purchasing and installing new hardware
- Testing with virtualization comes the capability to backup, clone and restore systems easily allowing for easier testing and rapid recovery times
- Host – Physical system used to contain virtual machines
- Hypervisor – Host software used to carve up a physical system into logical systems
- Virtual Machine (VM) – the logical operating system also known as a guest
- Management System – Provided by most vendors although not necessary for operation a management system provides a centralized system used to manage multiple hypervisors