
TL;DR
Failover is only resilient if backup paths do not depend on the same failure domain as the primary path. Therefore, backend, cluster, provider, network, and edge must be evaluated separately. A multi-PoP architecture with its own Autonomous System and active-active operation expands the design space for high availability but does not replace a thorough dependency analysis.
Introduction
A second backend does not automatically make a public service highly available. If both backends are operated in the same cluster, with the same provider, or behind the same network dependency, the relevant failure domain remains unchanged. This is exactly why failover in edge design must be considered from the outside in: Which component fails, which route remains accessible, and which dependencies are not dragged along? For public services, high availability is not decided at the application level. DNS, edge, transit network, provider, cluster, and backend form a chain. If a common section of this chain fails, seemingly redundant systems also fail together.
1. Failure Domains Along the Request Path
A request passes through several potential failure boundaries. At the backend level, individual instances, a service, or a database can be affected. At the cluster level, control plane, network, or storage issues may arise. The provider domain, on the other hand, includes infrastructure, power supply, routing, and operational processes of a single cloud or hosting provider.
Above that lies the network domain: transit, BGP reachability, DNS resolution, or a central internet uplink can simultaneously affect multiple provider paths. The edge itself is another failure domain. A single ingress, load balancer, or PoP can fail without disturbing the backend or provider.
These layers should not just be documented as a list. The key is correlation: If multiple components are in the same failure domain, their redundancy is ineffective in a common failure scenario. High availability design therefore begins with a dependency map, not with the number of backends provided.
2. Why a Backup Backend Often Isn't Enough
A classic failover setup distributes a service across two backends and activates the second when health checks fail on the first. This is sensible but only covers part of the failure scenario. Both backends can use the same cluster, region, provider, or network path. A failure above the application level then affects both targets.
The switchover itself also requires a functioning control. DNS caching, TTLs, BGP convergence, session states, and the reachability of the failover mechanism determine how quickly an alternative path becomes effective. A technically available backup backend is therefore not synonymous with a usable failover path.
The edge should evaluate health states and distribute traffic selectively without amplifying the primary system's failure. Backend health checks, failover, and backend cloaking help decouple public access from internal target systems. True independence, however, only arises when targets and their upstream dependencies are consciously distributed across failure domains.
3. Multi-PoP, Autonomous System, and Active-Active
A distributed multi-PoP architecture reduces dependency on a single edge location. If a PoP fails or part of the network is unreachable there, other PoPs can still accept requests. This is architecturally different from a second load balancer at the same location: The edge itself is distributed across multiple operational and network areas.
For assessing the network failure domain, it is also relevant who controls the routing. The ayedo Edge Cloud uses its own Autonomous System and network infrastructure. This allows the edge to be viewed as an independent routing and protection layer rather than solely as a function of a single compute provider. This does not eliminate external internet disruptions but reduces direct coupling to a single provider's network architecture.
The active-active principle also shifts the operational logic: Multiple edge paths are fundamentally usable simultaneously, rather than a fully passive standby needing activation. Failover thus becomes a matter of traffic distribution and health evaluation, not just a manual switchover process.
4. Failure Domains as Operational and Cost Decision
The technical separation of failure domains has operational consequences. Distributing backends across providers or clusters increases integration, monitoring, and network effort. If they are only replicated within one system, operations remain simpler, but resilience against provider or cluster failures is limited. Therefore, there is no universal redundancy level.
A resilient decision requires concrete failure assumptions: Should a single pod, a complete cluster, a provider, or even the edge itself be tolerated? Which data can be synchronized with delay between locations? Which dependencies like identity, database, or DNS remain central? Only from this do meaningful failover paths emerge.
The Edge Cloud can bundle central functions like Anycast DNS, Layer-4 and Layer-7 load balancing, TLS termination, DDoS protection, and health-based forwarding over a distributed platform. For Kubernetes, it is not crucial whether the cluster is operated by ayedo or another provider. What matters is that the public entry layer can be planned independently of the respective compute operation.
Practical Scenario: Three Layers Instead of a Second Backend
A public API service initially runs in a Kubernetes cluster with one provider. A second deployment in the same cluster increases availability at the workload level but does not protect against a cluster or provider failure. In an extended architecture, a second cluster is operated with another provider. Both clusters are published through the edge and monitored by health checks.
The edge distributes traffic across multiple PoPs and keeps the backends hidden from the internet. If an application fails, the affected path is removed from distribution. In case of a cluster or provider failure, targets in the other environment remain available. If a single edge PoP fails, other PoPs take over the entry. The added value arises not from a single component but from the separation of failure boundaries.
FAQ
Is Multi-Provider Operation Automatically Highly Available?
No. Common DNS, identity, database, or network dependencies can still form a common failure domain. Multi-provider operation is only effective if these couplings are also evaluated.
What Role Does the Autonomous System Play?
It forms an independent routing domain of the edge. This makes public access less tightly coupled to the network infrastructure of a single compute provider.
Does Every Backend Need to Be Actively Used?
Not necessarily. A passive standby can be operationally sensible. Active-active, however, reduces dependency on a switchover process and allows simultaneous use of multiple edge paths.
Conclusion
Failure domains are the crucial perspective for resilient failover. A backup backend is not enough if cluster, provider, network, or edge share the same failure boundary. The multi-PoP architecture, the own Autonomous System, and the active-active operation of the ayedo Edge Cloud create an independent edge layer for this planning. However, their effectiveness depends on whether companies also consistently decouple compute, data, and operational dependencies.