After months of indecision about whether or not to invest in some dedicated equipment for a home lab, I finally made the fatal mistake of having a few beers in the vicinity of both my computer and my credit card. The result of this is that I'm currently sitting on about a £2,600 credit card bill.
I fully expected to wake up this morning regretting the purchases I made late last night, but I’m actually really looking forward to everything arriving, and in the cold light of day it seems like it will be the right thing to do in the long run.
First though, let’s take a step back and see what lead me to this “decision”.
In my role as a consultant, there are a vast number of technologies and products that I need to get my hands on and have a play around with. Specifically, when it comes to IT process orchestration, knowing the orchestration tool is only half of the battle. Due to the nature of orchestration I need to have a good understanding of many of the technologies that I will be integrating with.
Finding and securing the use of environments at work isn’t as easy as it should be. The conclusion that I came to is that if I want to have reliable access to a decent lab where I have a free reign to do as I please, when I please, I was going to have to provide it for myself.
So, while I have both a PC and laptop that are each more than capable of running vCenter Orchestrator, Atrium Orchestrator or System Center Orchestrator, those tools on their own are not enough. Without an infrastructure in place and a variety of other technologies to integrate with, the usefulness of just being able to spin up a copy of vCO for example, is limited. I came up with a few of the more common orchestration use cases:
- VM provisioning
- User provisioning
- Application Deployment
Each example has the potential for a very broad scope, but these are the recurring asks I hear from customers. Let’s take VM provisioning as an example use case. To be able to orchestrate this process in any meaningful way I’m going to need:
- A hypervisor to deploy a VM onto
- DNS, DHCP (maybe) and a directory service like Active Directory
- A mail server / client
- Possibly some kind of web front-end
Straight away, you can see that being able to orchestrate the process of deploying a VM is probably going to require me to have not only the orchestration tool itself running, but also a Domain Controller or LDAP server, a DNS server, maybe a DHCP server, an email system, a web server and so on.
When you start going down this path it quite quickly spirals out of control. I could deploy my VM to an ESX host, or a Hyper-V host, or KVM. What if I’d like to do all three? Maybe I want to deploy through vCloud Director or OpenStack. The same applies for each piece of technology that could be involved in the process and very soon you start wanting to run a whole raft of different systems to give you a representative environment that you might find in a real-life engagement.
My train of thought around this home lab environment is that when I buy it, I only want to buy it once. I didn’t want to be in a position where I purchased all the parts, set everything up and then 6 months later found that I was running out of capacity and struggling for upgrade options without ripping and replacing kit. I’m constrained by space and power, so throwing more hosts into the lab wouldn’t really be an option either.
So, with all of those considerations in mind, I decided to go for the absolute maximum capacity I could afford.
In Part 2, I'll be looking at requirements.