Azure DevTest Labs

Published on July 18, 2016

Azure DevTest Labs

    More than a month ago, DevTest Labs , a new Microsoft Azure service for creating cloud development and testing environments, received public availability .

    In short, DevTest Labs is a laboratory for creating sets of virtual machines based on Windows and / or Lunux images. You can use as many ready-made images (including from the Azure Marketplace gallery ), or download your own from VHD files.

    image

    You can also expand the created virtual machines with so-called artifacts. Artifacts are JSON files in which certain custom actions are performed when creating a virtual machine. For example, an artifact can act as a script to install an external component, or perform some configuration action on a virtual machine. By default, you get access to a large set of pre-made artifacts from the DevTest Labs community public repository .

    image

    After reading the ready-made examples, you can create your own repository with artifacts and connect it to your DevTest Labs . You can use GitHub or VSTS as a repository. Formula

    Toolallows you to create viable configurations of virtual machines, including: image, size, a set of artifacts, network settings, etc. This approach is convenient if you need to often create an environment with common configurations.

    DevTest Labs contains a large set of tools to control the resources and cost of environments. In addition to supporting the standard Azure Role-Based Control (RBAC) , the following set of functions becomes available to you:
    • The function of automatically turning on / off the virtual machines of the environment allows you to save your finances during periods of time when your environment is not used.
    • You can set restrictions on the size and number of created virtual machines restrictions on top of the cost of the environment.
      image

    • Virtual Network settings allow you to set prohibitions on the use of Azure virtual networks and subnets, as well as control the creation of public IP addresses.
      image

    • The Cost thresholds diagram is a convenient tool for monitoring the current and predicted cost of the environment per month.
      image

    • You can also limit the list of Azure Marketplace images that can be used in the lab.
      image



    All resources created in DevTest Labs (custom images, artifacts, images, etc.) are reusable within the subscription, so you can reuse them in your other laboratories.
    DevTest Labs is fully supported by Azure Resource Manager . Thanks to this, you can create ready-made environments from ARM templates. You can view the gallery of ready-made templates here .

    image

    Ready-made tasks for managing DevTest Labs environments in Visual Studio Team Services are already available . These tasks allow you to create, stop and start the environment during the build or Release Management process .
    In addition, DevTest Labs environment management is available through: Azure PowerShell, REST APIs, and the .NET SDK. Thus, thanks to customization, you can integrate DevTest Labs into your existing processes, regardless of the selected CI system.

    image

    DevTest Labs is a pretty interesting service. First of all, it can be useful for teams that work with various configurations of virtual machines and take care of minimizing the cost of the environment. DevTest Labs is constantly evolving and gaining new opportunities. If you have any ideas or suggestions for improving this service, then you can write them on the MSDN blog . Use questions here .