[EPIC] Advanced Deployment Strategies
- Dominant language
- Go
- Stars
- 569
- Forks
- 364
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 136
Description
## Epic Overview
**Business Value**: To enable production-grade deployment patterns with advanced strategies (i.e.blue/green, canary deployments, automated rollbacks) in azd increases confidence (e.g. reduce deployment risk, zero-downtime deployments) for production releases. Empowering our customers in this way closes the gap from "try" Azure or azd to uses azd in our customers' release practices for a smoother, more reliable release process that lets our users focus on innovation rather than deployment hassles (making them happier to be long-term happy Azure customers).
**Current Problems**:
- Deployment strategies are limited to single, hardcoded approaches
- No support for deployment slots or revision routing
- No pre-deployment validation or post-deployment verification
- No rollback capabilities
- Cannot leverage advanced Azure service capabilities
**High-Level Acceptance Criteria**:
- [ ] We can offer blue/green and canary deployments to support zero-downtime releases.
- [ ] azd has/offers pre-deployment checks and post-deployment health verifications.
- [ ] azd has/offers automated rollback mechanisms to quickly recover to the previous stable release on failure.
## Example Configuration
```yaml
name: myapp
services:
api:
host: containerapp
language: dotnet
deployment:
strategy: revision
config:
trafficSplitPercentage: 10
validationTimeout: 300
healthCheckPath: /health
rollbackOnFailure: true
web:
host: appservice
language: typescript
deployment:
strategy: slots
config:
slotName: staging
swapWithProduction: true
trafficShiftPercentage: 25
validationHooks:
- script: ./scripts/validate-staging.sh
```
## Related Epics
#5310
#5290
Contributor guide
Assessment
This issue has not been assessed yet.