In network design, naming conventions matter. They shape how engineers think about systems, how teams communicate, and how failures are diagnosed. Among the more popular—but problematic—naming schemes are “red” and “blue” architectures. While these color-coded labels may seem harmless or even intuitive, they often obscure the true nature of system behavior, especially in environments where redundancy is partial and control mechanisms are not fully mirrored.
“When you centralize the wrong thing, you concentrate the blast… Resiliency you don’t practice – is resiliency you don’t have” – David Plumber
The Illusion of Symmetry
The use of “red” and “blue” implies a kind of symmetrical duality—two systems operating in parallel, equally capable, equally active. This might be true in some high-availability setups, but in many real-world architectures, one side is clearly dominant. Whether due to bandwidth, control logic, or failover behavior, the systems are not truly equal. Calling them “red” and “blue” can mislead engineers into assuming a level of redundancy or balance that simply doesn’t exist.
Why “Main” and “Failover” Are Better
A more accurate and practical naming convention is “main” and “failover.” These terms reflect the intentional asymmetry in most network designs:
- Main: The primary path or controller, responsible for normal operations.
- Failover: A backup that activates only when the main system fails or becomes unreachable.
This terminology makes it clear that the system is not fully redundant—there is a preferred path, and a contingency path. It also helps clarify operational expectations, especially during troubleshooting or disaster recovery.
The Problem with “Primary” and “Secondary”
While “primary” and “secondary” are common alternatives, they carry their own baggage. These terms often imply that both systems are active and cooperating, which again may not reflect reality. In many architectures, the secondary system is passive, waiting to take over only in specific failure scenarios. Using “secondary” can lead to confusion about whether it’s actively participating in control or data flow.
Naming Should Reflect Behavior
Ultimately, naming conventions should reflect actual system behavior, not just abstract design goals. If one path is dominant and the other is a backup, call them main and failover. If both are active and load-balanced, then perhaps red/blue or A/B makes sense—but only with clear documentation.
Misleading names can lead to misconfigured systems, delayed recovery, and poor communication between teams. Precision in naming is not just pedantic—it’s operationally critical.
Alternative Terminology for Primary / Secondary Roles
- Anchor / Satellite
- Driver / Follower
- Coordinator / Participant
- Source / Relay
- Lead / Support
- Commander / Proxy
- Origin / Echo
- Core / Edge
- Root / Branch
- Beacon / Listener
- Pilot / Wingman
- Active / Passive
- Initiator / Responder
- Principal / Auxiliary
- Mainline / Standby