When working with Azure Container Apps, one topic that often causes confusion is the difference between plans and environment types. At first glance they might seem related or interchangeable, but they actually represent two different layers of how Azure Container Apps works.
In this post, I walk through the difference between Consumption and Dedicated plans, and explain how they relate to Container Apps environments.
Azure Container Apps Plans
Azure Container Apps provides two main pricing and execution models: Consumption and Dedicated.
Consumption Plan
The Consumption plan follows a serverless model. You do not reserve infrastructure or capacity ahead of time. Instead, Azure automatically allocates the resources required when your application runs.
Billing in the consumption plan is based on:
- vCPU usage
- Memory usage (GiB)
- Execution time in seconds
One of the biggest advantages of this model is that applications can scale to zero. If there are no incoming requests or workloads, container instances stop running and you do not pay for compute during idle periods.
This plan works well for:
- Event-driven applications
- APIs with unpredictable traffic
- Microservices that do not require constant compute capacity
Dedicated Plan
The Dedicated plan provides a managed but reserved infrastructure environment. Instead of paying only for usage, you allocate resources using workload profiles.
A workload profile defines the amount of:
- CPU
- Memory
- Instance capacity
Multiple applications can run inside the same workload profile and share allocated resources. Billing is based on resources allocated to each workload profile rather than individual app consumption.
Even though this plan reserves capacity, applications can still scale down to zero instances if they are not actively running.
This model is more suitable for workloads that require:
- Predictable performance
- Consistent resource allocation
- Dedicated compute capacity for multiple applications
Understanding Container Apps Environments
The other concept that often gets mixed up with plans is the environment type.
A Container Apps environment is the boundary where container apps run. It provides networking, observability, and isolation for applications deployed inside it.
There are two environment types.
Consumption-only Environment
A Consumption-only environment supports only the Consumption plan.
This means:
- All applications run in serverless mode
- Workload profiles are not available
- Dedicated resources cannot be configured
This type of environment is simpler and is typically used when all workloads follow the serverless model.
Workload Profiles Environment
A Workload profiles environment is more flexible. It supports both:
- Consumption plan applications
- Dedicated plan applications that use workload profiles
In this setup, some applications can run in serverless mode while others run on dedicated resources within workload profiles. This allows teams to mix different workload requirements inside the same environment.
Key Differences to Remember
A simple way to think about this is:
- Plans define how resources are billed and allocated
- Environments define where container apps run
Another useful rule:
- A Consumption-only environment supports only the Consumption plan
- A Workload profiles environment supports both Consumption and Dedicated plans
Final Thoughts
Understanding the distinction between plans and environment types is important when designing containerized applications on Azure. The choice depends largely on workload characteristics.
If your application benefits from serverless scaling and unpredictable traffic patterns, the Consumption plan is usually the best fit. If you need predictable compute capacity and want to run multiple applications on reserved resources, then Dedicated with workload profiles may be a better choice.
Choosing the right combination can help balance cost, performance, and operational flexibility.
References
-
Microsoft Learn - Azure Container Apps environments and workload profiles
https://learn.microsoft.com/en-us/azure/container-apps/workload-profiles-overview -
Microsoft Learn - Azure Container Apps pricing and plans
https://learn.microsoft.com/en-us/azure/container-apps/plans
Continue this learning path: Azure Developer Associate Journey