Mike Vincent's Blog

Community, Software Architecture, Application Lifecycle Management

Lab Management with VSTS

Development, Test and Build/Release need clean environments for deployment. For complex multi-tier applications this is not a trivial task, especially when implementing agile processes like continuous integration.

Virtual Machines allow you to configure your target environments but it still takes time and effort for setup and provisioning when you are doing potentially many builds a day and deploying for multiple purposes including development, QA testing, UAT, etc. This is where lab management comes in.

I recently returned from a client engagement where their data center has a heavy investment in VMware and they have added VMware vCenter Lab Manager. We were quickly able to provision multiple target environments for our build destinations. The nature of their products requires a significant amount of hands-on testing so reducing setup and tear down time makes a big difference.

Lab Manager provides a lot that can be leveraged including capturing and reproducing software defects. There is out of the box integration with Borland Silk Central Test Manager and HP Quality Center but I haven’t found any posts about integrating with MSBuild. Checking out the documentation SOAP API Guide, it all looks straight forward with several C# examples.

With VSTS 2010 we’ll be getting all the cool lab management goodness built into Team System, all nicely integrated. Lab Management is built on top of System Center Virtual Machine Manager, and thanks to SCVMM managing VMs on multiple hypervisors, Lab Management supports both Hyper-V and VMware ESX out of the box.

Build automation will be able to automate complex virtual machine provisioning, build deployment, and build verification; dramatically speeding up the Develop – Build – Deploy – Test cycle. The deep integration will allow testers to file “rich bug reports” with links to environment checkpoints. With one button click, developers will be able to launch a virtual environment that exactly matches the one that the bug was found in.  

Check out these links for more detail on lab management.