Eseji
Zašto je fleksibilnost oblik korupcije u poslovnom softveru
Fleksibilnost zamenjuje zakon pregovorom. Pregovor stvara prekršaje. Prekršaji uništavaju poverenje.
Zašto je ERP propao: bez zakona u jezgru
ERP sistemi nisu propali zato što im je nedostajala funkcionalnost. Propali su zato što im je nedostajao zakon.
Determinizam je jedini oblik poverenja
Poverenje nastaje kroz determinizam, ne kroz transparentnost. Sistem je pouzdan samo ako isti ulaz uvek proizvodi isti ishod.
Konfiguracija bez autoriteta je prevara
Kada konfiguracija može da nadjača zakon, sistem postaje oruđe prikrivanja, ne upravljanja.
Revizija bez ponavljanja je fikcija
Ako prošle odluke ne mogu da se ponove pod revizijom, izveštaji revizije su naracije, ne dokazi.
Multi-Tenancy bez RLS je teatar
Deljene baze podataka sa tenant ID-jevima nisu izolacija. Jedan propust ih deli od katastrofe.
Konfiguracija nije zakon
Konfiguracija opisuje preferencu. Zakon definiše obavezu. Sistem koji tretira konfiguraciju kao izvršni autoritet nema zakon.
Stanje je nuspojava
Stanje nije istina. Stanje je ostatak. Istina je redosled odluka. Stanje je ono što ostaje.
Događaji su jedini izvor istine
Istina nije ono što sada postoji. Istina je ono što se desilo. Ništa što ne čuva šta se desilo ne može tvrditi istinu.
Determinizam je pravni uslov
Odluka koja ne može biti reprodukovana ne može biti odbranjena. Zakon ne toleriše verovatnoću. Zakon zahteva izvesnost.
Namera je jedini validan ulaz
Sistem koji prihvata sirove komande prihvata haos. Namera deklariše šta treba da se desi. Komande deklarišu kako.
Komande nisu odluke
Komanda izražava nameru. Odluka je odgovor sistema. Samo odluke stvaraju istoriju.
Projekcije su ugovori, ne skladište
Projekcija nije skladište podataka. To je ugovorna transformacija događaja u stanje koje se može upitati.
Šeme su pravne granice
Šema nije dokumentacija. To je pravna granica. Što šema zabranjuje ne može se desiti.
Vreme je prvorazredna dimenzija
Vreme nije metapodatak. To je strukturna dimenzija. Svaka odluka mora biti vremenski locirana.
Bezbednost je osobina arhitekture
Bezbednost nije funkcionalnost koja se dodaje kasnije. To je strukturna osobina dizajna sistema.
Validacija je sprovođenje zakona
Validacija nije provera grešaka. To je sprovođenje zakona. Nevažeći ulazi nikada ne smeju stići do sistema.
Podrazumevane vrednosti su odluke
Podrazumevana vrednost nije pogodnost. To je politička odluka dizajnera sistema.
Ćutanje je odluka
Kada sistem ne kaže ništa, odlučio je da ne govori. Tišina nije odsustvo odluke.
Neuspeh je prvorazredni ishod
Neuspeh nije izuzetak. To je legitiman ishod koji mora biti projektovan i zabeležen.
Ponavljanja su političke odluke
Ponavljanje nije tehničko oporavak. To je politička odluka o tome šta greške znače i kako reagovati.
Timeout-i su pravne granice
Timeout nije optimizacija performansi. To je pravna granica koja definiše kada strpljenje završava.
Konkurentnost je pravni problem
Konkurentnost nije karakteristika performansi. To je pravni problem o tome ko može delovati kada i kojim redom.
Idempotentnost je ugovor
Idempotentnost nije tehnička osobina. To je ugovorno obećanje da ponavljanje ne menja ništa.
Backpressure je upravljanje
Backpressure nije kontrola protoka. To je upravljanje o tome šta se dešava kada se kapacitet prekorači.
Redovi su sudovi
Red nije bafer. To je sud gde posao čeka da bude procenjen i raspoređen prema zakonu.
Scheduler-i su zakonodavci
Scheduler nije optimizator. To je zakonodavac koji odlučuje šta se izvršava, kada i sa kojim prioritetom.
Keševi su sporazumi
Keš nije skladište. To je sporazum o tome šta može biti zapamćeno i koliko dugo.
Konzistentnost je obećanje
Konzistentnost nije osobina. To je obećanje o tome šta će posmatrači videti i kada.
Dostupnost je dozvola
Dostupnost nije uptime. To je dozvola za delovanje. Bez dostupnosti nema autoriteta.
Greška je signal
Greška nije zabuna. To je signal koji mora biti prenesen, zabeležen i obrađen prema politici.
Oporavak je politika
Oporavak nije automatska restauracija. To je politička odluka o tome šta obnoviti i kako.
Rollback nije Undo
Rollback ne briše istoriju. On stvara novu istoriju koja kompenzuje ono što se desilo ranije.
Kompenzacija je zakon
Kompenzacija nije rukovanje greškama. To je sprovođenje zakona kada akcije moraju biti pravno poništene.
Posmatranje je odgovornost
Posmatranje nije praćenje. To je odgovornost. Što ne može biti posmatrano ne može biti upravljano.
Metrike su podsticaji
Metrike nisu merenja. To su podsticaji koji oblikuju ponašanje. Šta merite time upravljate.
SLA-ovi su javna obećanja
SLA nije cilj. To je javno obećanje koje stvara pravnu obavezu i odgovornost.
Ugovori su izvršni
Ugovori nisu dokumenti. To su izvršna pravila koja sistem sprovodi u runtime-u.
Politika je proizvod
Proizvod nije softver. Proizvod je politika koja upravlja time šta softver radi.
Sistem je zakon
Ako sistem to dozvoljava, dozvoljeno je. Ako ne, nikada nije postojalo. Sistem je zakon.