Skip to main content
Overview

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:

Apps run continuously for services such as web apps, APIs, microservices, and event or queue processors.
Jobs run to completion for scheduled, manual, or event-triggered tasks with no idle compute.
Dynamic sessions provide managed code execution for untrusted or LLM-generated code, where session isolation contains what the code can do.
Sandboxes provide programmable, hardware-isolated microVM compute that you create, suspend, resume, and delete, with memory or disk suspend modes.

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 typeBest forLifecycleState
AppsLong-running services, APIs, web appsContinuousStateless with external state stores
JobsRun-to-completion tasks, batch processingStart -> run -> completeStateless
Dynamic sessionsManaged code execution, LLM-generated scriptsManaged by session poolEphemeral
SandboxesProgrammable isolated compute with lifecycle controlYou manage create, suspend, resume, and delete actionsStateful 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.

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