Zauważyłem coś dziwnego w złożonych systemach: prawdziwe zasady rzadko znajdują się tam, gdzie ludzie myślą, że są.
W dokumentacji wszystko wygląda na kontrolowane. Protokoły definiują zachowanie, węzły walidują dane, a maszyny podążają za jasnymi instrukcjami. Na papierze wydaje się, że to doskonale zaprojektowany system.
Jednak gdy system działa w rzeczywistym świecie, rzeczy zachowują się nieco inaczej.
Roboty wysyłają aktualizacje późno, ponieważ są zajęte przetwarzaniem czujników. Węzły weryfikacyjne otrzymują strumienie danych zamiast stabilnych przepływów. Niektóre zadania wykonują się szybko, podczas gdy inne czekają cicho w kolejkach. Nic nie łamie protokołu, ale rytm systemu się zmienia.
A rytm ma większe znaczenie niż projekt.
W miarę skalowania systemów, drobne różnice czasowe zamieniają się w problemy z koordynacją. Informacje docierają nieco późno, decyzje są podejmowane na nieco starych danych, a czyste zachowanie wyobrażone w diagramach architektonicznych powoli się oddala.
Wtedy operatorzy cicho wkraczają.
Wygładzają kolejki, priorytetyzują pewne aktualizacje i dodają małe bufory, które absorbują chaos rzeczywistego świata. Z biegiem czasu te dostosowania rozprzestrzeniają się w zespołach i stają się normalnym sposobem zarządzania systemem.
I wtedy prawda staje się jasna.
Protokół definiuje zasady.
Ale to operatorzy są tymi, którzy sprawiają, że system naprawdę działa.