We are thrilled to announce the public preview of Azure Container Apps resiliency policies.
With this new resiliency feature, you can seamlessly recover from service and outbound dependency request failures just by adding simple policies, like timeouts, retries, and circuit breakers. The Distributed Application Runtime (Dapr) powers the resiliency feature behind the scenes; however, you don’t need any special Dapr code to configure resiliency policies.
Resiliency policies can be authored and managed via Bicep (ARM), the Azure CLI, and the Azure portal. When an application activates a policy, you can use logs and metrics to confirm that the resiliency behavior is executed as you’d expect.
Container App Resiliency
You can configure Azure Container Apps resiliency policies for container app communication using ACA’s service discovery, like calling a container app by its FQDN or its app name. You can customize the policies to the container app accepting requests with resiliency configurations for:
HTTP & TCP Retries/back-offs
HTTP & TCP Connection Pools
Resiliency policies are configured and applied to the container app being called (callee), which determines the best resiliency behavior for itself.
Today, resiliency policies can only be applied to requests made using Azure Container App’s service discovery . In the near future, however, you will be able to apply policies to requests made using the Dapr service invocation API.Learn more about configuring container app resiliency.
Dapr Component Resiliency
Resiliency policies can also be configured and applied to dependencies via Dapr components. Author policies for both inbound and outbound operations on a component.
Outbound polices are applied when a request failure occurs between the Dapr sidecar and a component, like publishing a message to a pub/sub component or persisting and retrieving state to a state store.
Inbound policies are applied when the Dapr sidecar fails a request to a container app, such as delivering a message from a pub/sub component or responding to an external event from an input binding.
Policies for Dapr components consist of HTTP Timeouts and Retries/back-offs. Support for Circuit Breaker policies will be available in the near future.