Zone Redundancy in Azure Container Apps

RajivBansal-2486 266 Reputation points
2024-12-15T05:56:09.1466667+00:00

Hello,

Documentation for Azure Container Apps (ACA) shows that enabling zone redundancy will distribute the nodes (instances) between zones and then replicas will be distributed to these nodes, making the application zone redundant. It is suggested to have atleast two nodes and two replicas. I have few questions as under:

  1. If zone redundancy is not enabled and the zone goes down, would the nodes (instances) be automatically be shifted to another zone or not?
  2. If zone redundancy is enabled and the node count is 1. Suppose this zone goes down, would this node be automatically created in another zone and then replicas scheduled on it. I understand that it will take some time to create the node. What is the rough time (I know exact is not possible) it takes for node to come up - 20 seconds or more?

Thanks

Azure Container Apps
Azure Container Apps
An Azure service that provides a general-purpose, serverless container platform.
486 questions
{count} votes

Accepted answer
  1. Marcin Policht 29,885 Reputation points MVP
    2024-12-15T12:56:32.4433333+00:00

    AFAIK, if zone redundancy is not enabled in Azure Container Apps (ACA), the nodes (instances) are bound to the single zone they were initially provisioned in. If that zone experiences downtime, the nodes will not automatically shift to another zone. You would need to manually reconfigure the deployment or rely on recovery strategies such as redeploying in a different zone.

    If zone redundancy is enabled but the node count is set to 1, the application is not truly redundant. When the single node in the affected zone goes down, a new node will need to be provisioned in a different zone. While ACA provides high availability mechanisms, a single-node setup compromises redundancy.

    The time it takes for a new node to be created in another zone depends on various factors, including regional capacity and current workloads. Generally, the provisioning time for a new node in Azure Kubernetes Service (AKS), which ACA builds on, ranges between 1 to 5 minutes under typical conditions. However, ACA might optimize provisioning depending on its orchestration layer.

    If you are referring specifically to scheduling replicas on an existing node (once available), that process can take 20–30 seconds, depending on the workload and image pull time.

    For better resilience, it's recommended to have at least two nodes and two replicas distributed across zones to avoid dependency on a single point of failure.


    If the above response helps answer your question, remember to "Accept Answer" so that others in the community facing similar issues can easily find the solution. Your contribution is highly appreciated.

    hth

    Marcin


0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.