Azure Container Apps: What’s New and Why You Should Care
Azure Container Apps is a service that enables you to deploy and run containerized applications and microservices without managing the underlying infrastructure. It is a serverless hosting service that supports any container and any programming model. You can scale your apps in response to HTTP request events or run them as always-on background jobs.
This blog post will explore some of the latest features and enhancements announced for Azure Container Apps on August 30, 2023.
Workload Profiles Environment
Workload profiles are designed to optimize spend and performance for microservices by selecting either serverless Consumption compute or customized Dedicated compute. These determine the amount of compute and memory resources available to your apps in an Azure Container Apps environment.
You can have multiple workload profiles of varying sizes within the same Container Apps environment and select the optimal compute size for each of your applications’ resource requirements. This is ideal for developers when deploying a microservice solution.
A Consumption workload profile is available by default and provides serverless scale all the way to zero, and bills only for resources your apps use.
Dedicated workload profiles provide dedicated compute resources for your apps and are ideal for running apps requiring more compute and/or memory resources. You can select from a range of compute sizes and types up to 32 vCPUs and 256 GiB of memory. Apps running in these dedicated workload profiles use the new Dedicated pricing plan which bills per compute instance and provides better cost predictability.
Azure Container Apps Dedicated Plan
Dedicated plan is a new option to run your apps on dedicated compute resources, select from a range of compute sizes, and types up to 32 vCPUs and 256 GiB of memory. You can choose from general-purpose or memory-optimized workload profiles depending on your apps’ needs.
The Dedicated plan offers several benefits, such as:
- Better cost predictability as you are billed per compute instance rather than per app.
- Higher performance and scalability as you can allocate more resources to your apps.
- Greater flexibility as you can mix and match Consumption and Dedicated plans within the same Container Apps environment.
Additional Networking Features
Azure Container Apps also supports additional networking features that enable you to configure your apps’ connectivity and security. These include:
- User defined routes (UDR) – Specify custom routes for outbound traffic from your apps.
- Smaller subnet sizes – Use smaller subnets for your Container Apps environments, reducing IP address consumption.
- Network address translation (NAT) gateway – Use a single public IP address for outbound traffic from your apps.
Azure Container Apps Jobs
Jobs are a new feature that allow you to run containerized jobs on demand, on a schedule, or in response to events. These are ideal for scenarios such as data processing, batch processing, or scheduled tasks.
There are certain characteristics that can be attributed to jobs:
- Run until completion or until a specified timeout.
- Configured with retries, concurrency limits, and dependencies.
- Triggered by HTTP requests, events from Event Grid or Service Bus, or cron expressions.
- Access secrets from Azure Key Vault or environment variables.
- Use any container image from any registry.
Azure Container Apps is a powerful and flexible service that enables you to run your containerized applications and microservices without having to worry about the infrastructure. With the latest features and enhancements, you can optimize your costs, performance, and scalability and run jobs for various scenarios.
If you want to try out Azure Container Apps, you can get started with the following resources: