Azure Container Apps (ACA) is a managed serverless container service designed to run microservices and containerized applications without the complexity of managing infrastructure. In the context of the Azure Administrator Associate (AZ-104) exam, ACA represents a strategic middle ground between th…Azure Container Apps (ACA) is a managed serverless container service designed to run microservices and containerized applications without the complexity of managing infrastructure. In the context of the Azure Administrator Associate (AZ-104) exam, ACA represents a strategic middle ground between the simplicity of Azure Container Instances (ACI) and the full orchestration control of Azure Kubernetes Service (AKS).
Built on Kubernetes, ACA abstracts away cluster management while integrating powerful open-source technologies like KEDA (Kubernetes Event-driven Autoscaling), Dapr (Distributed Application Runtime), and Envoy. This allows administrators to focus on application deployment rather than networking overlays or node configuration. Critical concepts for managing ACA include:
1. **Environments:** These serve as security boundaries for groups of apps, allowing them to share the same Virtual Network and logging destination.
2. **Autoscaling:** Utilizing KEDA, apps can scale dynamically based on HTTP traffic, TCP connections, CPU/Memory usage, or external event triggers (e.g., messages in an Azure Storage Queue). Crucially, ACA supports scaling to zero, eliminating costs when the app is idle.
3. **Revisions:** ACA creates immutable snapshots of an application configuration. This enables advanced traffic management, allowing administrators to split traffic between different revisions for Blue-Green deployments or A/B testing.
4. **Ingress:** The service provides built-in external or internal HTTP/HTTPS ingress, handling TLS termination automatically without requiring manual load balancer configuration.
For an Azure Administrator, ACA is the primary choice for deploying scalable, event-driven, or microservices-based workloads where the operational overhead of a full Kubernetes cluster is unnecessary, yet the capabilities of a single container instance are insufficient.
Azure Container Apps (ACA)
What is Azure Container Apps? Azure Container Apps (ACA) is a fully managed, serverless container service built on top of Kubernetes. It is designed specifically for running modern applications and microservices. It allows you to deploy containerized apps without managing complex infrastructure like Kubernetes clusters (AKS) or virtual machines, while still providing robust features like auto-scaling, ingress management, and load balancing.
Why is it Important? In the context of the AZ-104 exam and real-world administration, ACA fills the gap between Azure Container Instances (ACI) (simple, single instances) and Azure Kubernetes Service (AKS) (complex, full orchestration). It is critical because it democratizes Kubernetes-style features—such as KEDA for event-driven autoscaling and Dapr for distributed application runtime—without requiring the administrator to master Kubernetes manifests or node management.
How it Works: Core Concepts Understanding the architecture is vital for configuration: 1. Environments: This is a secure boundary around a group of container apps. Apps in the same environment share a Virtual Network and write logs to the same Log Analytics workspace. 2. Revisions: ACA supports versioning. Every time you update the container image or configuration, a new Revision (immutable snapshot) is created. This enables Traffic Splitting (e.g., sending 80% traffic to V1 and 20% to V2). 3. Containers & Replicas: You can run multiple containers (a main app and sidecars) within a specific replica. ACA creates new replicas (scaling out) as demand increases. 4. Ingress: ACA handles external (public) and internal HTTP/HTTPS ingress automatically without needing a separate Azure Load Balancer resource.
Exam Tips: Answering Questions on Azure Container Apps (ACA) When analyzing scenario questions in the AZ-104 exam, use the following logic to determine if ACA is the correct answer:
Keywords to Look For: "Serverless containers", "Microservices", "KEDA" (Kubernetes Event-driven Autoscaling), "Dapr", "Scale to zero", "revisions", or "Blue/Green deployment" without managing a cluster.
Decision Matrix: • Choose ACA if: The scenario requires auto-scaling based on HTTP traffic or events (queues), supports microservices, or requires A/B testing (updates via revisions), but explicitly mentions minimizing administrative overhead or not managing orchestration infrastructure. • Do NOT Choose ACA (Choose AKS instead) if: The scenario requires full access to the Kubernetes API, control over the underlying nodes (VMs), or custom Kubernetes add-ons (CRDs). • Do NOT Choose ACA (Choose ACI instead) if: The requirement is for a simple, isolated container execution (like a scheduled task or build agent) without the need for service discovery, complex load balancing, or interactions between multiple microservices.
Key Exam Configuration Points: • Remember that ACA can scale to zero (cost-saving when idle), whereas ACI generally runs until stopped. • You configure Secrets securely within the app settings, similar to App Service. • Networking is defined at the Environment level.