It doesn’t seem that long ago that Microsoft introduced Windows 365, a new virtual desktop infrastructure (VDI) solution in the cloud, similar to Azure Virtual Desktops. Seeing the potential for even further use cases that can be met with “desktop in the sky” solutions, Microsoft has now introduced a new solution called Microsoft Dev Box to fill another niche area of need for virtualized desktops in the cloud. Microsoft Dev Box caters to developers who need specific tools to carry out everyday development tasks. So what exactly is Microsoft Dev Box?
The challenge of building and maintaining a developer workstation
Developer workstations require a specific configuration, tools, software, and utilities typically not installed on standard productivity endpoints. As a result, the time investment needed to configure and set up a developer workstation can be tremendous. In addition, developers may work on projects that change the requirements over time. Finally, if working on multiple projects, developers may have dependencies that conflict between projects, causing unnecessary troubleshooting, delays, and other issues.
Organizations may bring in contractors and other employees to work on specific projects. However, onboarding new contractors and employees, including the developer workstations needed, can be resource-intensive from an IT perspective. Furthermore, providing these resources is arguably never a self-service process. IT is usually required to be involved to provision the virtual machine resources needed, configure connectivity, access to source code, etc.
Other challenges, especially when working with remote development teams, include security and accessibility, connection speeds, etc. In addition, running remote development workstations from a private data center may not offer remote developers the resiliency and network latency needed.
Microsoft breaks down developer challenges into three areas as part of their new Dev Box offering:
- Underpowered local hardware – Many developers may already be working on underpowered hardware or hardware in desperate need of a hardware refresh. This issue is one of the leading challenges with running multiple development environments.
- Fragile Dev environments – Each project has its list of tools, runtimes, dependencies, and other requirements to build applications. Multi-tasking can lead to conflicting device settings and applications
- Limited bandwidth – Developers in remote locations with limited bandwidth can spend hours synchronizing code.
- Supply chain woes – It is becoming difficult to get hardware with current supply chain issues
- Managing global teams – supply access and hardware to remote teams is an age-old problem that continues to challenge business-critical development
- Emerging security risks – Malicious attacks are increasing, and supply-chain attacks are a real threat where remote developers and developer workstations are a prized target
What is Microsoft Dev Box?
Microsoft’s new Microsoft Dev Box solution is a unique offering that sets out to help solve the traditional challenges of development environments and, specifically, create development workstations in the cloud. However, when you boil down the solution, it is another offering as part of the Windows 365 solution introduced by Microsoft. Microsoft calls Dev Box ready-to-code, secure dev workstations for a hybrid team.
It it places developers in control of creating and maintaining the DevBox images they need to use for various development projects, giving them a self-service way to manage their development workstations. Different projects may require different types of tools and resources than others. With Dev Box, developers can include the unique project requirements, applications, and software across the various images they prepare in the Dev Box solution. Developers can also use Dev Box in conjunction with their local development environment.
For example, running the wide range of local virtual machines needed to satisfy the development requirements of all development projects could take a tremendous amount of resources and a high-end workstation. Instead of using a local workstation for all their development needs, developers can augment their local development environment with any number of Dev Boxes and have these available when needed.
As with all cloud resources, the advantage is that resources can be spun up and spun down as needed. But, again, this provides flexibility over cost and consumption. Developers can even include custom application source code built into their Dev Box instances. This capability allows them to “hit the ground running” with the latest code without waiting for the build process to complete.
Building on the Microsoft Azure cloud model of provisioning resources, Dev Box allows teams to right-size the virtual machines used as their Dev Box. Additionally, when configuring the Dev Box instances, teams can select from a range of SKUs to define the right compute level for the project at hand. Currently, Dev Box resources can range from:
- 4 to 32 cores
- Up to 128 GB of memory
Dev Box provides rich integration with native Azure services and offerings, such as Azure Active Directory. For example, with Azure Active Directory, developer accounts can be placed in the appropriate Azure Active Directory groups to assign permissions to Dev Boxes they need to access.
This type of administration helps to ensure role-based access control governance is enforced while development priorities and objectives are met.
Dev Box takes advantage of Azure Active Directory groups for role-based access
Security and lifecycle management with Microsoft Intune
The advantages of the new Dev Box are seen, and they offer many benefits compared to provisioning traditional development workstations. These advantages include fully customized development images, Azure Active Directory role-based access, and OpEx vs. CapEx benefits. As mentioned, it also holds advantages, such as having the ability to quickly spin up cloud-housed development workstations. It also includes capabilities, such as customized application source code in the Dev Box images, Azure Active Directory for role-based access control, and OpEx advantages.
However, one of the labor-intensive aspects of managing desktop infrastructure across the board is lifecycle management, patching, configuration management, policies, governance, etc. Since the new Microsoft Dev Box is part of the Windows 365 ecosystem, it allows organizations to use Microsoft Intune as an all-in-one solution to manage their Dev Boxes and other Windows 365 desktops. In addition, this allows IT to have the appropriate security and governance controls in place for Dev Box.
Microsoft Endpoint Manager admin center and controlling updates
In addition to the policies, governance, and patching that can be controlled using Microsoft Intune, there are many other security benefits with the Dev Box that take advantage of the native security features built into Microsoft Azure. For example, IT admins can quickly isolate compromised or suspect Dev Boxes and easily require certain compliance from the device connected to the Dev Box. They can also require multi-factor authentication and configure risk-based policies for accessing proprietary or otherwise sensitive source code.
How does this translate to real-world benefits for developers?
Imagine a developer joining a new team for a specific development project. One of the first tasks required of most developers in this position is configuring their development environment. They must first install all the dependencies, components, IDEs, and other requirements allowing them to collaborate on the development process.
Traditionally, this process might require the developer to read long requirements or a Wiki page to get up to speed with the requirements needed for the project. In addition, installing and configuring the environment and the requirements and dependencies for the software project can take hours, if not days, to complete.
With Microsoft Dev Box, the newly onboarded developer, instead of receiving a document with the list of requirements needed, can receive a link in their inbox that takes them to the Dev Box portal. On the Dev Box portal, a new developer workstation is provisioned with the click of a button. It contains all the latest source code, tools, caches, and packages to be productive. It is also preconfigured with the appropriate hardware required to successfully carry out the development project.
In addition, imagine the development workstation is preconfigured with all the network dependencies and connectivity to core development resources from the Dev Box. Then, the developer can instantly connect to the newly provisioned Dev Box in a web browser or using a Remote Desktop Connection.
Developers can use their assigned email address as their login to their Dev Box. Upon their first login, the developer can launch Visual Studio (or other IDE) immediately and have access to the latest code for the application.
Developers using Dev Box immediately have access to the latest code and development tools
Developers are also removed from the traditional challenges of working on multiple projects with differing dependencies. With Dev Box, they can easily add additional Dev Boxes allowing them to multi-task between projects, apps, and dependencies effectively.
The scenario and capabilities mentioned above are the new reality of what is capable with the new Dev Box solution from Microsoft. It helps to shortcut the process of onboarding developers significantly and get them up to speed with a development environment needed to begin development as soon as possible, with as few blockers as possible.
Signing up and using Dev Box
Currently, Microsoft Dev Box is only available as a private preview. So, organizations interested in a proof-of-concept environment to use Dev Box can sign up to get on a list to evaluate Microsoft Dev Box at the following URL:
- https://aka.ms/devbox-signup
- Introducing Microsoft Dev Box – The official Microsoft blog post covering the Dev Box solution
Below is a screenshot from Microsoft showing the Dev Box pools screen. As you can see, it follows suit with creating other Azure resources, including Windows 365.
Configuring new Dev Box pools in Microsoft Azure
Thoughts and wrapping up
Microsoft has been doubling down on the need for hybrid and remote workstations for productivity workers and now developers. They certainly have a leg up on the competition since most VDI and other remote desktop solutions target Microsoft Windows as the endpoint. In addition, they can undoubtedly offer all-inclusive solutions with licensing and other attractive benefits for organizations that want to take advantage of what they have to offer.
As cloud migration and hybrid initiatives continue to gain momentum with most organizations, cloud VDI and cloud workstations are becoming more desirable as organizations have made a tremendous pivot to remote work and remote development. It will be interesting to see how organizations adopt and use the Microsoft Dev Box solution. One thing is certain, Microsoft is seriously going after the cloud desktop market, and they have started very strong with the portfolio of offerings found in the Windows 365 solution.