Containerised Application Platform (Azure Container Apps)
Containerised and deployed a small service using Azure Container Apps to learn modern container delivery, ingress, scaling, and revision-based deployments without running a Kubernetes cluster.
Impact
Deployed a containerised service without running a Kubernetes cluster.
Validated ACA as a good fit for lightweight stateless services.
Built a clearer view of when ACA makes sense vs AKS.
I wanted hands-on experience with Azure Container Apps and how it compares to running the same kind of workload on AKS/Kubernetes.
- VMs or full Kubernetes can be heavy for simple stateless services.
- Teams often want to ship containers without managing clusters and node pools.
- Choosing the right platform depends on knowing what you gain/lose with the abstraction.
- Containerise a simple application using Docker with clean image practices.
- Deploy to Azure Container Apps with external ingress and autoscaling.
- Understand how revisions, scaling, and networking behave in ACA compared to Kubernetes.
- Use a deployment approach that fits CI/CD workflows.
- Node.js service containerised with Docker using a minimal runtime image.
- Image pushed to Azure Container Registry (ACR).
- Azure Container Apps hosts the service without cluster management.
- External HTTP ingress enabled with managed routing.
- Autoscaling configured based on HTTP traffic, including scale-to-zero.
- CI builds and tags Docker images on code changes.
- Images pushed to ACR.
- Deployment updates the Container App image reference, creating a new revision.
- Traffic shifts between revisions handled by the platform.
Azure Container Apps instead of AKS
Reduced access to complex features, but far easier to setup for stateless services.
Managed ingress and scaling
Not as flexible as Kubernetes, but quick to set up and easier to use.
- Container images stored in Azure Container Registry.
- Ingress handled through ACA rather than exposing infrastructure directly.
- Designed as stateless to avoid storing data in the container runtime.
- Autoscaling keeps the service responsive under load.
- Revision-based deployments allow safe rollouts and quick rollback.
- Fewer moving parts compared to running and maintaining a cluster.
- Quick deployment of container workloads with minimal operational overhead.
- Clean deployment model based on image updates and revisions.
- Useful comparison point against Kubernetes-based deployments.
- Add managed identity to securely access other Azure resources without secrets.
- Add environment-specific configs for multi-stage promotion.
- Extend monitoring with alerts and dashboards.