One of the things I enjoy doing is experiment, as you can probably tell from the previous blogs. And to experiment properly, I need spare machines or sandboxes. I’m too cheap to invest heavily in cloud services. Even though AWS has a free tier, it really doesn’t have a LOT of horsepower. Or I need access to things on my local network. And so I’ve invested in a virtual machine (vm) host.
A vm host is a fairly powerful machine with lots of resources so that it can run multiple client machines. The client machines or virtual machines act like a real machine, except that it shares resources on the host with other VMs. These VMs allow you to install other OSes without affecting your host. The OSes on these VMs can be anything ranging from Linux to Windows to recent versions of OS X.
When you create a VM, you can decide what resources the new machine would have, for example, how many CPU cores, how much RAM, and how much hard disk space. Once you create a VM, the software creates a bunch of disk image files that contain the VM. And one great benefit of these files is that they are transportable to another computer! You can move the VM for either load balancing purposes or disaster recovery. Let’s say that your VM host is experiencing RAM problems. Obviously the host machine can have all sorts of random behavior. But your VMs need to be running, what do you do? If you have another VM host, you can move the files to another VM or if you’re using a fast network storage, you can just load the files directly. In either case, the new VM host can run your VM without having to reinstall or reconfigure anything!
So if you are like me, explore the benefits of VMs.