I wouldn't call myself a Microsoft fanboy, but I can appreciate when they release a product that is going to be truly impactful. That product, from Microsoft Ignite 2021, is Azure Container Apps (ACA).
ACA allows you to easily create API endpoints backed by a truly PaaS Kubernetes implementation. Those endpoints can be either Internal or External allowing some pretty excellent flexibility. Not only can it expose an API with ease for you, but it also has some other pretty fantastic deployment scenarios built-in; background processing, event-driven processing and microservices.
As ACA is a PaaS service, it offers the incredible scaling capabilities of Azure, it offers all of your generic scaling characteristics like CPU or memory load, as ACA a is Kubernetes based solution, you also get the power of KEDA scalers.
You might be thinking to yourself, well, what does this have over Azure Container Instances (ACI) and that is a solid question as ACI is another great Azure service. Here is a non-exhaustive list of features that ACA currently has over ACI:
- Load balancing
- Certificates on endpoints
- Multiple Pods within a single environment
- Multiple active revisions of a Pod
- Traffic direction strategies; A/B testing, BlueGreen deployment
- Integration with Dapr
The following diagram outlines all the components that make up a deployment of an ACA. You can dig further into these components on the Microsoft documentation
All in all, I feel that ACA is a very compelling product and is going to take its place on my tool-belt once it comes out of Preview. I would also say that it is an incredibly complimentary service to Azure other Cloud-native Compute options, such as; ACI, AKS.