Alternatively, get good at doing rolling releases so you don't take down the entire system and have some sort of canarying process.
replies(3):
A traffic control system, the thing that makes sure all trains are in known locations, safely spaced, etc.... might be necessarily centralized. There isn't really a "rolling release" you can do for a single system.
Should they have a separate test system for release before "production", sure. Do they? No idea. Is it identical to production? Clearly not. How does the saying go....
> Everybody has a testing environment. Some people are lucky enough enough to have a totally separate environment to run production.
Assume all software is broken at all times. Constantly try to ensure it works and is secure. Sometimes updates break things. Test before production. Ensure test environments are similar to production. You're going to break things.