← vissza a főoldalra

Káosz

Rendszer-káosz és entrópia az informatikában

Miért válik évek alatt kiszámíthatatlanná egy működő rendszer — és hogyan mérjük, majd fékezzük meg az entrópiát mérnöki eszközökkel.

A technikai adósság mint entrópia-forrás

Minden kézi beavatkozás, minden dokumentálatlan „gyors javítás” és minden verziózatlan konfiguráció növeli a rendszer entrópiáját. A konfigurációs drift (configuration drift) az az állapot, amikor az éles környezet észrevétlenül eltér a szándékolt, verziókövetett állapottól.

A drift önmagában is elég ahhoz, hogy két, elvileg azonos szerver másképp viselkedjen. A hibakeresés ilyenkor nem mérnöki feladat, hanem régészet: ki, mikor és miért nyúlt a rendszerhez.

A káosz mérhető

A megérzés helyett metrikák. A rendszer állapotát négy alapmutatóval (DORA) tesszük számszerűvé:

  • Deployment frequency — milyen gyakran szállítunk éles változást
  • Lead time for changes — mennyi idő a committól az élesig
  • Change failure rate — a változtatások hány százaléka okoz hibát
  • Mean time to recovery (MTTR) — mennyi idő alatt állunk helyre

A rend első lépése: minden legyen kód

A drift ellenszere az idempotens, deklaratív infrastruktúra. Ha a kívánt állapotot kód írja le, a valós állapot mindig visszatéríthető hozzá — kézi beavatkozás nélkül, ismételhetően.

# a szándékolt állapot verziózva, nem a fejekben- name: nginx a kívánt verzióban, mindig fut  ansible.builtin.package: { name: nginx, state: present }  notify: reload nginx

Kérdésed van ebben a témában? Vegyük fel a kapcsolatot.

Kapcsolatfelvétel