Use cases
Use Azure Container Apps when you need serverless container compute for API endpoints, background processing jobs, event-driven processing, or microservices. Apps can scale on HTTP traffic, event-driven processing, CPU or memory load, or any KEDA-supported scaler. Most apps can scale to zero.
For HTTP-first apps, Express is a streamlined path to production. It uses minimal configuration and scale-to-zero defaults.
Azure Container Apps includes four compute types:
Sandboxes typically start in under a second, scale to thousands of instances subject to service limits, and have no sandbox compute cost while idle.
Choose the right compute option
| Compute type | Best for | Lifecycle | State |
|---|---|---|---|
| Apps | Long-running services, APIs, web apps | Continuous | Stateless with external state stores |
| Jobs | Run-to-completion tasks, batch processing | Start -> run -> complete | Stateless |
| Dynamic sessions | Managed code execution, LLM-generated scripts | Managed by session pool | Ephemeral |
| Sandboxes | Programmable isolated compute with lifecycle control | You manage create, suspend, resume, and delete actions | Stateful with memory or disk suspend modes |
Match a scenario to a compute type
Use this section to match what you are building to the Azure Container Apps compute type that fits it best.
API endpoints and HTTP web apps
Recommended: App with Express. Use for REST APIs and other HTTP-first services that need a streamlined route to production with minimal configuration and scale-to-zero defaults.
Microservices with Dapr and service discovery
Recommended: App in a standard environment. Use when your services need Dapr, service discovery, and internal networking inside a full Container Apps environment.
Event or queue processing
Recommended: App. Use when an app should respond continuously to events from a queue, stream, or other event source. Configure a custom KEDA scale rule for each event source.
Scheduled, manual, or event-triggered tasks
Recommended: Job. Use when a task runs from a cron schedule, starts from an API call, or runs after an event, then stops with no idle compute.
Untrusted or LLM-generated code execution
Recommended: Dynamic session or Sandbox. Use for untrusted or LLM-generated code where isolation contains what the code can do. Choose Dynamic sessions for managed code execution, or a Sandbox when you need isolated compute that you manage.
Agentic workspaces and swarms
Recommended: Sandbox. Use when agents need isolated workspaces that can pause and resume with full context, or when swarms need many workers with per-worker image and egress policies.
Multi-tenant SaaS platforms and per-customer workspaces
Recommended: Sandbox. Use when each tenant or customer needs isolation on the same fabric that powers Microsoft products. Sandboxes support pause and resume across multi-day work.
Ephemeral build-and-test and per-user development environments
Recommended: Sandbox. Use for temporary build-and-test runs or per-user development environments wired into CI/CD.
Event-driven automation
Recommended: Sandbox. Use when MCP connectors pair with triggers, such as email triage or document automation.
GPU workloads
Recommended: App with serverless GPUs. Use when an app needs serverless GPUs on dedicated workload profiles. Express does not support GPU workloads.
TCP-based services
Recommended: App in a standard environment. Use when a service uses TCP instead of HTTP. Express supports HTTP workloads only, so use a standard environment.
Related content
- Express overview: The fastest way to deploy HTTP-first web apps.
- Jobs: Run-to-completion tasks that start manually, on a schedule, or from events.
- Sandboxes overview: Programmable isolated compute with suspend and resume.
- Dynamic sessions: Managed code execution through a session pool endpoint.