Skip to content

Commit 00112ad

Browse files
Merge pull request #314024 from RoseHJM/mdb-peer-review-update-doc-kit
Core AI Peer Review | Dev Box Deployment Guide - Refresh
2 parents 5d37167 + 23c6f8e commit 00112ad

1 file changed

Lines changed: 81 additions & 17 deletions

File tree

articles/dev-box/concept-dev-box-deployment-guide.md

Lines changed: 81 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@ ms.service: dev-box
66
author: RoseHJM
77
ms.author: rosemalcolm
88
ms.topic: concept-article
9-
ms.date: 08/22/2025
9+
ms.date: 03/31/2026
10+
ai-usage: ai-assisted
1011
ms.custom:
1112
- template-concept
1213
- copilot-scenario-highlight
14+
- awp-ai
1315
#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.
1416
---
1517

@@ -28,7 +30,7 @@ The deployment of Microsoft Dev Box requires the [involvement of different roles
2830
1. Configure network connections for the dev center or projects.
2931
1. Create or attach Azure Compute Galleries (optional) for image governance.
3032
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).
3234
1. Create projects and set dev box limits.
3335
1. Create dev box pools (choose network connection and auto-stop).
3436
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
7678
| | 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. |
7779
| 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. |
7880
| | 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). |
8082
| | 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. |
8183
| 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. |
8284
| | 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
8587
| | 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. |
8688
| 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. |
8789
| | 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. |
9092

9193
See also: [Microsoft Dev Box customizations](./concept-what-are-dev-box-customizations.md).
9294

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+
93116
## Use AI to plan your deployment
94117

95118
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:
128151
- Microsoft Intune conditional access requirements
129152

130153
> [!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.
132155
133156
For step-by-step guidance on implementing your plan, see the [deployment steps](#deploy-microsoft-dev-box) later in this article.
134157

@@ -141,7 +164,7 @@ For step-by-step guidance on implementing your plan, see the [deployment steps](
141164

142165
## Deploy Microsoft Dev Box
143166

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.
145168

146169
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.
147170

@@ -178,20 +201,33 @@ When you connect to on-premises resources through Microsoft Entra hybrid joins,
178201

179202
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.
180203

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+
181211
Learn more about [Microsoft Dev Box networking requirements](./concept-dev-box-network-requirements.md?tabs=W365).
182212

183213
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.
184214

185215
### Step 3: Configure security groups for role-based access control
186216

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:
188218

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.
191227

192228
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.
193229

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).
195231

196232
### Step 4: Create dev center
197233

@@ -260,20 +296,26 @@ Consider attaching a catalog in the following cases:
260296

261297
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.
262298

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
264302

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:
266304

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.
268308

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).
270311
271-
Consider creating one or more dev box definitions in the following cases:
312+
Consider the following when choosing an image strategy:
272313

273314
- Development teams require different VM images because they need another operating system version or other applications.
274315
- 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.
275317

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.
277319

278320
#### Decision summary
279321

@@ -342,6 +384,15 @@ Some usage scenarios for conditional access in Microsoft Dev Box include:
342384

343385
Learn how you can [configure conditional access policies for Dev Box](./how-to-configure-intune-conditional-access-policies.md).
344386

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+
345396
#### Privilege management
346397

347398
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
355406
- Define an image versioning and validation cadence when using images.
356407
- Use customization tasks to keep base images generic; consider producing a reusable image after validation if creation time becomes critical.
357408

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.
415+
1. **Apply baseline policies**: Configure minimum Intune conditional access policies and auto-stop schedules.
416+
1. **Set cost controls**: Enable auto-stop on dev box pools and set dev box limits per user.
417+
1. **Monitor for 2–4 weeks**: Check Azure Activity Log, Microsoft Entra sign-in logs, and Intune compliance reports.
418+
1. **Expand to production**: Add more teams and regions. Validate image definitions and networking at scale.
419+
358420
## Monitor and troubleshoot
359421

360422
- Use Azure Activity Log to audit changes to Dev Center and Project resources.
@@ -366,3 +428,5 @@ Learn more about how to [configure Microsoft Intune Endpoint Privilege for Micro
366428

367429
- [What is Microsoft Dev Box?](overview-what-is-microsoft-dev-box.md)
368430
- [Microsoft Dev Box architecture overview](./concept-dev-box-architecture.md)
431+
- [Dev Box roles and permissions](./concept-dev-box-role-based-access-control.md)
432+
- [Microsoft Dev Box networking requirements](./concept-dev-box-network-requirements.md?tabs=W365)

0 commit comments

Comments
 (0)