Azure Container Instances (ACI) provides a serverless container hosting option where you can run containers without managing virtual machines or orchestrators. ACI supports fast startup and is billed per second, making it ideal for burst workloads or simple jobs. You can attach ACI to a virtual network to benefit from Azure's networking features and apply network security groups. However, because it lacks built-in orchestration, you need to handle scaling and rolling updates manually or with custom scripts. ACI excels when you need a lightweight, on-demand container solution.
Azure Kubernetes Service (AKS) is a fully managed container orchestrator that simplifies deploying and managing Kubernetes clusters. AKS supports features like autoscaling, load balancing, and integration with Azure Virtual Network using Azure CNI for direct pod IP addressing. It also enables runtime governance through Kubernetes role-based access control and integration with Microsoft Entra ID. The trade-off is that AKS requires you to manage cluster configuration, updates, and underlying node pools, which can increase operational complexity and cost. AKS is best when you need fine-grained control over container scheduling and network policies for complex workloads.
Azure Container Apps offers a serverless microservices platform powered by open-source technologies like Dapr and KEDA. It automatically handles autoscaling, including scale to zero, and provides built-in features for service discovery and traffic splitting. Because it abstracts away direct access to Kubernetes APIs, you benefit from a fully managed environment without needing deep Kubernetes expertise. Container Apps is optimized for event-driven architectures, making it simple to integrate with queues and other event sources. It fits scenarios where you want to focus on application code rather than infrastructure.
When choosing the optimal container solution, consider the deployment model first: choose ACI for simple, per-job tasks; AKS for full Kubernetes control; or Container Apps for serverless microservices. For autoscaling, ACI requires manual or script-based scaling, AKS provides cluster and pod autoscaling, and Container Apps offers event-driven scaling that can reduce to zero. Networking integration is available in all three, with direct pod IPs in AKS, simplified VNet attachment in ACI, and internal load-balancing in Container Apps. For runtime governance, AKS gives native Kubernetes RBAC, ACI provides policy-based security, and Container Apps includes built-in best practices. Balance cost, operational overhead, and security requirements to select the right container-based compute solution for your application's needs.
A decision tree that branches on workload type, orchestration needs, and scaling requirements to choose between Azure Container Instances, Azure Kubernetes Service, and Azure Container Apps.
Venture into the world of Azure Infrastructure, where design meets functionality. Harness your skills and gain mastery over complex cloud structures to ace the AZ-305 Designing Microsoft Azure Infrastructure Solutions exam!
Prepare and test your skills

Prepare and test your skills

Azure Container Instances (ACI) is a serverless container hosting option without built-in orchestration, ideal for simple jobs, while Azure Kubernetes Service (AKS) is a fully managed container orchestrator that provides fine-grained control over scheduling and network policies for complex workloads. ACI requires manual scaling and updates, whereas AKS supports autoscaling and load balancing. AKS also involves managing cluster configuration and node pools, which increases operational complexity compared to ACI.
You should use Azure Container Apps when you want a serverless microservices platform that abstracts away direct Kubernetes APIs and focuses on application code rather than infrastructure. Container Apps provides built-in autoscaling, including scale to zero, and features for service discovery and traffic splitting, making it optimized for event-driven architectures. In contrast, AKS is best when you need full Kubernetes control and fine-grained management of container scheduling and network policies.
The key decision criteria include the deployment model, autoscaling capabilities, networking integration, and runtime governance. Choose ACI for simple, per-job tasks; AKS for full Kubernetes control; or Container Apps for serverless microservices. For autoscaling, ACI requires manual scaling, AKS provides cluster and pod autoscaling, and Container Apps offers event-driven scaling to zero. You must balance cost, operational overhead, and security requirements to select the right container-based compute solution.
Azure Container Instances (ACI)
Azure Container Apps (ACA)
Azure Kubernetes Service (AKS)
Azure Batch
A software development company is designing a new cloud-native application composed of multiple independent microservices. The application needs to handle highly variable loads, including periods of inactivity, and must scale down to zero instances to optimize costs. The architecture requires robust inter-service communication, dynamic service discovery, and the ability to perform A/B testing by routing a percentage of traffic to new versions of services. The development team has strong containerization skills but prefers a platform that abstracts away the complexities of direct Kubernetes API management and underlying infrastructure operations.
Which Azure container hosting and orchestration service should the company recommend to meet these requirements efficiently?