Search code examples
development-environmentazure-virtual-machineremote-desktopazure-dev-box

What are the differences between Azure Virtual Desktop (AVD) and Microsoft DevBox for development environments?


I'm seeking to understand the distinctions between Azure Virtual Desktop (AVD) and Microsoft DevBox in the context of development environments. I'd like to know the pros and cons of each option to make an informed decision for my development setup.

Specifically, I have the following questions:

  • How does AVD compare to DevBox in terms of centralized management and scalability?
  • When comparing AVD and DevBox, what factors should I consider in terms of simplification, environment configuration, security, and remote access?
  • What are the advantages and disadvantages of accessing virtual desktops remotely with AVD? And with DevBox?
  • What development tools, IDEs, and SDKs are included in DevBox? Can I expect the same tools in AVD, or are there differences?
  • What limitations or considerations should be taken into account when using AVD or DevBox for team-based development projects?
  • How do AVD and DevBox handle performance, hardware resources, and customization options?
  • For developers working with Microsoft tools like C#, .NET, and Azure Functions, among other Microsoft tools, libraries, and programming languages, which option (AVD or DevBox) is better suited?

Solution

  • Azure Virtual Desktop and Microsoft Dev Box both enable Windows desktop environments to be provided to users. AVD covers general VDI use cases. It has a larger breadth of capability than Dev Box, and generally speaking will require more ongoing configuration. Dev Box is focussed on higher-end Developer scenarios and not providing a fully featured VDI service.

    Microsoft Dev Box has specific licensing requirements for Windows & Intune, that AVD does not.

    To use Microsoft Dev Box, each user must be licensed for Windows 11 Enterprise or Windows 10 Enterprise, Microsoft Endpoint Manager, and Azure Active Directory P1.

    The crucial difference is that Dev Box is focussed on developer use cases including Self Service of multiple Dev Boxes through a dedicated portal. A Dev Box would typically be optimised to a specific project to enable the Developer to get up and running faster). Dev Box does not allow multiple users per Dev Box which is a common scenario for AVD. The portal used by Dev Box users is also leveraged by Azure Deployment Environments, which will likely be a good integration point for Azure Developers that don't want to use the main Azure Portal which is infrastructure focussed.

    I would also recommend modelling the pricing for both services (and including Windows 365 Cloud PC in this), as there can be a significant difference.

    I'd suggest that once developers have a Windows Environment to connect to, the in-VM experience between AVD and Dev Box is near identical (although this does seem to be an area which is being developed. REF: Dev Boxes providing more easy integration to Dev tooling in terms of identity - Dev Box at Build video. ). The development tools and applications inside the Windows Environment will be defined by the administrators as part of your Custom VM Image (both services leverage the Azure Compute Gallery for custom VM images).

    Microsoft Dev Box whilst now GA, is still a maturing service so you can expect the product to rapidly iterate as new features are added.