Azure Container Apps — An Overview
Spelling it out
Now widely accessible, Azure Container Apps (ACA), which was launched in 2021, is a fully managed serverless container service.
It is a hosting service devoted to containerized applications and microservices. ACA permits carrying out application code packaged in any container, regardless of programming model or runtime.
In the last few years, containerization has been growing in popularity among various businesses and will continue to expand and spread. It has become the de facto method with regard to creating applications following the microservices architecture. Applications can scale any following events and HTTP requests. It can also plainly run round-the-clock on background tasks.
As a matter of fact, the Azure Container Apps service is created over the Kubernetes architecture, a completely compliant and adaptable service for running containerised workloads. However, Kubernetes has a steep learning curve and is difficult to master. Azure Container Apps gets rid of this problem and offers complete flexibility and liberty for developing applications in a breeze.
So, configuring or managing the underlying Kubernetes cluster architecture is not necessary.
Actually, ACA offers end-to-end experience-centric optimized practices when there is a need to create Kubernetes-type applications without any straightforward link with native Kubernetes APIs or cluster management.
It is the best bet and wise choice as far as the likes of APIs, microservices, protracted background tasks and event processing etc. are concerned.
Dependable and Robust
It offers very dependable and robust automatic horizontal scaling features based on event triggers or HTTP traffic. Applications are scaled automatically to meet the demand. Scaling can extend from zero to a maximum of replicas which are the new instances of container apps built on demand. No cost is incurred if no HTTP requests or messages in a Service Bus queue are there to be sent to the ACA instance.
Execute many Revisions
It can execute many revisions. Meant for testing scenarios, different proportions of requests are directed at each one. It helps to manage the versioning of the container app. With this feature, revisions can be activated or deactivated and traffic sent to each revision can be controlled.
Up to 100 revisions can be retained which provides a chronological record of the container app updates and several revisions can be run concurrently. Revisions are used for releasing a new version of the app, swiftly reverting to a previous version and splitting traffic between revisions for A/B testing.
Azure Container Apps consist of containers which are highly versatile and can make use of any programming language, runtime or development stack. Users may define several containers inside a single container app so that scale rules and disk space etc. can be shared.
Distributed Application Runtime (DAPR)
Another benefit is the straightaway availability of Distributed application runtime (Dapr) which has become quite famous for creating resilient microservice applications. It lessens the intrinsic complication and trickiness of the microservice applications.
Dapr enables sidecars to function besides the microservices which offer a rich set of capacities. The Dapr APIs consist of Service to Service calls, Publish/ Subscribe (Pub/Sub) messaging, State management and Event bindings etc.
Azure container apps are also powered by Kubernetes-based Event-Driven Autoscaler (KEDA) which aids in scaling containers with respect to the number of events to be processed.
To Conclude, Its Limitations
One of the drawbacks of the product Azure Container Apps is that it fails to run privileged containers.
There will be a runtime error appearing within the app if an attempt is made to run a programme that needs root access.
Secondly, Linux Operating system-centric container images are needed to run this product.
Originally published at https://www.claritusconsulting.com on September 28, 2022.