Next generation apps are cloud-native. Cloud-native apps are often composed of distributed microservices hosted in containers for solutions that are loosely coupled, resilient, manageable, and observable as defined by the Cloud Native Computing Foundation. Azure Container Apps delivers seamless support for cloud-native apps with serverless containers purpose-built for microservices, enabling app modernization in a Kubernetes-based environment. At Microsoft Build, we announced the general availability of Azure Container Apps, and we are looking forward to hosting your production apps!
Azure Container Apps is an app-centric service, empowering developers to focus on the differentiating business logic of their apps rather than on cloud infrastructure management. Azure Container Apps executes app code packaged in any Linux-based container without enforcing opinionated runtimes or programming models. Scale all the way down to zero or scale out to meet global demand in response to HTTP requests or events. Alternatively, Azure Container Apps supports running apps as always-on background services.
Azure Container Apps is built on the foundation of powerful open-source technology with CNCF projects like Kubernetes Event Driven Autoscaling (KEDA), Distributed Application Runtime (Dapr), and Envoy running on the Azure Kubernetes Service (AKS). Developers can leverage Dapr to encapsulate best practices for microservices and KEDA to achieve event-driven scale without managing complex manifests or Kubernetes operators. Thanks to this open-source centric approach, teams can onboard their cloud-native apps quickly to Azure without the operational overhead of Kubernetes, all while preserving app portability.
Here are a few of the scenarios supported by Azure Container Apps:
The Azure Container Apps and Dapr integration offers developers an optional set of APIs that simplify the authoring of apps and microservices. For example, apps can communicate securely and reliably over mTLS through Dapr service invocation or via message passing through Dapr’s pub/sub API. Dapr-enabled apps provide distributed tracing out of the box which can be integrated with Application Insights and can leverage a growing list of pluggable Dapr components. The Dapr component model removes the need to instrument resource-specific SDKs or libraries within app code, empowering teams to achieve app portability and high-fidelity experiences in local development. Individual microservices can scale independently based on demand using any KEDA-supported scale triggers.
2. Event driven processing
Azure Container Apps serverless apps can process events from a growing list of KEDA-supported event sources and can scale based on custom insights for each event type. You can even run event driven or always-on background services.
3. Web apps and public web API endpoints
Azure Container Apps can be configured to enable ingress and make apps publicly available. Azure Container Apps revisions help with managing different app versions and even with distributing incoming HTTPs requests between different versions. Custom domains and certificates can be added to personalize your apps. Serverless scale is driven by the number of concurrent HTTPs requests.
These scenarios are backed by a list of recent announcements. You can enjoy a streamlined Azure portal and Azure CLI experience when managing your Azure Container Apps resources. You can develop in Visual Studio and Visual Studio Code and leverage tailored experiences in these development environments for high productivity.