Konfiguracija nije zakon
Konfiguracija nije zakon
Konfiguracija opisuje preferenciju. Zakon definiše obavezu.
Sistem koji tretira konfiguraciju kao autoritet nema zakon.
I. Greška kategorije
Savremeni sistemi premeštaju ponašanje u:
flag-ove
environment promenljive
YAML fajlove
feature toggle-e
To se naziva fleksibilnost.
Fleksibilnost bez granice nije upravljanje.
Konfiguracija se menja. Zakon ne.
II. Promenljiva pravila ne mogu vladati prošlošću
Odluka je zakonita samo ako se može opravdati kasnije.
Ako izvršavanje zavisi od konfiguracije, opravdanje ne postoji.
Zakon se promenio. Odluka je neodbranjiva.
III. Konfiguracija nije revizibilna
Konfiguracija nema:
uzročnost
vremensku istinu
nepromenljiv zapis
Može se videti, ali ne dokazati da je važila.
Revizija zahteva zakon.
IV. Feature toggle-i su slom kontrole
Feature toggle-i:
zaobilaze review
zaobilaze deploy
brišu trag odgovornosti
Zamenjuju zakon trenutnom voljom.
V. Zakon mora biti nepromenljiv
Zakon mora biti:
eksplicitno definisan
verzionisan
nepromenljiv
vremenski vezan
Konfiguracija to ne može.
VI. Gde zakon pripada
Zakon pripada:
kernel logici
determinističkom izvršavanju
verzionisanim registrima
nepromenljivim događajima
Ako može da se promeni uživo, nije zakon.
VII. Konačni zaključak
Konfiguracija nije zakon.
Njeno korišćenje kao autoriteta stvara sisteme bez dokaza i odluke bez odgovornosti.
SHA-256: 537c827a8c111281fdd3217175a6dd3e8214f822eba77b7ed7ce3c22052481d6