This month we had another great event at the Melbourne Azure Nights meetup, where Vic Perdana and Jorge Arteiro from Microsoft gave a great talk that is demo-heavy to show the key features of Azure Container Apps. If you missed the talk, you can watch it on-demand below, and you can find the demo code on Github here. I thought it would be a good idea to summarise some key points that you can takeaway:
Azure Container Apps
Azure Container Apps is a managed service that is aimed at reducing the barrier to entry for developers who have not worked with containers before, and/or simplify managing services workloads without the overhead of orchestrator engines like Kubernetes. The main benefits here are to reduce operational costs and overhead. Key points to keep in mind here are:
- Azure Container Apps is a new service that allows you to deploy and run long-running service apps in a managed environment so that you can focus on the code and reduce the overhead and the infrastructure footprint that you need to manage. In doing so, it abstracts the complexities of Kubernetes, so you do not have to learn or manage Kubernetes. In fact, you can’t even access the Kubernetes APIs on the Azure Container Apps.
- The Azure Container Apps natively integrates with Dapr, which simplifies building distributed applications by codifying best practices around service discovery, fault-tolerance, secret management, etc. If you have not used or read about Dapr before, it is well worth the time.
- Azure Container Apps also natively integrates with KEDA, which is an auto-scaling component for Kubernetes. What KEDA allows you to do is to scale up or down depending on an external trigger. This trigger could be the number of messages in a queue, the number of events in a Kafka stream, and so on. This makes it really easy to hook into your events source and tie that to how your Container/Service app scales. Using KEDA with Kubernetes is quite powerful but also very cumbersome to setup and deploy. With Azure Container Apps, you do not have to worry about all that plumbing, all you care about is configuring your event source and your scaling configurations.
- When using KEDA along with Azure Container Apps, you could configure your number of replicas to be down to zero, which can be excellent for reducing costs. This is especially useful when you have long-running services that do not need to be running all the time. Obviously, this will not be applicable if you used CPU or Memory scale triggers, meaning you won’t be able to scale to zero in these instances.
Should you move your current workloads from Kubernetes to Azure Container Apps?
This is a big question at the moment. Lots of customers are asking, should I consider moving my workloads to Azure Container Apps if it provides these benefits and I do not have to manage the infrastructure, seems like a good deal. However, there are a few things to consider:
- First, Azure Container Apps are not yet available in all regions. Especially, for our customers in the Australian regions, this might take some time. Thus, if your workloads need to be deployed in Australia, then Azure Container Apps are not an option for you now.
- VNet Integration for Azure Container Apps is coming, but is not GA yet, so might be worth exploring at this time, but certainly not production ready.
- As the Microsoft engineering team is focused on delivering value fast, some limitations exist today with the Azure Container Apps. For instance, it does not support the latest version of Dapr.
- There is currently no support for deploying Azure Container Apps with Terraform. This is coming, but I do not think there is a clear timeline, so I do not know if this will change your decision.
- There is currently no native integration between Azure Container Apps and Azure KeyVault, which could make secret management tricky.
- There is currently no way to mount volumes for storage to Azure Container Apps, so if this is a requirement for you, then you need to stick with Azure Kubernetes Service.
Watch the event On-demand
You can watch the recording here, or you can refer to the Azure Tar YouTube channel where Jorge leads a community of contributors, with many videos on Azure and cloud-native.
Need to run Azure Container Apps for Startups?
During the event Vic Perdana from Microsoft put up a quick splash on a Microsoft Startup offer, this is a recently launched initiative to boost and help new startups to build and iterate ideas powered by Azure, GitHub, and Microsoft 365 with a total benefit up to 350k USD. If you need to run workloads on Azure for your startup, then head to https://startups.microsoft.com for more details