Virtual Lab Environments for Development and Testing

Lately, I’ve been evaluating different products for a virtual lab environment to be used for software testing. A virtual lab is a huge convenience and time saver when it comes to rapidly provisioning environments for the software QA process. They are, of course, in essence just one of the many tools available to ensure that a software is released without any defects.

A virtual lab environment allows users to create different templates of virtual machines and reuse those templates to quickly start up disposable test environments with a particular configuration. The user can start groups of machines, with each machine dedicated to a purpose and all of them running together in a virtual network. The lab environment products also allow the user to take a snapshot of the machine at any point in time and revert back to that snapshot later on.

Having a central lab environment increases the collaboration possibilities between different users, as a configuration created by one user can be shared across multiple users. A tester can reproduce a defect in a virtual environment, and share it with a developer later for debugging.

Most of the virtual lab management products available seem to be oriented towards medium to large enterprises, however I think even really small companies have a lot to gain from automating their lab environment.

I evaluated the following products:

VMware vCenter Lab Manager

This is VMware’s own product that is an addition to their vSphere concept. It provides pretty much all the functionality you need from a virtual lab management tool. There is a web based interface and you can directly view the console output of each machine through the web pages. It is easy to setup templates, networking, take snapshots and so on. It supports LDAP synchronization for user and group management as well. vCenter Lab Manager is only compatible with the VMware vSphere hypervisors, such as ESX or ESXi.

The problem with this product is that it seems to be more geared toward larger organizations as the pricing makes it unfeasible to run it at a smaller scale. You will need at least one vSphere vCenter Standard Server, which is by itself $5000. Even though the vCenter Server supports an unlimited number of hosts, if you are going to use a small number of hosts it adds a lot to the total licensing cost. In addition to that you need a Lab Manager license for each socket on the host machines, which is $1500. The total licensing cost becomes very steep for a company that will utilize two or three hosts running hypervisors. VMware themselves offer a cheap hypervisor packages that can be used by small organizations, such as vSphere Essentials, but it is not compatible with their Lab Manager product.

VMLogix LabManager

This is a similar product to VMware Lab Manager, with some pretty major differences. It offers similar functionality to the vCenter Lab Manager, but it is not bound to a specific hypervisor. As such, it is possible to run it with XEN, Hyper-V or ESX hypervisors. This gives a big flexibility when it comes to deployment, as it does not require the costly vCenter Server Standard edition even if you want it to use with ESX hosts. Thus, it is possible to use VMLogix LabManager even if you are only using the vSphere Essentials Bundle. This is perfect for organizations who do not plan to run more than three hosts, which is the limit for the Essentials Bundle.

The management is web based, and in my experience the web interface seemed much faster and smoother in comparison to VMware’s product (note: The web pages seems to be rendered by Python). Similar to VMware, it is possible to view the console output of the machines directly from the web pages or through VNC.

The licensing cost is $2200 / socket, however VMLogix offers to give licenses for free to smaller organizations and require that you only pay for the support.

As a whole, this product seemed to be better thought out and more mature in comparison to the Lab Manager from VMware.

SkyTap:

SkyTap use a very different model compared to the other two mentioned above, so it may or not may be comparable product. It is a 100% hosted solution, similar to Amazon EC2 but with more control over the machine and lots of templates created already for you, such as all standard versions of Windows from Microsoft. The pricing model is that you pay per hour of usage of a virtual machine, again very similar to Amazon EC2.

As it is a hosted solution, you do not need to make any investment in the hardware and scale up or scale down your deployment as you go. Having a lot of the operating system images already built is also a big time saver, as in the other solutions you need to build the library of images yourself.

Although the concept is very nice, they only have servers in USA and being in Sweden, the latency was not that great. That made the whole experience feel unresponsive. Working an extended amount of time with that latency would be a big inconvenience to everyone and decrease efficiency over all.

However I can definitely see the potential of their offering as they solve these kinds of issues. The product also has a lot of potential as a training and product demonstration tool for sales people or customers, as the virtual machines can easily be accessed from anywhere in the world.

To wrap things up, I feel that VMLogix are offering the best value when it comes to building a lab environment in a small scale. SkyTap offer a really good alternative for companies who have good latency to their servers and are not willing to make a big investment up front and do not want to deal with configuration and installation of all the servers.

Advertisements