Cloning Environments Using Network Isolation

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Lab Management enables you to run two exact replicas , or clones, of an environment simultaneously by using a feature named network isolation. Network isolation is one of the capabilities that is available for every environment, and after this capability is enabled, you can create clones of the environment without network conflicts.

Creating a clone of an environment can be useful in the following situations:

  • You have set up an environment by installing the pre-requisites for your application in each virtual machine. From that point forward, you just want to clone that environment every time you install a build of the application. This saves you time because you do not have to re-install the pre-requisites repeatedly.

  • You have set up an environment with the latest build of your application. From that point forward, you want all the testers and developers to clone this environment. This saves time for each team member and ensures consistency of the build.

  • The system administrator performed a physical-to-virtual machine conversion of the production environment to create the virtual machines. You then created a copy of the environment that mimics the entire production setup using these virtual machines. All the development and testing effort in the team creates clones of this virtual environment. This simplifies the installation and configuration of your application production machines.

  • A tester has found several bugs in your application and has used snapshots in an environment to capture those bugs. Creating exact clones of that environment lets developers work on the bugs while the tester continues testing.

To create a clone of a stored environment:

  • Make sure that the network isolation capability is enabled in the stored environment.

  • Deploy as many copies of the stored environment as you need.

To create a clone of an active environment:

  • Create an active environment from virtual machines or templates and with network isolation capability enabled.

  • Make sure that the environment is configured for your needs, and then shutdown the environment.

  • Store the environment in the library; The active environment remains in its original condition.

  • After the environment is stored, deploy as many copies of it as you need.

If you create multiple clones of an environment using the store and deploy operations but without network isolation, there can be several types of network conflicts:

  • Computer name conflicts: Multiple machines on a common network will have the same computer name. Consequently, only one of the machines will have network connectivity.

  • Conflicts in Active Directory: Multiple computers that use the same identity have one entry in the Active Directory. Those virtual machines might not be able to access domain resources.

  • Conflicts in DNS: Multiple machines with the same machine name override each other’s entries in DNS. As a result, attempts to connect to virtual machines, for example, from Environment Viewer could take you to the wrong machines.

Network isolation helps prevent these conflicts by creating an internal network between the virtual machines of an environment. Lab Management generates a unique alias name for each virtual machine and registers it in DNS. Each virtual machine in a network isolated environment will have the following :

  • Two network connections: one to an internal network for communication within the environment, and one to an external network to communicate with machines outside the environment in the lab network.

  • Two IP addresses: an IP address on the internal network assigned by Lab Management, and one on the external network assigned by DHCP server of your lab network.

  • Two machine names: the original machine name for communication within the environment, and the alias name for communication outside.

The computer name, MAC address, and IP address of a virtual machine in an environment are the same for each clone on the internal network. Application components that run within the environment can use the same computer name to refer to each other in every clone. This makes them seem like exact replicas. The alias name, MAC address, and IP address of a virtual machine are different for each clone on the external network. This allows the co-existence of clones and connectivity from external computers.

Note Note

Network isolation is a misnomer because it does not really mean that the environment is not reachable from computers outside the environment. On the contrary, computers outside the environment can communicate with network isolated virtual machines by using the external IP addresses or alias names.

There are also other ways to prevent network conflicts, although without the ability to create clones:

  • Using templates while you are creating environments.

  • Fixing the conflicts manually by changing the computer name, SID, and so forth.

For more information about when to use network isolation in comparison with these other techniques, see When to Use Network Isolation.