You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/dev-box/concept-dev-box-deployment-guide.md
+81-17Lines changed: 81 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,10 +6,12 @@ ms.service: dev-box
6
6
author: RoseHJM
7
7
ms.author: rosemalcolm
8
8
ms.topic: concept-article
9
-
ms.date: 08/22/2025
9
+
ms.date: 03/31/2026
10
+
ai-usage: ai-assisted
10
11
ms.custom:
11
12
- template-concept
12
13
- copilot-scenario-highlight
14
+
- awp-ai
13
15
#Customer intent: As a platform engineer, I want to understand the process, considerations, and configuration options so that I can successfully plan and implement a Microsoft Dev Box deployment.
14
16
---
15
17
@@ -28,7 +30,7 @@ The deployment of Microsoft Dev Box requires the [involvement of different roles
28
30
1. Configure network connections for the dev center or projects.
29
31
1. Create or attach Azure Compute Galleries (optional) for image governance.
30
32
1. Attach a customization catalog (optional) for setup tasks.
31
-
1.Create dev box definitions (image + compute size).
33
+
1.Configure images and compute (image definitions, custom images, or marketplace images; select compute size and storage).
32
34
1. Create projects and set dev box limits.
33
35
1. Create dev box pools (choose network connection and auto-stop).
34
36
1. Configure Microsoft Intune (device config, conditional access, privilege management).
@@ -76,7 +78,7 @@ The following table lists requirements that could influence your Microsoft Dev B
76
78
|| Multiple project with different team leads and permissions. | Permissions for development projects are controlled at the level of the project within a dev center. Consider creating a new project when you require separation of control across different development teams. |
77
79
| Dev box configuration | Different teams have different software requirements for their dev box. | Create image definitions, custom images, or use marketplace images to represent different operating system/software requirements across your organization. Image definitions use YAML-based customization files and allow independent selection of compute and storage. For example, create an image definition for data scientists with data science tooling. When you create a dev box pool within a project, you can select from available image sources and independently choose compute size and storage. |
78
80
|| Multiple compute/resource configurations. | Modern dev box pools allow independent selection of compute size and storage, providing greater flexibility than legacy dev box definitions. Choose the appropriate compute and storage configurations when creating dev box pools based on team requirements. |
79
-
|| Developers can customize their dev box. | For per-developer customization, for example to configure source control repositories or developer tool settings, you can [enable customizations for dev boxes](./how-to-customize-dev-box-setup-tasks.md). |
81
+
|| Developers can customize their dev box. | For per-developer customization, for example to configure source control repositories or developer tool settings, you can [enable customizations for dev boxes](how-to-configure-user-customizations.md). |
80
82
|| Standardize on organization-specific VM images. | When you configure a dev center, you can specify one or more Azure compute galleries, which contain VM images that are specific to your organization. With a compute gallery, you can ensure that only approved VM images are used for creating dev boxes. |
81
83
| Identity & access | Cloud-only user management with Microsoft Entra ID. | Your user management solution affects the networking options for creating dev box pools. When you use Microsoft Entra ID, you can choose between both Microsoft-hosted and using your own networking. |
82
84
|| Users sign in with an Active Directory account. | If you manage users in Active Directory Domain Services, you need to use Microsoft Entra hybrid join to integrate with Microsoft Dev Box. So, you can't use the Microsoft-hosted networking option when creating a dev box pool, and you need to use Azure networking to enable hybrid network connectivity. |
@@ -85,11 +87,32 @@ The following table lists requirements that could influence your Microsoft Dev B
85
87
|| Custom routing. | When you require custom routing, you need to set up an Azure network connection. As a result, you can't use the Microsoft-hosted networking option when creating a dev box pool. |
86
88
| Network security | Configure traffic restrictions with network security groups (NSGs). | When you require network security groups to limit inbound or outbound traffic, you need to set up an Azure network connection. As a result, you can't use the Microsoft-hosted networking option when creating a dev box pool. |
87
89
|| Use of a firewall. | For using firewalls or application gateways, you need to set up an Azure network connection. As a result, you can't use the Microsoft-hosted networking option when creating a dev box pool. |
88
-
| Device management | Restrict access to dev box to only managed devices, or based on geography. | You can use Microsoft Intune to create dynamic device groups and conditional access policies. Learn how to [configure Intune conditional access policies](./how-to-configure-intune-conditional-access-policies.md). |
89
-
|| Configure device settings and features on different devices. | After a Dev Box is provisioned, you can manage it like any other device in Microsoft Intune. You can create [device configuration profiles](/mem/intune/configuration/device-profiles) to turn different settings on and off. |
90
+
| Device management | Restrict access to dev box to only managed devices, or based on geography. | You can use Microsoft Intune to create dynamic device groups and conditional access policies. |
91
+
|| Configure device settings and features on different devices. | After a Dev Box is provisioned, you can manage it like any other device in Microsoft Intune. You can create device configuration profiles to turn different settings on and off. |
90
92
91
93
See also: [Microsoft Dev Box customizations](./concept-what-are-dev-box-customizations.md).
92
94
95
+
### Network, identity, and connection decision matrix
96
+
97
+
Use the following matrix to determine the recommended connection type and join type for your deployment:
98
+
99
+
| Identity model | Egress control (NSGs/firewalls)? | On-premises access? | Recommended connection | Join type |
100
+
|---|---|---|---|---|
101
+
| Entra ID (cloud-only) | No | No | Microsoft-hosted | Microsoft Entra join |
102
+
| Entra ID (cloud-only) | Yes | No | Azure network connection | Microsoft Entra join |
103
+
| Entra ID (cloud-only) | No or Yes | Yes | Azure network connection | Microsoft Entra join |
104
+
| Active Directory (hybrid) | Any | Yes | Azure network connection | Microsoft Entra hybrid join |
105
+
106
+
### Common architecture patterns
107
+
108
+
Most organizations fit into one of the following patterns. Use these as a starting point and adjust for your specific requirements.
109
+
110
+
-**Cloud-only (simplest)**: Microsoft Entra join + Microsoft-hosted networking. Best for organizations with no on-premises dependencies and no custom egress requirements. Developers access only cloud-based resources.
111
+
112
+
-**Hybrid with Azure resources**: Microsoft Entra join + Azure network connection. For organizations that need dev boxes to access Azure-hosted services like Azure SQL Database, Azure Kubernetes Service, or Azure Cosmos DB. Use virtual network peering to connect dev box subnets to other Azure resources.
113
+
114
+
-**Full hybrid (on-premises access)**: Microsoft Entra hybrid join + Azure network connection + hub-and-spoke topology. For organizations with Active Directory Domain Services and on-premises resources (licensing servers, version control, databases). Requires ExpressRoute or VPN connectivity.
115
+
93
116
## Use AI to plan your deployment
94
117
95
118
You can use AI assistants like GitHub Copilot to help analyze your organizational requirements and generate a tailored Dev Box deployment plan. This is especially useful when you need to make decisions across networking, identity, image strategy, and cost controls.
@@ -128,7 +151,7 @@ You can customize this prompt to include your specific requirements, such as:
128
151
- Microsoft Intune conditional access requirements
129
152
130
153
> [!NOTE]
131
-
> AI-generated content can contain errors. Always validate the deployment plan against your organization's policies and the [Microsoft Dev Box architecture](./concept-dev-box-architecture.md) before implementation.
154
+
> AI-generated content can contain errors. Always validate the deployment plan against your organization's policies and the Microsoft Dev Box architecture before implementation.
132
155
133
156
For step-by-step guidance on implementing your plan, see the [deployment steps](#deploy-microsoft-dev-box) later in this article.
134
157
@@ -141,7 +164,7 @@ For step-by-step guidance on implementing your plan, see the [deployment steps](
141
164
142
165
## Deploy Microsoft Dev Box
143
166
144
-
After you've defined the requirements, you can start the deployment of Microsoft Dev Box. Microsoft Dev Box consists of multiple Azure resources, such as a dev center, projects, dev box definitions, and more. Dev Box also has dependencies on other Azure services and Microsoft Intune. Learn more about the [Microsoft Dev Box architecture](./concept-dev-box-architecture.md).
167
+
After you've defined the requirements, you can start the deployment of Microsoft Dev Box. Microsoft Dev Box consists of multiple Azure resources, such as a dev center, projects, dev box definitions, and more. Dev Box also has dependencies on other Azure services and Microsoft Intune.
145
168
146
169
To deploy Microsoft Dev Box involves creating and configuring multiple services, across Azure, Intune, and your infrastructure. The following sections provide the different steps for deploying Microsoft Dev Box in your organization. Some steps are optional and depend on your specific organizational setup.
147
170
@@ -178,20 +201,33 @@ When you connect to on-premises resources through Microsoft Entra hybrid joins,
178
201
179
202
Network planning should include an estimate of the number of IP addresses you'll need, and their distribution across VNets. Additional free IP addresses are necessary for the Azure Network connection health check. Plan one additional IP address per dev box, and two IP addresses for the health check and Dev Box infrastructure.
180
203
204
+
> [!TIP]
205
+
> **Subnet sizing example**: For 50 dev boxes, plan for at least 52 IP addresses in your subnet (one per dev box + 2 for health checks and infrastructure). A /26 subnet (62 usable IPs) supports approximately 60 dev boxes. A /24 subnet (254 usable IPs) supports up to 252 dev boxes.
206
+
207
+
When using Microsoft Entra hybrid join, also ensure DNS resolution between your dev box subnet and on-premises Active Directory. The subnet's DNS servers must resolve your AD domain for domain join to succeed.
208
+
209
+
Dev boxes require outbound connectivity to specific Microsoft endpoints, including the `WindowsVirtualDesktop`, `Windows365`, and `AzureActiveDirectory` service tags. Verify that your firewall and NSG rules allow outbound traffic to the [required FQDNs and endpoints](./concept-dev-box-network-requirements.md?tabs=W365#required-fqdns-and-endpoints).
210
+
181
211
Learn more about [Microsoft Dev Box networking requirements](./concept-dev-box-network-requirements.md?tabs=W365).
182
212
183
213
When planning your Dev Box architecture, choose both primary and backup regions. Choose a primary region close to your developers to optimize latency and avoid quota issues. A backup region prepares you for disaster recovery scenarios and lets you migrate quickly when needed. Place your Dev Center in a location central to your distributed teams—for example, between India and the US—and place pools in regions closest to each development group. For example, West US works well for Redmond-based developers, and Central US is a good backup to maintain continuity. Configure two network connections, on for each region.
184
214
185
215
### Step 3: Configure security groups for role-based access control
186
216
187
-
Microsoft Dev Box uses Azure role-based access control (Azure RBAC) to grant access to functionality in the service:
217
+
Microsoft Dev Box uses Azure role-based access control (Azure RBAC) to grant access to functionality in the service. The following table summarizes the key roles and their typical assignments:
188
218
189
-
- Grant project administrators access to perform administrative tasks on Microsoft Dev Box projects (Project Admin role)
190
-
- Grant dev box users access to create and manage their dev boxes in a Dev Box project (Dev Box User role)
219
+
| Role | Typical scope | Typical assignment |
220
+
|---|---|---|
221
+
| Owner or Contributor | Subscription or resource group | Platform engineers provisioning infrastructure |
222
+
| DevCenter Owner | Dev center | Platform engineers managing Dev Box configuration |
223
+
| DevCenter Project Admin | Project | Team leads managing pools and project settings |
224
+
| Dev Box User | Project or pool | Developers creating and managing their own dev boxes |
225
+
226
+
Assign the most restrictive role that allows users to perform their tasks. For example, a team lead who only manages dev box pools within a single project needs the DevCenter Project Admin role scoped to that project, not the Contributor role on the resource group.
191
227
192
228
Consider creating security groups in Microsoft Entra ID for granting or revoking access for admins and users for each project. By using a security group, you can delegate the task of granting access independently of their permissions on the Azure resources. For example, you could delegate granting access for dev box users to the dev team lead for that project.
193
229
194
-
Learn more about [Microsoft Entra ID groups](/entra/fundamentals/concept-learn-about-groups).
230
+
Learn more about [Dev Box roles and permissions](./concept-dev-box-role-based-access-control.md) and [Microsoft Entra ID groups](/entra/fundamentals/concept-learn-about-groups).
195
231
196
232
### Step 4: Create dev center
197
233
@@ -260,20 +296,26 @@ Consider attaching a catalog in the following cases:
260
296
261
297
Consider creating a new catalog if the tasks in the quick start catalog are insufficient. You can attach both the quick start catalog and your own catalogs to the dev center.
262
298
263
-
Learn how to [create dev box customizations](./how-to-customize-dev-box-setup-tasks.md).
299
+
Learn how to [create dev box customizations](./how-to-configure-customization-tasks.md).
300
+
301
+
### Step 8: Configure images and compute
264
302
265
-
### Step 8: Create dev box definitions
303
+
When you create a dev box pool, you specify the VM image source, compute size, and storage for the dev boxes in that pool. You can choose from multiple image approaches:
266
304
267
-
A dev box definition contains the configuration of a dev box by specifying the VM image, compute resources, such as memory and CPUs, and storage.
305
+
-**Image definitions** (recommended for new deployments): YAML-based customization files that use a base image and apply setup tasks. Image definitions allow independent selection of compute size and storage when you create a pool, providing the most flexibility.
306
+
-**Custom images**: VM images you create and store in an Azure Compute Gallery. Useful when you need fully preconfigured, validated images for your organization.
307
+
-**Marketplace images**: Prebuilt images available from the Azure Marketplace. The fastest way to get started, with options like Visual Studio and general Windows development images.
268
308
269
-
You configure dev box definitions at the level of a dev center. All dev center projects share the dev box definitions in the dev center.
309
+
> [!IMPORTANT]
310
+
> Dev box definitions are a legacy option that bundles image, compute size, and storage into a single configuration. For new deployments, we recommend image definitions, custom images, or marketplace images, which provide greater flexibility. Learn more about [image options for Dev Box](./concept-dev-box-architecture.md).
270
311
271
-
Consider creating one or more dev box definitions in the following cases:
312
+
Consider the following when choosing an image strategy:
272
313
273
314
- Development teams require different VM images because they need another operating system version or other applications.
274
315
- Development teams have different compute resource requirements. For example, database administrators might need a machine with lots of storage and memory.
316
+
- Reduce image sprawl by preferring customization tasks and catalogs. Create purpose-built images only where necessary.
275
317
276
-
Consider the cost of the compute resources associated with a dev box definition to assess to total cost of your deployment.
318
+
Consider the cost of the compute resources to assess the total cost of your deployment.
277
319
278
320
#### Decision summary
279
321
@@ -342,6 +384,15 @@ Some usage scenarios for conditional access in Microsoft Dev Box include:
342
384
343
385
Learn how you can [configure conditional access policies for Dev Box](./how-to-configure-intune-conditional-access-policies.md).
344
386
387
+
> [!TIP]
388
+
> **Recommended baseline for pilot deployments**: Consider these conditional access policies as a starting point:
389
+
> - Require multifactor authentication for developer portal access.
390
+
> - Restrict dev box access to managed or compliant devices.
391
+
> - Block legacy authentication protocols.
392
+
> - Limit dev box access to approved geographic locations.
393
+
>
394
+
> Refine these policies based on your organization's security requirements before expanding to production.
395
+
345
396
#### Privilege management
346
397
347
398
You can configure Microsoft Intune Endpoint Privilege Management (EPM) for dev boxes so that dev box users don't need local administrative privileges. Microsoft Intune Endpoint Privilege Management allows your organization's users to run as a standard user (without administrator rights) and complete tasks that require elevated privileges. Tasks that commonly require administrative privileges are application installs (like Microsoft 365 Applications), updating device drivers, and running certain Windows diagnostics.
@@ -355,6 +406,17 @@ Learn more about how to [configure Microsoft Intune Endpoint Privilege for Micro
355
406
- Define an image versioning and validation cadence when using images.
356
407
- Use customization tasks to keep base images generic; consider producing a reusable image after validation if creation time becomes critical.
357
408
409
+
## Pilot rollout checklist
410
+
411
+
Before a full production rollout, validate your deployment with a pilot group:
412
+
413
+
1.**Select pilot scope**: Choose one team (5–10 developers), one region, and one project.
414
+
1.**Define success criteria**: Set targets for provisioning success rate, developer portal sign-in success, and network connection health check pass rate.
0 commit comments