Using a Virtual Lab for Your Application Lifecycle
This page is specific to:.NET Framework Version:
4
Using a Virtual Lab for Your Application Lifecycle
[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Visual Studio Lab Management enables you to create a virtual lab to use with Team Foundation Server when you are developing or testing an application. Visual Studio Lab Management integrates with the following virtualization software:

  • Hyper-V

  • System Center Virtual Machine Manager

The advantage of virtualization with Hyper-V is that you can run multiple virtual machines on one physical host computer. When you use System Center Virtual Machine Manager (SCVMM) together with Hyper-V, you can manage multiple host computers at the same time. By using SCVMM, you can create host groups that include multiple hosts and then manage these host groups.

By using Visual Studio Lab Management to integrate with Hyper-V and SCVMM, you can create and manage environments that consist of multiple virtual machines. You can now take a snapshot of your whole environment so that you have a snapshot of each virtual machine in this environment at the same specific point in time. All these environments make up your virtual lab to use for testing or development.

By using virtualization with Lab Management, you can perform the following tasks:

  • Create a known clean state for all the virtual machines that are required to run an instance of your application.

  • Take a snapshot of all the virtual machines in your environment when you run a test to help developers re-create bugs.

  • Deploy your application to a virtual environment and run tests as part of a scheduled process.

  • Run manual and automated tests on the environment and collect information about any virtual machine in the environment as you run the test.

  • Attach a link to a snapshot of an environment in a bug to help a developer re-create the bug.

  • Create multiple copies of the environment that you have to have in order to run an application.

  • Run multiple copies of the environment at the same time.

To create and manage these virtual environments of virtual machines, use Microsoft Test Manager. You can create an environment by using Microsoft Test Manager and assign virtual machines to each role that is required for the application that you intend to develop, test, or run. For example, you might be developing a multi-tiered application that requires three roles: a desktop client, a Web server, and a database server. By using Lab Management, you can create a virtual environment that assigns a virtual machine to each role, deploys each part of the application to the relevant virtual machine by using Team Foundation Build, and then runs the three virtual machines as a single instance of the application for testing. The following illustration shows a virtual environment that uses the three roles: desktop client, Web server, and database server.

Environment for Multi-Tier Application

If your application is complex, you can assign multiple virtual machines to the same role in a virtual environment. Similarly, you might be developing an application that requires the same two roles to be deployed in two different topologies. For example, the data tier and the application tier might be located on the same machine in one topology, whereas the two tiers are located on separate machines in the other topology. The first topology is represented in one virtual environment, and the second topology is represented in a separate virtual environment. Your virtual lab now contains the two environments that you have to have for testing.

You can also have a virtual environment where only some components of the application are deployed whereas other components are shared across environments. For example, if your application needs a large database, you can decide to host a shared database on a physical machine. All virtual environments will have only virtual machines for the client and application tiers that can connect to the shared database as required.

Key Concepts

You must understand some key concepts before you start to use Lab Management:

Key Concept

Description

Virtual machine

A virtual machine is a software implementation of a computer that runs programs as if it is a physical computer. This enables you to run multiple virtual machines on one physical computer. You must install your virtual machine with an operating system and any other software that you require.

Snapshot

A snapshot saves the state of your virtual machine at a specific point in time. You can revert your virtual machine to this snapshot whenever you want and then use this virtual machine from this known state when the snapshot was taken.

Template

A template is a generalized image of a virtual machine that has been stripped of identifying information such as the machine name and the product key. You can create multiple virtual machines from a template without creating computer name conflicts on a domain.

Host

The physical computer that runs the virtual machine.

Host group

A group of physical computers that are hosts that can be used to run virtual machines. Host groups optimize the deployment of virtual machines on the collection of hosts for you, so that you do not have to select to which host each virtual machine is deployed. You can assign library shares to your team projects and team project collections in Team Foundation Server.

Virtual environment

A collection of virtual machines. Each virtual machine that you add to the environment is used for a role in your application. For example, you might select a role of Web server for a virtual machine.

Library share

This is a location where you can store your virtual machines, templates, and other resources. The library share provides physical disk space that is located on a library server machine. You can have multiple library shares. You can assign library shares to your team projects and team project collections in Team Foundation Server.

Next Step

Set Up Virtual Environments

If you want to evaluate Lab Management using existing virtual machines for your environments, you can use the getting started guide to compose an environment from these virtual machines and see how the features of Lab Management enable you to better manage your virtual machines, deploy an application and run tests by using the environment. For more information about getting started, see Getting Started with Lab Management.

If you have already configured Lab Management and you are ready to create your virtual lab and determine the best approach to use for creating your environments, see Planning and Setting Up Your Virtual Lab.

See Also

Tasks

Other Resources

© 2010 Microsoft Corporation. All rights reserved.   Terms of Use | Trademarks | Privacy Statement
Page view tracker
Rate the Lightweight library
x
Lightweight builds on ScriptFree (loband) by adding features you've requested: a SearchBox and default code language selection.
Do you like the SearchBox?
Do you like the tabbed code blocks?
How useful is this topic?
Tell us more.
Thanks
x
You're helping to improve MSDN Online.
Feedback
Switch View
Classic
Lightweight Beta
ScriptFree
Switch View