deploying-azure-container-appslisted
Install: claude install-skill alexpizarro/azure-lean-stack-skills
# Deploying Azure Container Apps
Scale-to-zero Docker containers for workloads SWA + FC1 can't handle: long-running servers, WebSocket/SSE, streaming, custom runtimes, multi-process sidecars, and run-to-completion background jobs.
## When to use Container Apps
| Need | Use |
|------|-----|
| CRUD API + React frontend | SWA — not this |
| Timer/queue trigger, AI workload, < 30 min | FC1 — not this |
| Long-running HTTP server, > 30s requests | **Container App** (this skill) |
| WebSocket / SSE / streaming | **Container App** with `--request-timeout 1800` |
| Sidecar (e.g. headless browser, embedded DB) | **Container App** multi-container |
| Batch / cron / one-shot processor | **Container Apps Job** (this skill, jobs section) |
| Multiple related apps sharing logs/networking | **Shared managed environment** (this skill) |
## Cost defaults
| State | Cost |
|-------|------|
| Idle (`minReplicas: 0`) | $0 |
| Active (0.25 vCPU, 0.5 GiB) | pennies/month at low traffic |
| Always warm (`minReplicas: 1`) | ~$5/month (no cold start) |
| Log Analytics workspace | bound by `dailyQuotaGb` on the workspace (see [instrumenting-azure-app-insights](../instrumenting-azure-app-insights/SKILL.md)) |
## Critical pattern: share the managed environment
A `Microsoft.App/managedEnvironments` resource is the unit that owns networking + Log Analytics. **One environment can host many Container Apps and Jobs.** Sharing saves Log Analytics workspace cost and simplifies VNet wiring.
```bicep
// O