Azure Dev Box is a cloud-based service that provides a managed, isolated environment for developers to work on their projects. This environment is tailored to meet the specific needs of developers, allowing them to focus on coding without worrying about the underlying infrastructure.
With Azure Dev Box, developers can quickly spin up a new environment, complete with the necessary tools and resources, in just a few minutes. This is particularly useful for developers who need to test and debug their code in a variety of different environments.
Azure Dev Box is built on top of Azure, which means it inherits all the scalability and reliability of the Azure platform. This means that developers can rely on their Dev Box environment to be always available and performant, even as their project grows and evolves.
What is Azure Dev Box
Azure Dev Box is a cloud-based development environment that allows developers to access a pre-configured Windows or Linux environment from anywhere, at any time. It's essentially a virtual machine that's been set up with all the necessary tools and software for development.
Developers can access Azure Dev Box from a web browser, without having to worry about setting up or maintaining their own development environments. This makes it easier to collaborate with team members and reduces the time spent on setting up new projects.
Azure Dev Box offers a range of pre-configured environments, including Windows 10 and various Linux distributions. These environments are pre-installed with popular development tools like Visual Studio Code, .NET, and Java.
With Azure Dev Box, developers can work on their projects from any device, without having to install or configure anything. This makes it a great option for remote workers or teams that need to collaborate on projects.
Setup and Configuration
To set up an Azure Dev Box pool, you'll need to sign in to the Azure portal and navigate to the project where you want to create the pool.
You can then select Dev box pools and choose Create.
The Create a dev box pool pane will appear, where you'll need to enter a name for the pool, select an existing dev box definition, and choose a network connection.
To deploy the dev box pool, you'll need to select Deploy to a Microsoft-hosted network and choose a region close to your expected dev box users for the optimal user experience.
You'll also need to select the privileges for the dev box creator, either Local Administrator or Standard User.
The default setting for auto-stop is Yes, but you can disable it or configure an auto-stop schedule later.
Here's a summary of the settings you'll need to enter when creating a dev box pool:
Microsoft Productivity Service
Microsoft's new Azure service, Dev Box, is a game-changer for developer productivity. It allows companies to provide tailored virtual machines to their developers, giving them the right tools and resources for the task at hand.
Developers can access Dev Box through the Microsoft developer portal, where they can click "Add dev box" to get started. The portal is a one-stop-shop for developers to get the tools they need.
Satya Nadella explains how Dev Box can contribute to reaching the state of "developer flow", where teams deliver faster and/or more than their counterparts. This is a key factor in achieving productivity.
A well-set-up machine is crucial for getting into the flow and staying there. Dev Box has the potential to help developers achieve this state by providing a performant and properly set-up environment.
Developers who can code without impediments and without worrying about infrastructure are the happiest and most productive. I've seen this firsthand in my own experience and from talking to colleagues.
The Details: Setup
To create a dev box, you need to sign in to the Microsoft Dev Box developer portal and select New > New dev box.
You'll then enter the following values: name, project, and dev box pool. The name must be unique within a project, and you can choose a project from the dropdown list.
You should also select a dev box pool, which includes all the dev box pools for that project. Choose a dev box pool near to you for least latency.
After making your selections, the page shows you the following information, and you select Create to begin creating your dev box.
You can track the progress of creation using the dev box tile in the developer portal. If you encounter a vCPU quota error with a QuotaExceeded message, ask your administrator to request an increased quota limit.
To create a dev box definition, you first need to create a dev center. In the dev center, you select Dev box definitions and then select Create.
You'll enter the following values: name, image, image version, compute, storage, and enable hibernation. You can select an image from Azure Marketplace or from Azure Compute Gallery.
You can also select the compute combination and storage for your dev box definition. Leave the enable hibernation checkbox unselected.
To create a dev box pool, you need to associate it with a project. You sign in to the Azure portal, select Projects, and then open the project in which you want to create the dev box pool.
You select Dev box pools and then select Create. You'll enter the following values: name, dev box definition, network connection, dev box Creator Privileges, enable Auto-stop, stop time, time zone, and licensing.
You can select Deploy to a Microsoft-hosted network and choose a deployment region for the dev boxes. You can also select Local Administrator or Standard User for dev box Creator Privileges.
The Azure portal deploys the dev box pool and runs health checks to ensure that the image and network pass the validation criteria for dev boxes.
Here's a summary of the steps to create a dev box pool:
Network and Access
You can configure the network connection for your Azure Dev Box in accordance with your organizational policies.
To create a network connection, you must choose the Active Directory join type, which depends on whether your dev boxes need to connect to cloud-based resources, on-premises resources, or both. For cloud-based resources, use native Microsoft Entra ID, and for both, use hybrid Microsoft Entra ID.
Here are the Active Directory join type options:
- Native Microsoft Entra ID for cloud-based resources
- Hybrid Microsoft Entra ID for on-premises and cloud-based resources
After creating a dev box, you can connect remotely to the developer virtual machine using a Remote Desktop client application or by connecting through the browser from within the developer portal. The new Windows App remote desktop client is the recommended client for Microsoft Dev Box.
Network Connection
Creating a network connection for your dev boxes is a crucial step in setting up your development environment. IT administrators and platform engineers configure the network in accordance with their organizational policies.
Network connections store configuration information, like Active Directory join type and virtual network, that dev boxes use to connect to network resources. This information is essential for your dev boxes to function properly.
You must choose the Active Directory join type when creating a network connection. There are two options: native Microsoft Entra ID and hybrid Microsoft Entra ID.
Here are the details on when to use each option:
- Use native Microsoft Entra ID if your dev boxes need to connect exclusively to cloud-based resources.
- Use hybrid Microsoft Entra ID if your dev boxes need to connect to on-premises resources and cloud-based resources.
To learn more about native Microsoft Entra join and Microsoft Entra hybrid join, you can refer to the article "Plan your Microsoft Entra device deployment."
Project Access
To give team members access to a project, you must first sign in to the Azure portal and select the project you want to give them access to. From there, you can assign the Dev Box User role to them, which allows them to create, manage, and delete their own dev boxes.
To assign the Dev Box User role, you'll need to follow these steps: sign in to the Azure portal, search for projects, select the project, go to Access control (IAM), and add a new role assignment. You can then select the Dev Box User role and assign it to the users or groups you want to give access to.
You can also delegate administration of projects to a member of the project team by assigning the DevCenter Project Admin role to them. This allows them to create and manage dev box pools, set dev box limits, and configure auto-stop schedules. To do this, follow the same steps as assigning the Dev Box User role, but select the DevCenter Project Admin role instead.
Microsoft Dev Box supports work and school accounts, but doesn't support the use of guest accounts or personal accounts. This means that only users with a work or school account can be assigned the Dev Box User or Project Admin role.
Frequently Asked Questions
Why use DevBox?
Get instant access to purpose-built workstations for your project, eliminating infrastructure wait times and streamlining your development workflow
Sources
- https://tobiasfenster.io/microsoft-dev-box---a-new-azure-service-for-developer-productivity
- https://learn.microsoft.com/en-us/azure/dev-box/concept-dev-box-concepts
- https://learn.microsoft.com/en-us/azure/dev-box/quickstart-create-dev-box
- https://learn.microsoft.com/en-us/azure/dev-box/quickstart-configure-dev-box-service
- https://learn.microsoft.com/en-us/azure/dev-box/overview-what-is-microsoft-dev-box
Featured Images: pexels.com