Azure / Azure/azure-dev

[EPIC] Provisioning Limitations and Layered Infrastructure

Open
#5,290 0 comments 0 reactions 0 assignees View on GitHub
area/provisioning epic production
Dominant language
Go
Stars
569
Forks
364
Avg merge
2d 19h
Merged PRs (30d)
136

Description

**Business Value**: Enable production-grade infrastructure management by supporting layered provisioning, multi-region deployments, and scale units. This allows teams to manage complex infrastructure independently, support hybrid IaC scenarios, and deploy high-availability applications across multiple regions.

**Current Problems**:

- Monolithic infrastructure deployment model
- Single-region limitation
- Cannot mix IaC providers (Bicep + Terraform)
- No support for independent service infrastructure management
- No scale unit concept for repeatable deployments

## Example azure.yaml Configuration

```yaml
infra:
layers:
- name: core
provider: bicep
path: infra/core
file: main.bicep
- name: app
provider: bicep
path: infra/app
file: main.bicep
- name: identity
provider: terraform
path: infra/global/identity
file: main.tf

scaleUnits:
- name: global
layers: [identity]
- name: wus2-01
region: westus2
layers: [core, app]
- name: wus2-02
region: westus2
layers: [core, app]
- name: eus2-01
region: eastus2
layers: [core, app]
```

## Example CLI Usage

```bash
# Deploy to all scale units
azd provision --all-scale-units

# Deploy to specific scale units
azd provision --scale-units wus2-01,wus2-02

# Deploy single scale unit
azd provision scale-unit wus2-01
```

## Related Epics
#5310
#5338

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.