This video is a beginner’s guide to server virtualization, for people who already know a bit about computers (like what the hardware or operating system does). It starts with a quick intro to virtualization, but the main focus is on clever virtualization technologies that help you manage large environments – like hundreds of servers running thousands of virtual machines.
This video discusses the following features/capabilities of virtualization:
- Virtualization decouples the operating system from the hardware – this lets you run as many operating systems (within virtual machines) as you like on a single computer, as long as they all have enough hardware resources (like CPU and RAM) to run.
- But what if you have a lot more virtual machines (VMs) than will fit on a single server? Then you’ll want to create a cluster, which lets you pool together the hardware resources of a number of servers (or hosts) so you can run a lot more VMs.
- What happens if a VM is running on a host that doesn’t have enough CPU or RAM available? That VM can migrate to another host with spare resources in the cluster, and this migration can happen even while the VM is running with no interruptions to the user.
- If you have just a few VMs, you can manually allocate them to hosts so they all have enough resources to run, even when their resource needs change over time. But you don’t want to be migrating VMs (or workloads) yourself if you have hundreds or thousands of VMs – you’ll want that task to be automated. Automatic workload distribution is usually configured in one of two ways:
- workload balancing, where your VMs are evenly distributed over the hosts in your cluster (so all hosts have a similar utilization level); or
- host optimization, so a few hosts in your cluster are “fully utilized” (maybe around 70-80%) allowing the remaining hosts to be powered down to save power.
- Finally, you’ll want your VMs to be up and running as much as possible, even when hosts fail.
- High Availability is a simple capability that detects when a host has failed, and reboots the VMs that were running on that host on other hosts in the cluster. You could do this manually too, but if your server dies at 2 am in the morning, you’d much prefer your virtualization platform to reboot those failed VMs automatically for you.
- Fault Tolerance is a more advanced capability that keeps your VMs running even when hosts fail – it does this by maintaining both a primary and secondary VM that are mirror copies of each other (and running on different hosts). If the primary VM’s host fails, the secondary VM will automatically take over, with no interruption to the user.
Most modern virtualization platforms (like VMware’s vSphere) will let you do most/all of the capabilities discussed in this video, but it’s not intended to promote any particular vendor. It’s more of a general introduction to some cool technologies that are only possible with virtualization, and hopefully it’ll help you understand why almost every large company in the world uses virtualization to run their IT.
This video was made from a Microsoft PowerPoint presentation – if you’d like a free copy of this PPT, please just send me a message or write a comment below. Also please do let me know if you have any other thoughts or comments – this was my first ever YouTube video so I’m keen to know your thoughts. BTW sorry about the poor sound quality – it was fine before Microsoft’s Video Editor exported it (I’ll get some better video editing software for future videos!)