
TL;DR
Active-active failover is not achieved through a single mechanism but through the interplay of Anycast, distributed edge PoPs, robust health checks, and dynamic backend selection. When a backend fails, the edge must detect the state and distribute new connections to available backends without relying on a central primary path.
Introduction
A common architectural mistake is equating Anycast with high availability. While a globally reachable IP address reduces dependency on a single entry point, it does not prevent application failure. Only when the edge continuously assesses the state of backends and aligns routing decisions accordingly does a resilient active-active operation emerge. Two levels work together: Anycast and distributed edge PoPs keep public access available, while backend failover manages traffic within the available application infrastructure. The quality of this architecture depends less on a single failover switch and more on error detection, the selection of suitable targets, and handling existing connections.
1. Anycast Distributes Entry, Not Automatically the Application
In Anycast, the same IP address is announced by multiple geographically distributed network nodes. Internet routing typically directs packets to a reachable PoP deemed suitable from a network perspective. This means there is no single public entry point whose failure must block all traffic. A distributed edge can thus make access more robust against individual site or network path failures.
However, Anycast does not solve the question of whether the underlying backend is available. An edge PoP can be reachable while an application, cluster, or individual service returns errors. Similarly, a backend might be disrupted only for certain protocols or paths. High availability thus requires a second decision level: The edge must select a healthy backend for new connections. At ayedo, the Anycast-based edge with multiple distributed PoPs and active-active principle forms the entry level; backend failover then decides on the reachable application targets.
2. Health Checks Are the Foundation for Backend Failover
Backend failover begins with the question of when a target is considered unavailable. A simple TCP check merely confirms that a port is reachable. For HTTP or HTTPS applications, it may also be relevant whether a defined endpoint returns the expected status. A check that is too superficial leaves faulty backends in the pool; a check that is too strict unnecessarily removes functioning targets from routing.
The timing of the assessment is also crucial. Individual packet losses or brief response delays should not immediately lead to unstable switching. Conversely, detecting an actual failure must not take so long that further requests hit a defective target. Health checks should therefore match the application, protocol, and error domain. They must also distinguish between reachability and serviceability. For the ayedo Edge Cloud, backend health checks and failover are central components for dynamically directing traffic to available targets.
3. Active-Active Changes the Failover Logic
In active-active operations, multiple backends are intended for traffic simultaneously. Failover then does not primarily mean switching from an active to a passive server. Instead, the set of available targets is dynamically adjusted: A healthy backend remains in the pool, while a faulty one is no longer considered for new connections. Traffic is distributed across the remaining targets, provided they can handle the load.
This reduces dependency on a defined primary path but places higher demands on the application. States must either be replicated, held externally, or treated so that requests can switch between backends. Database connections, sessions, and long-running streams also require separate consideration. Health checks mostly affect new connections; existing sessions may still break during a backend failure. Active-active is therefore not an automatic fix for stateful workloads but an architectural decision with implications for data management, capacity planning, and error handling.
4. Error Domains and Operational Boundaries Must Be Considered Separately
A backend failure, an edge PoP failure, and an upstream routing error are different events. Backend failover can remove an unreachable application target from the pool. However, it cannot compensate for every disruption, such as when all backends are affected or a common data dependency fails. Conversely, Anycast can direct traffic to another edge PoP without changing the backend itself.
For operations, this separation is important. Monitoring and incident response must reveal whether the error lies at the public entry, in the connection to the application, or within the backend itself. A distributed active-active architecture thus requires capacity reserves, consistent configurations, and traceable health check signals. The ayedo Edge Cloud's own network infrastructure and autonomous system are relevant in this context because the edge is operated as a cohesive, distributed entry layer. However, they do not replace a resilient backend architecture.
Practical and Operational Scenario
A company operates an API in two Kubernetes clusters with different providers. Both clusters are active and accessible via the edge. A health check detects that the API service in one cluster accepts TCP connections but no longer successfully responds to the defined HTTP endpoint. The edge no longer considers this target for new connections and distributes traffic to the remaining backend. The public DNS or Anycast entry remains unchanged. At the same time, operators must check whether the remaining cluster has sufficient capacity and whether ongoing connections are terminated in a controlled manner. After recovery, the backend should not be fully loaded again based on a single successful check.
FAQ
Is Anycast Alone an Active-Active Failover?
No. Anycast distributes public access to reachable edge PoPs. Active-active failover additionally requires health checks and dynamic selection of healthy backends.
What Happens to Existing Connections?
This depends on the protocol and the error. Backend failover typically affects new connections. Existing sessions may break during a backend failure and may need to be re-established by the application.
Can Backend Failover Compensate for Database Failures?
No. It can keep traffic away from faulty application targets. Shared databases, replication, and state consistency remain separate requirements of the application and its infrastructure.
Conclusion
High availability arises between edge and compute, not exclusively at one of these levels. Anycast and distributed PoPs make public access more resilient; health checks and backend failover ensure that new connections reach available application targets. The active-active principle avoids a single primary path but requires consistent backends and sufficient reserves. The ayedo Edge Cloud integrates these functions into its own distributed edge infrastructure—independently of where the Kubernetes or other backends are operated.