Jag var hos en finanskund som hade en mängd databasservrar. De körde Linux och PostgreSQL. Det var inte många produktionservrar – det kanske var runt 16 stycken clustrade och icke-clustrade instanser.
Dessa togs hand om olika administratörer och de hade väldigt specifika krav för hantering av finansiell information (t.ex. för clearing, warehousing, reporting, administration, regulations)
Dessa hade även vuxit fram över tid organiskt. Och problemet var att alla servrar såg olika ut.
Det fanns ingen installationsdokumentation, eller heller någon driftdokumentation.
De använde inte heller något sätt att hantera (idempotenta) förändringar i sina system. Allt var handjagat.
Jag gjorde en tabell över vissa grundläggande saker som var uppsatta. Det var allt ifrån kernel-justeringar (sysctl), sökvägar/monteringar till databas-data, hur backupscripten såg ut, parameterisering av databas. Där såg man att t.ex. backup-script och sökvägar var olika.
Efter denna mappning började ett arbeta med att dokumentera hur ett system skulle vara uppsatt (installationsguide). Detta gjorde att varje ny server i vilket fall hade en större ordning en vad det fanns i driftmiljön nu.
Varför ordning. Varför dokumentation?
Om vi har 16 olika värden på en server så är det mycket att “komma ihåg”. Om det bara är ett(1) värde som är samma så blir det en starkare och enklare symbol för kommunikation.
Allt utgår från levande dokumentation i t.ex. wiki eller än bättre i konkonfigurationshanteringsverktyg (Puppet, Ansible, Terraform etc). Där finns även en punkt för flera personer att konsumera och förändra information än att det är installerat i oordning på servrarna.
Detta kanske är en banal text – men att ha tydlighet i större driftsystem kan glömmas bort när personal har mycket av information i huvudet och inte kommunicerar. En tydligt konfigurationsbild blir ett tydligare språk. (Säg att du skulle ha egna subjektiva lokala namn på samma konferansrum – det skulle vara svårt att komma ihåg allas namn på rummet och det är mer information att persistera både i dokumentation och i mänskligt minne)
Felsökning blir enklare – onboarding av nya tekniker snabbare.
Så vi önskar att ta ner graden av entropi och få större kardinalitet. Mindre brus. Tydligare signal. Få punkter för mekanisk förändring och distribution av information.
Observera
Det finns vissa fall där ett konfigurationsverktyg kan ställa till det i en större informationsmonokultur – där systemen kan bli skörare. Det är där man kan förändra stora delar av infrastrukteren och något går fel. Vi har inte testat förändringen innan och vi har inte kört ut förändringen i delmängder i produktion.
