Azure Container Apps (Preview): KEDA and Dapr without the K8s Managed Plane

Microsoft just announced the preview of Azure Container Apps (ACA), and it solves the exact problem many of my clients have: “We want Kubernetes features (scaling, sidecars), but we don’t want to manage a Cluster.”

What is Under the Hood?

ACA serves as “Serverless Containers”. It is built on top of AKS, but the cluster is hidden from you. You deploy containers, not pods. But crucially, it exposes two key open-source technologies:

  • KEDA (Kubernetes Event Driven Autoscaling): Scale your containers based on HTTP traffic, Service Bus queue depth, CPU, or custom metrics. Scale to Zero is supported!
  • Dapr (Distributed Application Runtime): Built-in support for Dapr sidecars for state management and pub/sub.

Scaling to Zero with KEDA

This configuration allows a background processor to completely shut down when the queue is empty (costing $0) and scale up instantly when messages arrive.

scale:
  minReplicas: 0
  maxReplicas: 10
  rules:
  - name: queue-rule
    custom:
      type: azure-servicebus
      metadata:
        queueName: orders
        messageCount: '10'

Comparison with ACI and App Service

Azure Container Instances (ACI) is “pods as a service” but lacks orchestration (no rolling updates, no service discovery). App Service for Containers is great for monolithic web apps but struggles with microservices patterns.

Azure Container Apps hits the sweet spot for microservices. You get an internal network, service discovery, revisions for A/B testing, and HTTP ingress handling, all fully managed.


Discover more from C4: Container, Code, Cloud & Context

Subscribe to get the latest posts sent to your email.

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.