 Hi, I'm Claude Rémiard, Principal Program Manager in the Azure Tools team. In this video, I'm going to talk about the Azure DevTest Labs. This is a new service that is part of the Azure platform and now available in public preview. When we look at doing DevTest on-prem, there are clearly some issues. 65% of developers say it's too complicated and time-consuming to get development and test resources. The cost of always-on infrastructure is significant. Actually, average utilization of dedicated DevTest infrastructure is 10%. Also, developers aren't able to create and tear down environment that match production to quickly test their bits. So, a lot of organizations are looking to take their DevTest environments to the cloud. We can get cloud environments very quickly. We pay only for what we need as we go. However, developer wants to quickly start working on the environment using configurations similar to what they have in Prod. Also, they are concerned from IT about the overall cost and production fidelity of these environments. So, to help with all that in Azure, we're introducing Azure DevTest Labs. The idea of the lab is to have a construct where we can subset all the things needed by a dev and test teams within Azure. This provides fast, easy, and mean DevTest environments specifically for your team on demand. The lab allows IT teams to set quotas and policies to help control costs and track project spending. This is so developers and testers can self-serve environments while not being slowed down by IT processes required to control costs. So, in the lab, we can have everything a developer or tester in a team needs such as picking existing templates, pre-created with the latest bits so that they can start testing their apps quickly. We can also pre-provision lab environments so that they can be claimed to start working right away. We can also use container technologies such as Docker to a provision environment rapidly. In lab, we can say templates and artifacts once so that they can be shared and reused across labs as we save this to source control. For instance, when a team creates templates to simplify deployment of their apps, related tools, or their prerequisites, they can save these files into a private report associated with the lab. This now can be shared with other teams who point to the same report even across subscriptions. Also, the environment itself is nothing but an Azure Resource Manager template which we will provide as a file, which can also be saved in the repository. This file can then be used by your deployment tools and your release management tools to deploy consistently downstream all the way to production using your pipeline to Azure. The lab will also simplify integration with your existing tools. For example, we provide Chef Artifacts and VSO tasks to integrate your build and release systems with the lab. Let me now go directly to the software to show you what it looks like. So now I'm going to the Azure portal where I have a lab that was created for my team. This lab contains everything that I need. So the first thing I would do as a developer is to go in there and connect to an existing VM to start working with it. However, if there's no VM with everything that I need specifically for what I want to test, I can just go and create my own VM. To create a VM, I actually give it a name and since I have no imagination, I'll call it Cloud with a typo. Let me fix that. And then I pick a base for my VM. So the base can be either an Azure VM standard or something that we created specifically out of the build system for our team. So in my case, I'll just take a FabricAM latest build template. And from there, I could just go and give it a username and password I want on that VM. And from there, just go and create the VM. However, in this case, I will set a size for my VM. And you'll notice here in all the size possible on Azure, I'll only have those three size. This is because there's a policy on the lab that currently allows me to use one of those three size. So I'll pick an A2. And if I wanted to add additional artifacts on top of what was included in our regular templates, I would just go and select them. So here I have a list of all these artifacts. You'll notice that some of them come from a public repo while some of them come from a private repo. And I'll show how to add artifact to a private repo in a few minutes. But basically I would pick, for example, our finance interface in there. I would pick the dashboard to be installed in there. So at this point, I would create the VM with the base template we had with the latest build and those two additional artifacts that I selected. The way to add artifact to the lab is to go to a source control repository. I'll just go to the quick start and show an example in our simple artifacts and scripts, which basically will point me to our get up repo where we have publicly available artifacts. So if you noticed, in my artifacts, I had some public one and some private ones. So in my list of public one, for example, we do have one to take the result of a VSO build and deploy it. So you could actually just go and take this one, open the description of the file, and again it's a JSON file, so there's a lot of things in there. But really, when you go down to it, you have a title. This is the title that will show in the lab. You have the description that will show in the lab. You can actually attach a different icon. And then what you can do there is really one command line here that you can replace with the specific values for your own specific artifact. So that's how, for example, when I picked the artifacts we had there for our internal systems, those were hard-coded there so that when you pick them, there's nothing to enter. You just decide to have it. Once on the team took the standard one and basically you just do a save as, check in your own source control for that you've associated to the lab and that makes them available as private artifacts in the lab. And again, if other labs point to that same source control source, you also have those artifacts appear to them. And the way to add artifacts in there, artifact sources in the lab is actually to go to the settings. And the setting is a blade that is available for the lab owner or the lab admin. So that's where you would go and set up once what you need and then set your policies. So, for example, to add the artifact repository, in this case, I'm actually using a repo that is on VSO and using Git on VSO. And basically I have the information. I've entered the token once and I have that information that's there. So you connect your lab to an artifact repo and from there you have the info. The other thing that you can do there is also to create some policies. So one of them that is interesting is cost threshold where you can set a target spending for your lab and then at different thresholds you can specify which action you want the lab to go from doing nothing to sending alerts to blocking additional spend on it. And again, that's to help the team stay within guardrails and give that sense of comfort that won't go too much beyond the target spending. And other policies that you can set is the VM size and I've shown that and in this case I only have those three VMs that I can use. So as the admin you decide which sizes make sense for your team and then you can limit that so it's kind of a good self-policy for the team not to use sizes that are more expensive than what you need. Another policy you can set is the max number of VM allowable for the on the lab. Again, that's a good way to self-police on those. As the admin I can have more and see all of them but basically for a different user, regular user than in this lab who would have only two VMs at a time. And then that one is very valuable. It's the ability to set a shutdown time where actually the VMs in the lab get shut down so you don't have to pay for them. We'll add more schedule start and more scheduling options as we go forward but just the fact to have a certain point in time where we shut them down when we don't use them that applies to a lot of VMs and that can be really in optimizing costs in there. You can also set on a VM to actually bypass this shutdown automation for example for VMs who are running builds or running tests. So you have control on which VMs to apply that to or not. One of the also interesting way to get a VM I haven't talked earlier is actually here we see some VMs are created, they are stopped and actually what we can do is have our build system to create the VMs automatically in the lab with the latest bits for example overnight or after chicken and then those are stopped in the lab so the cost is really minimal, it's just to save the image and then you can go in there and start them and connect them and start working. So the idea is that in the morning you come in you pick one of those pre-created VMs and start working with them and the way to connect them to the lab is through a number of tasks that we're providing. So for example, if I go to the here into a build definition that we have from VSO Visual Studio Online Build I can actually now in the build system we're able to add a number of tasks we can do we can build different things and some of the deployment tasks for example would be to allow you to create a lab VM and also to delete a lab VM and maybe in between you want to go and basically run some tests in there so in this scenario and I'll just close this for example you would go and create the VM in the lab so let me go into that task I'll give it a name, let's say a test VM and at the end run my test provide the right information there and then basically at the end just remove my test VM and again that's a good way for example to create VMs and reduce them for tests but also for create VM with the latest bits and save them as a template so if you like what you've seen you can try out the Azure DevTest Lab public preview by going to the DTL link shown here and clicking on try you can also learn more about our service via the DTL guide link finally please do send any of your questions, feedback or comments to Azure DTL support at Microsoft.com thank you very much for watching