Resiliency policies now available in Azure Container Apps
Published Nov 15 2023 08:00 AM 3,018 Views
Microsoft

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

MicrosoftTeams-image (21).png

 

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:

  • Timeouts
  • HTTP & TCP Retries/back-offs
  • Circuit Breakers
  • HTTP & TCP Connection Pools

 

Screenshot 2023-11-10 at 1.42.21 PM.png

 

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

MicrosoftTeams-image (20).png

 

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.

 

Screenshot 2023-11-10 at 1.56.35 PM.png

Learn more about how to use Dapr component resiliency.

 

Tell us what you think!

The Azure Container Apps product team is eager to hear about your experience with the resiliency feature. Feel free to share your feedback or pose any questions by visiting our GitHub repo.

Version history
Last update:
‎Nov 13 2023 02:27 PM
Updated by: