Self- Motivation - How to build the perfect lab
Though this states to build the "perfect lab", the lab being the physical machine which you have will be host of them, and as our training testing and curiosity requirements change very frequently we want to be covered on all basis.
When we generally thing of creating a lab sometimes the idea is overwhelming due to so many different ideas of how large, how expensive, how powerful as well as time consumption of building it, and this looks to achieve a baseline which addresses things to consider when constructing the lab.
What I describe here is a strategy which has served me well for many years in pushing boundaries to create and develop as well as test anything from ideas to helping with exams and courses. The right lab can achieve multi-purposes to apply to any and every scenario.
Types of Virtual Environments
Typically, I like to create virtual test machines which have multiple domains to split up these requirements.
Why you ask? Because we want to cover every environment scenario which I have
broken them down by;
• Current State Lab
– This would emulate what you would see as the
baseline technologies in your normal working day which would be standardised by
the Client and Server OS’es as well as other Microsoft functions which may be
around depending on the environment you wish to test within
• Future State Lab
– The latest versions which would exist past the
current version technologies i.e. Windows Server 2016. Should you wish to
stretch this scenario into technologies even further had such as Windows Server
2019 you can do so but of course RC (Release Candidate) and Beta versions are
normally for test labs only. Though it fits the purpose of this blog it might
not represent a real-life scenario but your requirements may dictate this
decision.
• Legacy State Lab (Optional)
- This is a nice to have environment if
you can obtain older releases. Though with the fast-paced reality of the IT
Industry your "Current State Lab" will turn into this anyway 😀
Types of Configurations for you Virtual Environments
My experience with the test virtual labs I’ve created is that you can
have two types of configurations which you can use for them
• Let's just get it working
- Basic straight out the box build,
no additional disk drives just one humongous drive and everything you can
possibly consolidate (within reason). This is a non-real based scenario just so
you can actually get something or anything to work. The beauty of testing is
normally just to make sure whatever you’re testing works by any means necessary
(again within reason). Scripting or developing I’ve done I’ve used these
methods. I normally say when testing (more specifically scripting) if you can
test it for one object it works, and if you can test it on two objects it
should work on a million!
• Real Environment
- This is where you would build your lab the
same way you would perhaps follow full procedure and best practice standards
utilising service accounts, OU organising, disks and specs configured as
appropriate. The overall picture of the lab is that you'll be keen to break in
either new technologies or to test something which you may have developed in
house so you need something which you can crash and burn.
For an example ; a Domain controller just to get it working would contain everything from the Database and log files on one disk, a real environment best practice may have a separate disk for the SysVol, logs and database.
Another great sample is a SQL Server role, just to get it working you would just build the server with everything on one disk, while as real scenario may have a disk for each file like Databases, Log Files, Backups, TempDB & TempLogs
Then once this has been done you can focus on forming a real scenario
environment which you would then perform the same testing in a controlled
environment. Similar to the concept of Development, Pre-production and
Production environment.
Foundational Server roles for each Virtual Environment
Being that I constantly work within the System Center Product space there are really three virtual machines which I would always have for my lab being;
· Domain Controller – This server should always be the very first one you create depending on your ideal lab requirements in order to create a domain
· SQL Server – Prerequisite for majority of Microsoft technologies especially for System Center technologies.
· Another SQL Server 😊 – A second one is normally needed for me as there are normally constraints to having either too many databases on one SQL Server or there being software restrictions which would stop or alert you that you are unable to do this.
The idea of this section is to outline the strategy of having some prerequisite VMs which will hold important roles within your lab.How Expensive/Powerful does your Lab need to be
This is where we get to the part of investing in yourself once again. Really comes down to your requirements, I would say it is really down to the hardware in which your physical machine would have.
Roughly a specification such as this should work
·Processor: Minimum 4 Cores
·Memory: Minimum 16GB
·Hard Disk: Minimum 1TB
Your machine doesn’t have to be too expensive in order to support your lab as I would imagine you wouldn’t need to have every single virtual machine in your lab to be turned on. Course if you do then you may want to kick things up a notch by maybe doubling or tripling the specification above!
But what you want to have is an actual plan for what you need the lab for and what you would like to learn and test. Because if you don’t have a plan, then a powerful computer can be meaningless for your lab as you wouldn’t have a clue or a plan of attack.
Output for the Testing
This actually relates to the peripheral being the actual computer monitor.
It plays a very vital role in your lab as you want a decent monitor in order to visualize everything in your lab as well as enough space to have multiple machines in split screens so that you are able to alternate to each one for multi-tasking purposes.
I would recommend a minimum of a 24-25-inch screen but feel free to push the boundaries.Learn,Play,Create and Test
Once you have all of tools available and have gathered all of your requirements you should be able to form a perfect lab around the strategies listed here which has helped me develop several labs over the years.
For exams and studying of that nature a lab is a great way to follow the study materials to perform exactly what is being shown so you have a relational memory to what you are reading in black & white.
Making a technology your own specialization with your own time to experience and play with them and understand its functions and roles and what you can do with them should excite you to know more and stretch your mind to what you can do with them in the real world. And if you are using them already a great way to see what other great things you can develop with them.
The lab is pretty much a virtual extension of you, so invest in yourself enough to form a greater virtual extension of yourself through the perfect lab. Perfect for you that it is.



