Most organizations use lab VMs in at least some capacity. An administrator might, for example, use a lab VM to...
test the latest service pack or to preview the next release of a particular software application. Although lab environments are routinely used to test things that most administrators would never try in production, lab VMs can cause problems for the production environment if left unchecked. As such, it is important to establish policies for the creation and configuration of lab VMs.
Problems caused by lab VMs stem from the fact that a lab environment is widely regarded as being a safe, sandbox environment in which anything goes. All too often, however, the VM is not truly sandboxed. Problems can occur on the production network as a result of the way a lab VM is configured or as a result of the lab VM consuming excessive physical hardware resources.
The actual policies regarding VM creation, configuration and use will vary widely from one organization to the next because each organization uses VMs in a different way and has a different virtualization infrastructure. As such, there is no set of policy guidelines that will be universally applicable to every organization. I am going discuss the lab VM infrastructure and then provide a few best practices for virtual machine configuration.
When it comes to building a lab VM environment, I tend to think of the infrastructure in terms of good, better and best. A good infrastructure, for instance, might be a production server virtualization environment that has lots of free capacity. Although you do have to be careful with lab VM configuration and resource consumption, a virtual lab can be safely created in such an environment so long as you adhere to some best practices.
A better lab infrastructure might be to use a backup application that has a virtual lab feature. Such features are common in modern backup applications. These features use snapshots to create lab environments that are based on the production environment. The lab VMs run directly from your backup server. The benefit to such an environment is that the lab environment is an exact replica of your production environment, which is great if you need to test how a configuration change or a new piece of software will behave in production. There are, however, two disadvantages. First, the virtual lab can negatively impact the backup performance. Second, virtual labs that are based on backups do not typically give you the ability to create new lab VMs on demand.
In my opinion, the best lab infrastructure involves dedicated server and storage hardware. The advantages to such an infrastructure are that it can be completely isolated from the production environment and there is no need to worry about accidentally consuming too many hardware resources. The disadvantages are cost and the fact that your lab VMs will not automatically mimic your production environment as they would if you were using a backup-based product.
How to structure your virtual test lab
Regardless of which type of lab infrastructure you use, there are a number of factors to consider when developing policies for lab VMs. One such issue is hardware resource consumption. If your lab VMs are going to be running on production hardware, you might consider a policy that limits hardware resource consumption for VMs to an acceptable level.
Another consideration is the potential for a lab VM to interact with the production environment. As such, you should create a policy mandating that lab VMs connect only to designated virtual switches so that lab network communications can be contained. If necessary, you can provide a lab environment with Internet access, but firewall rules must be configured in a way that prevents any communication from occurring between the production and lab environments.
Still another consideration is licensing. Just because a VM is running in a lab environment doesn't mean that licensing requirements can be ignored. Make sure each VM in your lab is properly licensed.
The last thing you should consider is VM sprawl. Although VM sprawl can sometimes be an issue in production environments, it is often far worse in lab environments. Make sure VM creations are documented and that you establish a good lab VM lifecycle management policy so you don't exhaust your hardware by running old lab VMs that are no longer needed.
Even though it's tempting to think of lab environments as being safe and isolated, lab VMs can impact the production environment. As such, it is important to create policies that require lab VMs to be created in a way that prevents them from interfering with the production environment.
Build your own virtual test lab
How to set up the perfect training lab
Is production environment testing better than lab testing?