Building a Lab for Certification Prep
For many years Microsoft has stressed the idea that they build their certification exams to test real world product knowledge. According to some of the people that I have spoken to over the years, the main idea behind this philosophy is that Microsoft doesn’t want exam candidates to be able to pick up a book and learn everything that they need in order to pass an exam without ever having touched the product on which they are being tested.
In some ways, I think that Microsoft goes overboard with this philosophy. The Microsoft Learning site lists the audience profile for most of the Microsoft certification exams, which typically states that the person taking the exam should have at least a year (sometimes more) of experience working with the product prior to taking the exam.
There are a couple of problems with this. First, some of the exam overviews list an impossible amount of experience. For example, an exam overview might state that candidates should have a year of experience with a product that has only been on the market for a month.
The other problem with this philosophy is that it is easily possible to take a week-long Microsoft learning course and learn everything that you need to know to pass a certification exam. In some ways this has become the norm. I know many people who have taken a Microsoft training class and earn their certification for a product long before they ever deployed the product in a corporate environment.
One of the reasons why it is possible to substitute a year’s worth of experience for a week of training is because of the way that the training classes are designed. Most if not all of the Microsoft training classes are intended to be hands-on. In other words, the classes are designed so that attendees can work through various scenarios in a lab environment.
Obviously, this is a great way to train for a certification exam. The problem is that Microsoft certification classes can be expensive. This is especially true if you need to take more than one class. As such, those without generous training budgets often look for other ways to prepare for Microsoft certification exams.
One approach is to use real-world experience as a basis for taking a certification exam. The idea is that if you work with a particular server product on a daily basis, you should have no problem with passing an exam related to that product. Unfortunately, this approach almost never works without some additional study, because it is extremely rare for organizations to use every feature that is included in a particular product. As such, candidates relying solely on real-world experience might be experts in some areas, but have no experience than others.
A better approach to preparing for a Microsoft certification exam is to build a lab environment that you can use for certification prep. That way, you can work through various configurations without fear of jeopardizing your production environment in the process.
The good news is that server virtualization and plummeting hardware prices have made training labs much more affordable than they were in the past.
The first thing that you will need when setting up a training lab is some software. If you are using the lab solely for training and evaluation purposes then my recommendation would be to purchase a TechNet subscription. TechNet software is not licensed for use in a production environment, but you can use it in a lab environment. A TechNet subscription is much less expensive than purchasing fully licensed server products.
If a TechNet subscription is beyond your budget then another option is to use evaluation software. Microsoft provides free trial versions of most of their server products. In most cases, the trial versions are valid for about six months, which should give you more than enough time to prepare for a certification exam.
So what about lab hardware? Because the hardware does not need to support a full-blown user workload, you can usually get by with using low-end hardware. You don’t even necessarily have to use server class machines; often times PCs work just fine.
If you do decide to use low-end hardware, there are a few things to look for. First, make sure that the computer that you are using has a 64-bit processor and support hardware level virtualization. Virtualization is essential because it allows you to run multiple virtual machines on a single piece of hardware. Many of the Microsoft certification exams test your ability to perform deployments that span multiple servers. A virtual server environment will usually allow you to test these types of deployments without spending a fortune on server hardware. The big exception is that preparing for virtualization-related exams may require you to purchase multiple virtualization hosts.
Another consideration to take into account is memory. The amount of memory that is installed in your lab machine has a direct impact on the number of virtual servers that you will be able to simultaneously run on that host. Fortunately, memory has really dropped in price over the last couple of years. In fact, some PCs come equipped with 32 GB of memory.
Another consideration for your lab environment is that of disk I/O. Running multiple virtual machines generates a tremendous amount of disk I/O. Even a dedicated hard drive can quickly become overwhelmed by the task of running multiple virtual machines. Thus, I strongly recommend storing your virtual machines on a dedicated disk array that is configured as a stripe set. The more disks in the stripe set, the better the array will be able to handle the disk I/O that is generated by the virtual machines.
Although disk arrays do have an impact on the price of the lab hardware, the cost does not necessarily have to break the bank. Some PC system boards include up to six SATA controllers. This means that you can install a SATA boot drive, a DVD drive, and a four disk array. As an alternative, you could use an external USB based DVD drive. This frees up a SATA port, which means that your array could accommodate up to five drives.
One last thing to keep in mind is that even if a PC has six SATA ports, the manufacturers do not realistically expect people to provision their PCs with large disk arrays. That being the case, the PC case is almost always an adequate both in terms of physical drive bays and cooling. If you are going to be creating a disk array, I strongly recommend using a custom case that is specifically designed to accommodate large numbers of disks.
Conclusion
If you create a PC with 32 GB of RAM and a SATA array you will probably end up spending between $1,500 and $2,000. While this is almost enough to pay for a Microsoft certification class, it is important to realize that you can use your lab hardware to prepare for a variety of certification exams. That makes the lab hardware approach much less expensive over time than attending training classes.