Build developer environments fast with Microsoft Dev Box

Mechanics Team
13 min readJun 2, 2022

A first look at the new Microsoft service that leverages Windows 365 infrastructure to stream secure, ready-to-code developer workstations on demand.

Setting up a dev box is extremely arduous for both geographically distributed and co-located development teams. As a developer, you’re configuring different environments, weekly, and monthly, for new projects or team members. And it’s not unusual for you to have costly over spec’d physical machines under your desk or hosted virtual machines set up for specific projects.

As a developer, you may need to access and work with sensitive source code or elevated privileges on your local dev environments to install custom tools in SDKs. It can be a difficult task for IT to give developers the flexibility they need while keeping devices secure.

Head of product for Microsoft’s developer division, Amanda Silver, joins to share the benefits of the new Microsoft Dev Box service; a self-service experience for quickly creating dev environments when you need them. And if you manage developer teams, you’ll see how to efficiently configure and assign dev boxes that include the right tools for the job.

Get to code faster.

The new self-service experience makes it quick and easy to create dev environments as and when needed. Watch how fast a new employee can get up and running.

How to get it up and running

Microsoft’s developer-first approach to configuring and assigning dev boxes provides the right tools to keep projects moving forward. See what it takes for a dev manager to get everything up and running.

Eliminate security fears and the learning curve.

Dev box service leverages the familiar Windows 365 experience with Microsoft Endpoint Manager. See the Security & Management of Dev Box.

QUICK LINKS:

00:00 Introduction

00:48 The benefit of Dev Box.

03:12 How does Microsoft Dev Box work?

04:28 Developer experience of Dev Box.

05:13 How to connect to your Dev Box.

07:33 How to get it up and running.

08:23 What is a dev box pool?

11:08 Security & Management of Dev Box.

12:45 How to get started.

Link References:

Get on the list for the public preview of Microsoft Dev Box: https://aka.ms/DevBox-SignUp

Unfamiliar with Microsoft Mechanics?

We are Microsoft’s official video series for IT. You can watch and share valuable content and demos of current and upcoming tech from the people who build it at Microsoft.

Keep getting this insider knowledge, join us on social:

Video Transcript:

- Coming up, we take a first look at the new Microsoft Dev Box service that leverages Windows 365 infrastructure to stream secure, ready-to-code developer workstations on demand. If you’re a developer, we’ll show you the self-service experience where quickly creating your dev environments as and when you need them. Next, if you manage developer teams, we’re going to show you how you can efficiently configure and assign Dev Boxes that include the right tools for the job. And for IT, we’ll share the familiar PC management experience with Microsoft Endpoint Manager and more. And to walk us through, I’m joined today by Head of Product for Microsoft’s developer division. Amanda Silver, welcome to Mechanics.

- Thanks for having me. I’m so excited to share with you all what’s the latest and greatest for developers.

- It’s so great to have you on to really share a first look at the new Microsoft Dev Box service. This comes at a time when as a developer it’s a lot harder to get specialized hardware due to things like supply chain issues, or just like everyone else maybe you’re working in a more hybrid or distributed fashion. So are these the types of things that we’re looking to solve for, with the new Dev Box service?

- That’s a big part of it. Yes. Over the past couple of years especially, there’s been a growing number of both hybrid and remote teams. But one problem that’s true to both geographically distributed teams and co-located teams is that Dev Box setup has always been extremely onerous process. And it’s even harder when teams are remote. For example, an everyday user will set up their environment only when they get new hardware or as they start a new job, but as a developer, you’re configuring different environments sometimes weekly or monthly, as you get to new projects or as you welcome a new team member on board. So we really want to make it easier for you to get them set up, and so that you can get to your code fast.

- And I know that’s not said lightly, because as a developer it’s not unusual for you to have multiple different physical machines maybe under your desk, or hosted virtual machines that are set up for different projects. And in terms of cost, if you’re using physical hardware, you’re likely going to over spec your machines to meet any future needs that you have. So that’s going to cost a lot more than it needs to.

- Yeah. And especially when you’re onboarding a new team member or you’re starting a new project, it can be really challenging to figure out everything that you need to get set up really properly. Now the other part of the challenge is security. It can also be a difficult task for IT to give developers the flexibility they need while keeping devices secure. For example, as a developer you may need to access and work with sensitive source code or need elevated privileges on your local dev environments to install custom tools and SDK’s. And to minimize risk, IT has to keep developer workstations secure, even though they may not always be online or enrolled under management.

- And I know that hosted virtual desktop environments, they’re often used to address many of these challenges. So how do these things change now with the new Dev Box service?

- Yeah. So this is a fully managed service that’s managed under Windows 365. So there’s no additional infrastructure or management that you need to take care of. And we make it super easy to create ready-to-code secure developer workstations on demand, allowing you to move fluidly between your primary, secondary, and tertiary machines. Now each Dev Box is dedicated VM. For immediate productivity, Dev Boxes can be pre-loaded with the tools, settings, and source binaries and caches that you need. They run in Azure, so not only can they access the resources and the services that are needed in the cloud, but they can also connect on-premises resources, like file shares and databases. And you can easily switch between Dev Boxes for different tasks and workloads. They can be accessed from any device, and we have native clients for Windows and Mac OS, as well as mobile platforms like iOS and Android. Now of course, most modern browsers can be used to access your Dev Box too. And one thing to point out here is that Dev Boxes really mark a positive shift in the way that you work. Dev Boxes are designed to be ephemeral. You can retire them when you’re done with them. And importantly, the service provides a seamless workflow with developer managers, who can assign the right tools and resources for you, within your Dev Box environment. And for IT, who can easily manage your Dev Box environments, keeping them secure and up to date.

- Okay. So it’s a secure and purpose-built solution for dev teams. I’d love to walk through the experiences to get everything set up. So can we start with the developer experience?

- Yeah, absolutely. We’ve made the experience really self-service. So in this example, I’m a new member of the team, and I’ve been added to a project. Now here I have an email invite, and all I need to do to get started, is to click on this hyperlink to our team’s developer portal. So from there, I can get started. Since I’ll probably have more than one Dev Box at some point, it’s important to give it a name. Here in the Dev Box pool, I can already see the config that I want, and it’s pre-loaded with its own set of tools, libraries, and source code. And it also has the VM specs needed to match the workload. So I’ll just stick with that, and I’ll hit add, and that’s it. The creation process is kicked off, and now that normally takes a few minutes.

- Okay. So now that everything’s up and running, how would you connect then to your Dev Box?

- Yeah. As mentioned, you can really connect to it from any device. So I’ll just open my Dev Box using remote desktop. Once I’m in, you’ll see that it’s loaded with all the dev tools that I need to get started. You can see that it’s been pre-configured by my team, so I don’t need to install anything, or worry about connecting to online or on-prem services. I’ll just open Visual Studio, and I can quickly get to what I need to work on. My themes, and my preferences, and my tool settings, are all here in VS, and they’re already synced. And this image even pulled down the sources, the build binaries, and the caches. So everything’s ready to go, and I can just get into the zone and start coding.

- Nice. And I can see this really saving a ton of time, and also a ton of headaches in terms of getting everything set up, especially compared to like a vanilla virtual machine, or maybe even waiting for hardware.

- Yeah, it really does. It’s night and day compared to what you would’ve had to do before. And it lets you stay in the flow. And of course, you’re creating lots of Dev Boxes; it’s much more efficient to do it this way. Now I’m going to create another Dev Box. This time, one that’s optimized for data engineering tasks. I’ll give it a name. This time, I’ll show you all of the Dev Box pool options, each of them having their own OS image, VM spec, and network configs. Since I need one for data tasks, I’ll choose the definition for the data engineering Dev Box. Now this one has the same VM spec as the standard Dev Box from before, but the image includes different tools, like Azure Data Studio, along with the relevant IDE and debugging tools I need as a data engineer. So now I’ll just add that. Now that’s going to take a few minutes. So let’s just fast forward in time a little to when my new Dev Box is online. Now I can connect to it just like we saw before. And you can see that I have Azure Data Studio pinned to my task bar. And when I open it, I have access to the servers and the databases that I need. And of course, at any point, once I’m done with the Dev Box, I can stop or even delete it right from here. And if I need that environment again, or another instance, it’s just as easy to create new Dev Boxes whenever I need them.

- Okay. So let’s rewind though, back to the point where the dev manager sent you that first email. So what does the dev manager have to configure here to get everything up and running?

- Yeah. The dev manager plays a really crucial role here in terms of creating the images and assigning those resources. So let me start with the project assigned to me as a developer, so that I can show you what you would have to do as a dev. Now I’m in the dev center portal for Contoso, and I’ll head over to the projects, and just create one right here. Now to save time, I’ve filled in all the basic fields in advance. I’ve added a tag so that I can track this later. And from here, I can create the project, and it’s ready to go.

- Okay. So now, with your project created, what do I do to assign people to that project?

- Yeah, so everything is based on Azure AD and groups. In my case, this is the group with access to the project that I just created, and I’ll head over to the members, and you can see that I already have six people assigned to this group. Now if I wanted to add more, I’d just follow the normal process.

- So that sounds and looks pretty familiar. So we keep seeing references to Dev Box pools. Can you explain what those are?

- Yeah. They might not be what you think. They’re not existing compute that you just tap into. The pools start off as empty vessels. So you can think of them as a set of configurations that are tailored to your project needs. And the compute is only provisioned once you start to create the Dev Boxes from the pool. So let me show you how you’d configure them. Now my team is building a podcast app, and you can see that I have a general purpose Dev Box pool. And most of the team that uses it is from the west coast. Now my data engineers mostly work from the east coast, and they use a different set of tools in their pool. Now finally, I have a locked down pool designed for privileged access. Now in this case, I’ll add a new pool for my data scientists. The Dev Box definition you see with this dropdown, consists of the selected OS image, as well as the machine specs or sku. The image can be an Azure Marketplace image, or you can use one from a shared image gallery that your org refreshes regularly with the latest updates, sources, and binaries. Next, the network configuration determines which network resources this pool can connect to, and in which region. Now this is useful, because you can deploy Dev Boxes into the region closest to your dev teams, so that you can provide the highest fidelity remote experience and gigabit connection speed for transferring data. Then to control costs, you can also configure Dev Boxes in the pool to auto start and stop on a schedule. Now auto start is useful, so that machines are warm and ready to go at the start of the day, for example. In my case, I’ll just leave this setting off. Equally, you can auto stop your Dev Boxes on a set schedule, which I’ll enable here, to minimize how many machines are sitting idle outside of working hours. Now auto start and stop, both use disc hibernation when idle. So they’ll save the state from the last session, and your devs pick up from where they left off. Now finally, you can set limits as to how many Dev Boxes each user can run from a pool. So I’ll just set this to two. And once you’ve got everything configured and assigned, your dev team will automatically receive an email notification to access the projects and Dev Box pools when they’re added to the project. And something to stress here, is that we’ve really tried to take a developer-first approach. So in this case, for auto stop, it doesn’t get in the way of your work. We’ve implemented a notification that shows on the Dev Box before the schedule kicks in. So that as a developer, you get to stay in control and you can delay or skip a scheduled stop for the day.

- So the dev manager here then looks like a pretty hands on role. So for all of our endpoint manager admins that are watching, how should they think about Dev Boxes from a security and management perspective?

- Yeah, Dev Boxes are managed just like any other cloud to PC using Windows 365, or any other device using Microsoft Endpoint Manager. And you can ensure that all your standard apps and management tools get installed like any other enrolled device. All your organization’s policy settings will get deployed, and they can receive the latest Windows updates, so they’re always up to date. Now when you build out your network connections, you can automatically join Dev Boxes natively to your Azure Active Directory or to a hybrid Azure active directory domain. You can set conditional access policies, like multifactor auth, and you can ensure that everyone connects to the service using a compliant device that meets your enterprise standards.

- So it’s the same Windows and policy management experience that you’re used to, which also means that you can configure the right access controls by user or Dev Box type. And if you’re wondering, something else to point out here for security, is that just like with Windows 365, all traffic, when connecting to your Dev Boxes, is going to be encrypted, and we’re only connecting to them over outbound port 443, not an open 3389 RDP port.

- Yeah. I’m glad you mentioned that, because it’s something we get asked a lot. This is a secure and ready-to-code experience for teams of any size. We plan to support GPU enabled VMs and the Azure game development virtual machine, pre-loaded with the capabilities and tools you need as a game developer, as well as more management controls for things like automated deployments, and intelligent hibernation.

- I know a lot of people are going to be anxious to try all of this out. So for everyone who’s watching right now, looking to get started with Dev Boxes, what do you recommend?

- So the good news is that we have a public preview coming really soon. And right now you can check out aka.ms/DevBox-SignUp to get your team on the list for Microsoft Dev Box.

- Thanks so much Amanda for joining us today and giving us a first look at Dev Boxes on what they can do. And of course, keep checking back to Microsoft Mechanics to stay up to date with the latest tech in action across Microsoft. Subscribe if you haven’t already. And as always, thank you so much for watching.

--

--