Primer Series: Server Virtualization
In this article
This was originally published in March 2020
Have you ever been sitting in a meeting when the conversation turns to a technology with which you are unfamiliar? Suddenly, a bunch of acronyms are being thrown around, and you have no idea what they mean, while everyone else is nodding their heads and seems to know exactly what is being discussed.
We've all been there, and to help our valued customers, the engineers at WWT set out to write a series of 'primer articles' to provide basic information on various products and technologies. This article is going to cover the basics of server virtualization.
I have been working with server virtualization for most of my career, but I also remember what IT was like before we could simply "spin up a virtual machine." Server virtualization is the ability to run a virtual instance of a computer system in a software layer abstracted from the physical hardware.
That may sound unnecessarily confusing, but consider the advantages of a single physical server's hardware being pooled and logically partitioned as multiple virtual machines. This is accomplished by running a thin layer of software called a hypervisor on each physical server. Common hypervisors are VMware ESXi, Microsoft Hyper-V and Linux KVM.
To better understand the advantages of this approach, it may be helpful to explain how a server used to be deployed before virtualization. We now refer to this pre-virtualization model as running the operating system (OS) on bare metal.
When a business wanted to bring up a new application or add a server to their environment, there were several steps that had to take place, possibly taking weeks or even months to complete. Those steps were as follows:
- Size the server to handle maximum capacity of the workload it will run.
- Contact the hardware vendor to get quotes.
- Order the server.
- Receive the server from shipping.
- Unbox/rack/cable the server.
- Install the OS on the server.
- Install the application for which the server was purchased.
As you can see, there are numerous steps that took place to deploy a server in a pre-virtualization world. Running applications on servers on bare metal had additional drawbacks, such as server sprawl, high cost due to underutilized hardware resources and lack of high availability without complex third party software solutions.
Virtualization is the basic building block of a modern software-defined data denter (SDDC). SDDC refers to a data center where all infrastructure is virtualized and delivered as a service. I recommend scheduling a SDDC Workshop to learn more.
Benefits of server virtualization include:
- Application high availability: The ability to migrate a virtual machine to another host without the need to power it off increases availability of the application. This migration is called vMotion in a VMware environment
- Speed of deployment: Server virtualization allows you to "spin up a virtual machine" vs. purchasing and waiting for hardware to be delivered and brought online.
- Cost savings: Allowing a physical server to run multiple virtual machines saves on hardware costs, infrastructure costs such as power and cooling and increases the amount of pooled server resources that can being used by applications.
Hopefully you found this article helpful in beginning to learn about virtualization. If you would like to learn more I'd suggest reading about Modernizing Applications with VMware or checking out this video on VMware's platform overview.
There are also several recommended labs for further hands-on learning:
Not finding the resource you're looking for? We'd love to hear directly from you.