2 ms·
The reliability is a huge thing. Some of the ancient software these things run are the backbones of major systems: Power grids, water systems, air traffic contr
by VonGuard 6y ago
The reliability is a huge thing. Some of the ancient software these things run are the backbones of major systems: Power grids, water systems, air traffic control systems, flight booking systems, weapons controls, or banking systems.
Sometimes, these systems are unable to be run in what you'd think about as a traditional distributed systems model. You don't just run that one COBOL program 100 times and kill one process everytime it jams up.
The software inside of some of these systems was written in a time when it could be optimized to the absolute bit. At that level of optimization and skill in development, you're not really going to do better or get more throughput with a rewrite. Instead, you just keep wrapping that thing in outer layers and message queues.
So, if you need a computer that can absolutely 99.99999% never stop working, including redundant everything (Power, ram, cpu, network) and you're running something that's super old but super efficient and has worked basically perfectly for 30 years, you just buy another one to replace the original, and add some containers into the mix for the queues, or storage adapters or whatever, rather than spend a billion dollars re-engineering the whole thing from scratch as microservices that may or may not work.
That, or it's a giant fucking database server. That's usually the case: one big floppy database that runs everything in the company and it's SAP system.