Saturday, July 8, 2017

From Testing The (Virtual) Waters to Floating With The Machines

Over the last couple of weeks I found myself strolling down memory lane. I felt something was missing, which isn't exactly new or special. It took me a some days to realise that it seemed to be about some special playground. Being involved in Tony's book on virtual machine labs, I felt that just running some VMs on my MacBook Pro via Parallels Desktop wasn't enough anymore. After a year without a "serious" lab to tinker with, I decided to start something new.

Intel NUC7 (left), Alienware m7700 (right)
Shortly after the Intel NUC had arrived and the basic setup was ready to go, I remembered that the machine I ran my very first home lab on was still around. Putting the 12 year old DTR system next to the new "member of the family" brought back some memories of the first challenges and adventures in the Land Of The Virtual Machines. As you can see, I decided to write about the (home) labs, especially about the hardware and software involved. The beginnings lie more than a decade back.

In 2004, shortly after starting a new occupation, I learned about two coworkers who had created a setup to test a virtualisation platform. Having heard and read about VMware Workstation for a couple of months, I hadn't used it at that time. Being curious, I reached out to my colleagues to learn more about what they where "playing" with and what goals they had. They told me about VMware GSX Server and were kind enough to tell me about their plans and to keep me in the loop. Later that year, while at the company's HQ to attend some meetings, I met one of said colleagues in person. After showing me the actual setup and giving me the chance to get (some kind of) first hand experience, he handed be a book and suggested that I could take with me to have a look and return it on my next visit.

I didn't find the time back then to actually read 'Rob's Guide to Using VMware', not to mention work through it (or even parts of it), but looking back, it was the right book to find or have at the right time. It was back then when I was making up my mind about earning some certifications, and I was thinking about ways to learn about the bits I hadn't (and wouldn't have) to deal with at work. After coming across resources like Microsoft's Self-Paced Training Kits etc. and discussing options with friends and family, I decided to create my first home lab.

In early 2005, I started things by getting my own copy of the book mentioned above, the necessary training kits - and a notebook. Back then, Alienware was a valued and (somewhat) independent brand, offering mostly medium to high end machines for gamers. Among other things, they "made" and sold quite nice desktop replacement systems. Mostly because it had very good reviews and offered some interesting configuration options, I chose to order an Alienware m7700 based on:
VMware Workstation 5 (Still have the orig. media set.)
  • Intel Pentium 4 @ 3.6 GHz
  • 2 GB RAM
  • 2x 100 GB HDD
Back then, this was enough to run Microsoft Windows XP and VMware Workstation 5, with the lab itself consisting of up to five (or even six) virtual machines (mostly Windows XP and Windows Server 2003). It was interesting (and challenging at times, of course) to find out what could be achieved using this environment, supported by some USB hubs, USB NICs and networking gear.

This setup served me well for me more than three years, even (maybe even more) after successfully completing the first rounds of certifications. Mostly because of some major changes of circumstances that had quite some impact on almost all parts of my life, I almost completely abandoned this home lab platform and went for almost two years without a playground of this kind.

In the meantime, since "becoming a Mac" in early 2007, Parallels Desktop for Mac (starting with v2.5) became my companion to test and play around with new (mostly but not exclusively work-related) stuff at home. As I had no intention to run a full-blown or even a basic-but-complete home lab, the (slightly upgraded) MacBook served my needs pretty well:
  • Intel Core 2 Duo @ 2.0 GHz
  • 2 GB RAM
  • 80 GB HDD
With some new ideas in my head (in particular investing time and effort into brushing up my humble knowledge and skills re application development), some new goals to pursue and the updated version of the 17" MacBook Pro becoming available in early 2009, I decided to get me that new machine and get things going. Who would have guessed back then that today (in mid 2017) this MBP still is my indispensable day-to-day workhorse? Well, it is, and despite discontinued support (and thus lack of OS updates/upgrades), chances are that I am going to use this computer until something breaks (or some other aspects would render continue running it a very bad idea). The original configuration of the 17" MacBook Pro included:
  • Intel Core 2 Duo @ 2.93 GHz
  • 4 GB RAM
  • 320 GB HDD
Of course, there have been some upgrades over the years, with the current setup (as of today) being:
  • Intel Core 2 Duo @ 2.93 GHz
  • 8 GB RAM
  • 512 GB SSD
Apart from the fact that this MBP still works pretty well even after more than eight years of being used on a daily basis, having an actual portable solution for a lot of different purposes (research/education, development, operations/system administration etc.) made and still makes it easy for me to live with some concessions I had and have to make. If there would be a kind of officially supported way to receive the most recent version of macOS, I think I would keep using this machine "forever". (No, I am not going to dive into what is referred to as 'planned obsolescence', at least not this time, even though being technically able to run v10.12 without (known) problems but being rejected to get it by the MBPs product ID/serial number sure is annoying, to say the least. Anyway.)

Things went on mostly unchanged, even after joining a new employer in 2011, mainly because the aforementioned MacBook Pro hold enough reserve capacities to allow me both, self-teaching me different/additional aspects of software development as well as keeping my sysadmin skills up-to-date (or at least to not fall too far behind). In late 2014, after it had been kept in some sort of quarantine (for quite some weird reasons, actually), I "inherited" the Dell Precision M4600 that had been used by the lead developer who had left about two years ago. The original configuration of the system wasn't too bad:
  • Intel Core i7-2720QM @ 2.20 GHz
  • 8 GB RAM
  • 250 GB HDD
While the agency's two developers where allowed/given multiple test beds, for some reasons the sysadmins never had one. After some discussions with our management, I was allowed to get some upgrades for the mobile workstation that would allow running some (more or less) serious testing environment. The final setup of the M4600 consisted (among other parts) of:
  • Intel Core i7-2720QM @ 2.20 GHz
  • 32 GB RAM
  • 500 GB SSD
  • 256 GB SSD
Running Microsoft Windows Server 2012 R2, this setup proved more than just helpful in a lot of cases over the following months. With VMware vSphere 5.x running in the production environment, it was interesting and instructive to deal with Hyper-V, not only because of the differences in concepts and approaches to solutions of/within the products, but also because things needed to be transferred from one environment to the other and vice versa.

About this time last year, during the final stage of shutting down the agency (a completely different and quite sad/irritating story) the M4600 became the live datacentre for the remaining employees, delivering all the "basic" services still needed, just until the day before everyone (including me) had to leave. Moving the virtual machines almost seamlessly from the vSphere environment to this little Hyper-V server was as interesting as seeing the latter doing a great job at allowing my colleagues to work right to the point where we all had to stop. (A moment of silence for this little hero, please.)

With a tool like the machine mentioned above at hand, I really had no need to think about re-building a "playground"/lab at home, and after moving on the a new agency and an entirely new position, I really didn't think I would even consider it any more. As mentioned in the introduction, things developed different than expected. So in a way, having been involved with Tony's work and book made me think about "returning to my roots", at least as far as some dedicated home lab setup was concerned. Compared to the good old Alienware m7700, the configuration of the Intel NUC sure is a little bit - different:
  • Intel Core i7-7567U @ 3.50 GHz
  • 32 GB RAM
  • 1 TB SSD 
It will be interesting to find out about what is possible with a setup like that, about the limitation of an environment like that (or at least those of the recent configuration), and which challenges as well as inspirations will be found along the way - floating with the machines.