We’ve all been there. It’s time to consider building a home lab, whether it’s for testing a scenario, preparing for a certification, or learning more about a software application. There are two home lab options to consider.
A physical home lab includes a rack server, servers, networking equipment, monitor, keyboard, KVM, and so on. Additionally, the rack server requires a space tall and wide enough to house it, as well as sufficient power to run it.
A software-defined home lab (virtualized) eliminates most of the items needed in a physical lab environment. There’s no need for a rack server, servers, or space, and the power consumption is significantly less. A software-defined home lab can run off a single NUC, a desktop, or laptop computer. The hardware requirements (RAM, storage, processor) can vary depending on your home lab.
This is where we’ll dig deeper into the question asked in the title of this post: what is virtualization?
Virtualization provides an alternative to a physical environment because it allows the end user to create a software-based (virtualized) model of a server with additional servers, applications, and networks in a software-defined manner. Additionally, time savings are an important factor. VM templates are lifesavers because if you’re not satisfied with the virtual environment you’ve created, you can delete it and start over using the template and you’ll be up and running in half the time it would take to rebuild a physical server in the same manner.
There are five commonly known use cases to virtualize:
Server – allows multiple operating systems to run on one physical server
Storage – provides the ability to combine multiple physical storage options into a single logical storage environment
Network – provides the ability to create multiple software-defined networks (SDN) in a virtualized manner
Desktop – like server, but allows the end user to create and deploy multiple virtualized desktops onto a single desktop computer accessible from any device
Application – a prime use case scenario when you need to host an application for testing
The options to create a virtualized environment have also expanded to include public cloud services but some factors to consider are based on need. For short-term projects with a limited budget requiring a VM stood up in seconds, a public cloud service is ideal. This provides flexibility without the overhead, but keep in mind these services can be easily adopted because of the simplicity, and there’s a tendency to neglect the costs associated with them over time. If a public cloud service is a long-term solution, it’s even more important for you to keep track of costs for the same reasons listed above, perhaps with email alerts to keep track of each option selected with corresponding cost.