Azure Container Apps with Bicep

Skåne Azure User Group Meetup, Oktober 2022

Simon J.K. Pedersen, skp@delegate.dk, @simped

Container Instances

Container Services

Azure Kubernetes

Redhat OpenShift

Service Fabric (+1)

Web Apps

Container Instances

Azure Kubernetes

Web Apps (Linux)

Azure Container Apps

ACA Features

- Serverless Containers (pay-per-use)

- HTTP/HTTPS 

TCP is supported in preview

- Event driven job runner (can scale based on KEDA scalers)

 

Example scalers:

Event hub,

Azure Storage,

Queues 

CPU

Cron

Minimal ACA Deployment

Queue based scaling

- Mounting Storage

- CI/CD Integration

ACA Features

Deploy from GitHub

ACA Features

- Dynamics Scaling (Scale to zero)

- VNet integration (internal containers)

- Dapr integration

- Split testing / Revisions

- Authentication (Easy Auth)

Scaling to Zero

ACA Limitations

Only Linux hosts 

Obviously no root access (shared environment)

Max 30 replicas

Pricing

10 million request / month => 3,2 USD
1 month ~ 2.6 mill seconds
5 requests per second (200 ms)

 

 

Active Usage (400.000 seconds)

1 vCPU => 5,28 USD

1 GiB => 0.12 USD

Idle Usage (2.2 mill seconds)

1 vCPU => 8,8 USD

1 GiB => 8,8 USD

TOTAL

26 USD

Pricing Comparison

Azure Container Apps Kubernetes Container Instances App Service
Basic (Linux)
App Service Standard (Linux)
1 vCPU, 1 GiB A2v2 2 cores, 4GB 1 vCPU, 1 GiB, 2.6 mill seconds 1 core, 1,75 GB 1 core, 1,75 GB 
26 USD 63 USD 37 USD 13 USD 💲💲💲 69 USD

Real world experience

  • CPU + RAM limits hurts
  • Pricing is not attractive for 24x7 containers
  • Remember to implement probes (health, readiness, startup)
  • In single revision mode, when redeploying you can experiencing cold starts
  • Idle mode and scale to zero needs attention to work

Deploy with Azure CLI

More information