Containers are increasingly becoming the preferred way to package, deploy, and manage cloud applications, and Microsoft Azure offers many options for working with containers. For example, you can use the Azure Container Registry to store and manage your private container images. Azure Container Instances or Azure App Services can be used to run isolated containers. Azure Kubernetes Service is a great option for more complex scenarios in which full container orchestration, automatic scaling, and service discovery are required. The problem is that Kubernetes is extremely difficult to use.
Azure Container Apps enables you to run microservices and containerized applications on a serverless platform. Common uses of Azure Container Apps include:
Deploying API endpoints
Hosting background processing applications
Handling event-driven processing
Running microservices
Applications built on Azure Container Apps can dynamically scale based on the following characteristics:
HTTP traffic
Event-driven processing
CPU or memory load
Azure Container Apps enables executing application code packaged in any container and is unopinionated about runtime or programming model. With Container Apps, you enjoy the benefits of running containers while leaving behind the concerns of managing cloud infrastructure and complex container orchestrators.
Features
With Azure Container Apps, you can:
Run multiple container revisions and manage the container app's application lifecycle.
Autoscale your apps based on any KEDA-supported scale trigger. Most applications can scale to zero1.
Enable HTTPS ingress without having to manage other Azure infrastructure.
Split traffic across multiple versions of an application for Blue/Green deployments and A/B testing scenarios.
Use internal ingress and service discovery for secure internal-only endpoints with built-in DNS-based service discovery.
Build microservices with Dapr and access its rich set of APIs.
Run containers from any registry, public or private, including Docker Hub and Azure Container Registry (ACR).
Use the Azure CLI extension, Azure portal or ARM templates to manage your applications.
Provide an existing virtual network when creating an environment for your container apps.
Securely manage secrets directly in your application.
Monitor your apps using Azure Log Analytics.
AKS vs ACA
Making microservices development easier with Distributed Application Runtime (Dapr)
Dapr is an open-source event-driven runtime that codifies best practices for building portable microservice applications into independent platform agnostic building blocks using the development language and framework of your choice. Azure Container Apps offers a fully managed version of the Dapr APIs. With Dapr for Azure Container Apps, sidecars can be enabled to run next to your application instances and provide a rich set of capabilities and productivity gains. You can use the following Dapr APIs: Service to Service calls, Pub/Sub, Event Bindings, State Stores, and Actors. See Tutorial – Use Dapr in Azure Container Apps for more details.
Conclusion
Backed by and integrated with powerful cloud-native technologies, Azure Container Apps strives to make developers productive while reducing the operational overhead and learning curve that typically accompanies adopting a cloud-native strategy.
If you want to build resilient, portable and highly scalable apps, visit Azure Container Apps | Microsoft Azure today!
Comments