Getting to know Azure DevTest Labs
A (very) long time ago, I was one of the first people to obtain a Windows 2000 Microsoft Certified Systems Engineer (MSCE) certification. Back then, just as now, I liked to test things out in a lab before introducing my latest technical interests into production—or these days, publishing what I learn to https://docs.microsoft.com. Of course, in the old days, the only way to test anything having to do with computers or Active Directory functionality was to have a room full of PCs along with their assorted cables and peripherals. In my case, I had all that crammed onto storage shelves in a small closet under the stairs at my house. “My office” quickly became an impromptu sauna from the heat given off by running all the hardware necessary to try out this new Active Directory stuff. I spent many sleepless nights in there studying and learning…sweating, and wishing there was an easier way to build a lab.
Fast forward a year or two and I’m working as an SMS 2.0 (now System Center Configuration Manager) administrator managing and pushing software and Windows updates out to thousands of computers. Doing that without first testing to ensure havoc didn’t ensue seemed like career suicide to me so, you guessed it, I had another wall of computers in my office representing each of the various operating systems and configurations that I was responsible for keeping up-to-date. And again, my office stayed pretty hot most days.
Then one fine day, I discovered Microsoft Virtual PC 2004. Woah, I could emulate multiple PCs on one desktop computer?! Nirvana.
I know, it sounds silly now, but back then this discovery was a life-changing event for me. With that in mind, you can probably imagine how giddy I became when I later discovered Hyper-V and hydration kits that I could use to build out on-demand labs. And later when scalable Azure virtual machines replaced Hyper-V as my virtualization technology of choice. However, nothing that has happened during my long saga of lab computer trials and tribulations can compare to the paradigm shift my test lab setups are currently undergoing with Azure DevTest Labs.
This Azure service automates creating, configuring, and managing developer and test environments in the cloud. For those enterprise client management folks in the audience—this is like cloud-based MDT leveraging Azure virtual machines with an easy to use management interface standing by to answer all of your lab needs [head exploding]. Needless to say, it’s my new favorite Azure thing and I want to share it with you.
Note: Of course, you’ll need an Azure subscription to use Azure DevTest Labs on a regular basis, but even if you don’t have a paid Azure subscription you can still take DevTest Labs on a test drive using a free, 30 day trial Azure account.
Azure DevTest Labs can be used for a lot of much more complicated scenarios than I use it for, and there’s some great documentation to get you started at https://docs.microsoft.com/azure/devtest-lab/devtest-lab-overview, but for now I’m going to show you how to use it for a personal test lab similar to what I use for my own personal testing and learning or for creating conference demo environments. That will provide you with the basics and hopefully get you as excited as me about its possibilities.
Have Azure credits?
You'll need a subscription that provides you monthly Azure credits to use DevTest labs and use client OS images (Windows 7 and later). If you don't have that right now, here's some information to get you pointed in the right direction:
- Overview of subscriptions that give you Azure credits : https://www.visualstudio.com/vs/pricing/
- Azure credits by subscription type:https://azure.microsoft.com/en-us/pricing/member-offers/msdn-benefits-details/
- A new Visual Studio Professional subscription is $1,199 ($50 Azure credits per month), but only $799 for renewals. $50 monthly Azure credit means it’s basically only $200 a year (from the 2nd year on if you use all the credits each month anyway...and you will).
- A new Visual Studio Enterprise subscription ($150 Azure credits per month) is $5,999, renew at $2,569.00.
- New Visual Studio Test Professional Ssbscription ($50 Azure credits per month) is $2,169, renew at $899.
- MSDN Platforms subscription ($100 Azure credits) *
* MSDN Platforms is available exclusively through Microsoft Volume Licensing. For pricing and purchase details, contact your Microsoft account representative, Microsoft Partner, or an authorized volume licensing reseller.
Ready to get started?
To get your first Azure DevTest Lab set up, just log into your Azure subscription, search the available Azure services for DevTest and select DevTest Labs:
Once you’ve opened the DevTest service blade, just click Add and fill out the required metadata to establish your first DevTest labs instance. You can have as many labs as you’d like, and it’s recommended that at a minimum you have a development lab and a production lab. For now, it’s OK to have just one while you’re learning the ropes, but it’s probably obvious to many of you why you’d want to keep those two environments separate. You’ll thank yourself for setting up both a Dev and Prod environment if you start creating your own custom artifacts later…and you will. Also notice the nifty auto-shutdown feature that helps protect you from leaving an Azure VM running all weekend for no reason and burning through your Azure subscription credits…not that that’s ever happened to me or anything [shrug]:
Now you know how to create your first Azure DevTest Lab setup(s) to get started. I’m planning on writing a fairly long blog post series on the ins and outs of DevTest Labs to share what I’ve learned about it so stay tuned to learn how to:
- Creating your first VMs using formulas (templates) and publicly available artifacts (scripts)
- Connect your personal GitHub repo to your lab so you can use your own artifacts
- How to modify and interact with GitHub repo files to create artifacts
- How to create and modify artifact JSON files to control artifact behavior
- How to create and catch errors in artifact PowerShell files that interact with your VMs.
…and more on the way!
You’ve seen my blog; want to follow me on Twitter too? @JeffGilb.