Blog Post

Microsoft Developer Community Blog
6 MIN READ

Reimagining Developer Workstations with Microsoft Dev Box

acangialosi's avatar
acangialosi
Icon for Microsoft rankMicrosoft
May 23, 2023

[Update: 7/10/2023] We’re excited to announce that Microsoft Dev Box is now generally available for production use. Microsoft Dev Box is a managed service that lets developers create on-demand, high-performance, secure, ready-to-code, project-specific workstations in the cloud. Sign-in to the Azure portal and search for “dev box” to begin creating dev boxes for your organization.

----------------------------------------------------------------------------------------------------------------------------------------------------

In August 2022, we announced the public preview release of Microsoft Dev Box: self-serve, ready-to-code, cloud-based developer workstations for teams of any size. Over the last year we worked closely with more than 50 organizations across financial services, retail, automotive, and other industries that provided indispensable feedback and recommendations. Internally, we deployed Dev Box to more than 9000 engineers at Microsoft in the Developer Division, Azure, Office, Bing, and Windows teams. Today, we are excited to share that Dev Box generally availability is coming July 2023. To learn more read on and check out our Microsoft Build session: Developer in the cloud with Microsoft Dev Box.

 

Microsoft Dev Box in Microsoft

I built my last developer PC in 2021. My goal was to build a workhorse that could handle anything I could throw at it. As the group product manager for Visual Studio’s core platform team, I needed a workstation powerful enough to build and run the .NET & C++ apps I use for learning and to test new Visual Studio features as they are developed. Occasionally, this also meant building and debugging Visual Studio extensions that requires running two instances of Visual Studio with one attaching to the other.

 

Even with a fast machine, I still hit other issues when working on complex projects that get in the way of getting to code. As a platform team, we collaborate with teams all over Microsoft and often clone partner projects to test Visual Studio at scale. Each project has its own onboarding process that can take days to run through—requiring me to install and configure the right tools, request permission to source code, and get access private environments—not to mention building in the source of repos that are often gigabytes or more.

 

Developers constantly deal with challenges like those I mentioned as they move between projects—it’s not just a matter of how powerful your machine is (though that’s certainly important), but how fast you can get set up to start coding. This is doubly true in the era of hybrid work, in which many developers are prioritizing flexibility to enable them to work from anywhere. When we started designing Microsoft Dev Box, these were some of the top challenges we wanted to solve with:

  • Self-service developer workstations with SKUs that range from 8 to 32 core vCPUs, up to 128 GB of memory, and 2 TB of storage
  • Project and role-specific images that can be pre-built with all the tools, configurations, source, and binaries to help developers get straight into their code
  • Intune enrollment that delivers best-in-class device management to secure and monitor dev boxes alongside the rest of your portfolio
  • Project-based virtual networks that enable admins to limit access to sensitive resources, databases, or internal endpoints to approved team members on specific dev boxes

At Microsoft, we’re actively transitioning to Dev Box, and already, the onboarding process that used to take days now takes me about 20 minutes. Every time I create a dev box, it has all the tools, source, and binaries I need to run some of the most complex projects in Microsoft, shortening onboarding time for partners and new team members alike. Nowadays, I mostly use my custom-built developer PC to create or connect to existing dev boxes and the occasional cat video.

 

And I’m not alone—I’m proud to say more than 9,500 Microsoft engineers are now using one or more dev boxes as a replacement for their primary development machine, to isolate projects, or to test out new features. Read more about our internal journey deploying Microsoft Dev Box from our own platform engineering team.

 

Getting Dev Box Ready for General Availability

Throughout the private and public preview, we’ve worked with many customers like General Motors, National Instruments, and 1ES—our own internal platform engineering team—all of whom have provided valuable feedback to help us make Dev Box the best tool it can be. Last year we partnered with General Motors to help move their software development to the cloud. Listen to how Microsoft Dev Box has helped General Motors, where the need for speed is critical, get their products to market faster.

As we get Dev Box ready for general availability, we’re excited to announce several new features that are already available in the public preview version of Dev Box today.

 

16 and 32 Core SKUs

Dev Box is designed to meet the most demanding workloads. You can now configure your Dev Box deployments to use higher-powered Dev Boxes SKUs to develop and run high-performance, compute, and memory intensive workloads. The following SKUs will be available at GA: 16 vCPU 64 GB RAM, and 32 vCPU 128 GB RAM. In addition, a 2TB SSD storage option will also be available.

Hibernate 8 and 16 core dev boxes

No one wants to pay for unused compute, so organizations often shut down idle VMs to minimize costs. Unfortunately, this means that developers’ workstation VMs often get shut down overnight, requiring them to reopen all their tools when they come in at the start of the day. To eliminate this issue, 8 and 16 core dev boxes can be hibernated so that when you resume a dev box, your apps and work are in the same state you left them. Admins can schedule hibernations for the end of the day in a specific region and by GA will also be able to configure dev boxes to hibernate after a user disconnects. Of course, a dev can always skip an upcoming hibernation from the notifications that appear.

General Developer and Pre-build Visual Studio Starter images

To help ensure dev and dev infra teams can get started as quickly as possible with Dev Box, we’ve created several developer-focused starter images for Microsoft Dev Box on the Azure Marketplace.

Windows client for developers

Microsoft Visual Studio 2019

Microsoft Visual Studio 2022

These images contain Windows optimizations, apps, and settings to improve the overall developer experience. These images can be used as-is or they can be the base image for further customization by dev teams.

 

Config-as-code definitions for Dev Box (Private Preview)

One of the great things about Dev Box is that it enables you to deploy more than one workstation at a time, each with a different configuration for a different project or task. But setting up multiple custom images for all the dev teams across an organization puts stress on dev infra teams.

 

To remove some of this burden, we’re adding config-as-code capabilities to Dev Box. This will enable dev teams to customize the secure, base images provided by IT with all the tools, source, binaries, caches, and more using YAML configuration files stored in a git repository. Central IT can give developers as much or little flexibility as needed, setting up guardrails that can curate scripts and software that can be used to customize a dev box. Sign up for the private preview at https://aka.ms/dev-box-config-as-code.

Visual Studio Optimized for Dev Box

We want Dev Box to deliver the best possible experience for developers using any tool—but that is especially true for developers using Visual Studio. Starting with the 17.7 previews, Visual Studio 2022 includes several new features designed to make it easier to onboard to a dev box and boost your performance in Visual Studio. These include:

  • Pre-built Visual Studio 2019 and 2022 images
  • Automatic sign-in to Visual Studio using the account tied to your dev box
  • Git Credential Manager integration with the Web Account Manager in Windows
  • Faster performance through pre-generated caches deployed with your dev box

Read the Visual Studio developer blog to learn more about Visual Studio’s optimizations for Microsoft Dev Box.

 

Getting Started with Microsoft Dev Box

Dev Box has already transformed the developer workstations at Microsoft from rigid, long-running physical machines to project-specific, ready-to-code development environments in the cloud. As we get ready for general availability in July 2023, we’re excited to see more developers leave behind the challenges of physical workstations to focus on writing the code only they can write.

 

If you’d like to see what Dev Box can do for your team, you can start a proof of concept today at https://aka.ms/devbox.

Anthony Cangialosi
Group Product Manager

Updated Jul 10, 2023
Version 2.0
  • ManuelAtAlpine's avatar
    ManuelAtAlpine
    Copper Contributor

    This seems incredibly similar to codespaces on github and I suppose remoting into devcontainers. Is there more to it?

  • SimonDat's avatar
    SimonDat
    Copper Contributor

    While I was keen to try out Azure Dev Boxes after watching Anthony's MS Build video, I was disappointed by the prerequisites, particularly the Azure Hybrid Benefit requirement.  All MS documentation that I could find refers to Azure Hybrid Benefit as being for the migration of on-prem servers to Azure.  There is nothing about how it relates to Azure Dev Box.  For example, does Azure Hybrid Benefit apply to a company as a whole, or is it linked to a single server?  If it's linked to a single server, is that sufficient for creating as many Dev Boxes as I like?  If I create an Azure Dev Box will the licence conditions mean I'm using up one of the licences, preventing the infrastructure team from migrating the associated on-prem server to Azure? (that would kill Azure Dev Boxes dead in their tracks in our company; the infrastructure team holds the server licences and they wouldn't be happy if developers took away their rights to migrate servers to Azure)

     

    To add to the confusion, when attempting to create a Dev Box the "Create a dev box pool" page has a link "learn more about dev box licensing requirements" which leads to an article "How to deploy Windows 11 on Azure", https://learn.microsoft.com/en-us/azure/virtual-machines/windows/windows-desktop-multitenant-hosting-deployment.  This suggests that to run Windows 11 in Azure all you need is a certain Microsoft 365 licence (they list the relevant licences) and that Azure Hybrid Benefit is only needed for Windows Server VMs.  However, back on the "Create a dev box pool" page, you cannot create a Dev Box Pool until you tick the checkbox "I confirm that my organization has Azure Hybrid Benefit licenses, which will apply to all dev boxes in this pool."

    So, while the technical documentation explaining how to create a Dev Box is up to Microsoft's usual high standards, the information about licencing is confusing and seriously lacking.

  • JohnDoe_2211770's avatar
    JohnDoe_2211770
    Copper Contributor

    It's incredibly annoying to try to read this blog post because of that animated GIF in the beginning.

  • Antichrome's avatar
    Antichrome
    Copper Contributor

    It's a great concept and we already do this - using docker on our own hardware. Each notebook is set up to host and the rest of the setup comes from containers.

  • chas-atmc's avatar
    chas-atmc
    Copper Contributor

    I looked at the sizes and pricing. Seems a 4vCPU is available (https://azure.microsoft.com/en-us/pricing/details/dev-box/#pricing). What looks a bit disappointing is the cost. IMHO at .99/hr (8vCPU) and .50/hr(4vCPU) it seems pretty expensive for the CPU, DISK and RAM you get. Preview does provide a bit of a cost break but that is ending soon. Understand this is hosted and that has definite advantages. Still looks pretty costly especially or startups on a tight budget. Also, consider the Teams Video/Audio and other video based services can be sub optimal on VMs based distributions (although one may be able to get around that). Seems a general theme with MS Cloud is the more secure/integrated you want to be the more it costs (e.g. Azure AD Features at P1 and P2). MS should consider lowering costs to provide more secure offerings to those who may not have an enterprise pocketbook. Security, which integration with Dev Boxes can promote, should not cost so much but instead be accessible to more folks. Maybe the more Azure services one consumes the lower the cost could be? For example, using Dev Box with Azure resources could lower overall Azure costs. My $.02.

  • kawata777's avatar
    kawata777
    Copper Contributor

    I am happy to hear the GA announcement. Compute SKUs starting at 8vCPU are too big for some uses. I would expect an offer from 4vCPU.