In the Beginning..
An adventure into home lab

My name is Michael Connaker, and I am an experienced Site Reliability Engineer and Cloud Engineer.
With over a decade of experience in Information Technology, I have worked across a broad spectrum of disciplines, including networking, systems administration, desktop support, and cloud management. Currently I specialize as a Site Reliability Engineer and Cloud Engineer, where my expertise in Infrastructure as Code (IaC), GitOps, Configuration Managment and CI/CD tools is used to automate deployments for improved efficiency, scalability, and cost optimization. I have a strong ability to drive collaboration with clients and teams, ensuring seamless execution and delivery of results.
I have extensive leadership experience, serving as a Subject Matter Expert (SME) to clients and colleagues, as well as a Team Lead managing a team of 8 to 12 members. In this role, I provided guidance and direction, collaborated with management to develop and enhance onboarding procedures, SLAs, SLOs, technical documentation, and shaped the team’s vision and strategy. Additionally, as an Agile leader, I facilitated sprints, reported progress to senior leadership, and led Scrum of Scrums and retrospectives to drive continuous improvement.
I am educated with a Bachelors of Arts in General Studies and Associates of Applied Science in Computer Networking & Systems Administration. I have also achieved several industry certifications.
Outside the technical realm, I’m an avid reader with a passion for Sci-Fi and Supernatural genres, and a dedicated gamer, having explored countless virtual worlds across multiple platforms. Yet, my most fulfilling adventure is fatherhood to my two teenage daughters and a newborn son — a role that brings immense joy and fresh challenges every day.
I created this blog to document a home lab build-out from scratch. As a professional IT engineer in the cloud, I often encounter new technologies and tools that I need or want to learn, or certifications that I aim to obtain and need infrastructure to practice on. While the cloud is a great tool and often inexpensive depending on the services you run, it can become costly when deploying long-term services like EC2, ELB, NAT Gateway, ECS, or EKS.
This is where a home lab comes in handy. A home lab is a lab environment set up and maintained by you, which can range from a single VM to an entire rack filled with servers, switches, and routers. There are websites and Reddit pages dedicated to home labs, such as homelab and minilab. Some people do this as a hobby, while others use it to learn and study new tools. Home labs vary in design, with some building it specifically for their home network and smart automation tools (like Home Assistant), while others create miniature data centers. The design really depends on the user's level of commitment and needs.
Home labs can be inexpensive, as anything can be used. You can start with consumer PCs or build out with servers. Consumer PCs are often the starting point for many looking to dive into the world of home labs because any type of consumer PC can be used, regardless of age. However, I recommend using systems from the last ten years, as they are more affordable and easy to obtain. Compared to servers, consumer PCs take up less space, produce less heat, and draw less power. Additionally, consumer PCs offer multiple options to get started.
This is largely because you can easily install a Type-2 hypervisor on your system, such as VMware Workstation for Windows or Fusion for macOS, VirtualBox, or even the native Hyper-V for Windows Professional systems. Type-2 hypervisors allow you to get up and running quickly because they interact with the underlying host machine hardware through the host machine's operating system.
Type-2 hypervisors are straightforward to install, and spinning up servers is quite easy. You can even dedicate time to building them using Ansible or Terraform, as both have plugins and providers for the most common hypervisors. Note that the limitations here will be the amount of CPU, RAM, and storage you can dedicate to spinning up VMs, as it can bottleneck your host machine hardware.
Alternatively, you can use consumer PCs to build out infrastructure too. You can deploy Linux OS and build Docker or Kubernetes environments. Or, if you want to deploy multiple virtual servers, you can consider using a Type-1 hypervisor like Proxmox to build a cluster of dedicated systems. Often, home lab builders use Dell Micro/Mini Optiplex or Lenovo ThinkCentres to build their cluster environments. These can often be found cheaply online (eBay, Amazon, Craigslist, FB Marketplace) or in used PC stores or even at places like Goodwill.
Or, you can skip consumer PCs and use a server. Much like consumer PCs, servers can be found online for relatively low prices. For example, Amazon Renew Store has an HP ProLiant DL360 for $259. Again, like a consumer PC, you can use the hardware to build out a Linux OS and deploy Docker or Kubernetes, or use a Type-1 hypervisor (VMware or Proxmox) to deploy a small infrastructure of VMs. Note that servers take up more space, draw more power, produce more heat, and can be loud.
Before diving into what I will be doing, let me share where I started my adventure in home labs. I began with home labs in 2018 on two Dell rack servers, which lasted about a year. Back then, I was learning how to build a simple hypervisor cluster using Proxmox. I didn’t have much desire for it and ended up selling the servers. Then, in 2020, in college, I built a gaming rig with Windows 10 Professional and used Microsoft’s built-in Hyper-V to spin up servers for classwork. Later, my brother-in-law donated a server, and I built a simple vSphere system with a few servers. But again, I slowly gave this up due to a lack of dedicated time. Now, I will be building out on an HP ProLiant DL360 with the possibility of migrating to Lenovo’s for a smaller footprint or buying another server.
My goal for this blog site is not only to document my adventure into home labs but also to provide useful ideas and tips on how to create your own infrastructure. For the context of this blog, I will be building out a fictional company infrastructure, all housed on VMs inside Proxmox on the DL360. Most of this will be built and deployed using Configuration Management Tools (Ansible), Infrastructure as Code (Terraform), and pipelines.
So that’s it. This will act as the start of my adventure. My next blog will detail the architectural layout of the planned infrastructure.

