Azure Container Apps with Bicep
Skåne Azure User Group Meetup, Oktober 2022
Simon J.K. Pedersen, skp@delegate.dk, @simped
![](https://s3.amazonaws.com/media-p.slid.es/uploads/156879/images/4834137/ss_aci_logo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/156879/images/4834135/kubernetes-logo-copy.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/156879/images/4834136/servicefabric.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/156879/images/4834134/azurewebapp.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/156879/images/4834131/Azure_Container_Service_COLOR.png)
Container Instances
Container Services
Azure Kubernetes
Redhat OpenShift
Service Fabric (+1)
Web Apps
![](https://s3.amazonaws.com/media-p.slid.es/uploads/156879/images/9900571/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/156879/images/4834137/ss_aci_logo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/156879/images/4834135/kubernetes-logo-copy.png)
Container Instances
Azure Kubernetes
Web Apps (Linux)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/156879/images/4834134/azurewebapp.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/156879/images/9618651/pasted-from-clipboard.png)
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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/156879/images/9618683/pasted-from-clipboard.png)
Queue based scaling
- Mounting Storage
- CI/CD Integration
ACA Features
![](https://s3.amazonaws.com/media-p.slid.es/uploads/156879/images/9900795/pasted-from-clipboard.png)
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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/156879/images/9900721/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/156879/images/9900722/pasted-from-clipboard.png)
ACA Limitations
Only Linux hosts
Obviously no root access (shared environment)
Max 30 replicas
![](https://s3.amazonaws.com/media-p.slid.es/uploads/156879/images/9900781/pasted-from-clipboard.png)
Pricing
![](https://s3.amazonaws.com/media-p.slid.es/uploads/156879/images/9900742/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/156879/images/9900743/pasted-from-clipboard.png)
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
Ignite Sessions (12 oct -> 14 oct)
Build Sessions (May 2022)
Azure Samples (Backend to Frontend, Orleans, Go, Python, Node Examples)
Azure Container Apps with Bicep - Skaane
By Simon J.K. Pedersen
Azure Container Apps with Bicep - Skaane
- 362