Veilig draaien

Applicatiebeheer — deel 20

Dinsdag, week zes. Twee oude gewoontes van Joost worden ineens onderdeel van het vak, en Hassan vraagt hem iets wat de hele maand op het spel stond.

Concepts

Dinsdagochtend zat Joost naar het spelplatform te kijken met de blik die hij vroeger op zijn eigen servers had gehad, en hij zag twee dingen die hem niet bevielen.

Het was een blik die vanzelf was teruggekomen. De afgelopen weken had hij steeds het gevoel gehad dat hij iets nieuws moest snappen. Vandaag was het andersom. Vandaag keek hij naar dit nieuwe ding met zijn oude ogen, en zijn oude ogen zagen meteen waar het rammelde.

"Twee dingen," zei hij tegen Ravi, die naast hem was komen staan met een aantekenboekje in plaats van koffie. "Eerst dit. Dat platform draait als de hoogste baas. Als de gebruiker die alles mag, binnenin zijn eigen wereldje. En dat zit me niet lekker."

Ravi keek op van zijn boekje. "Waarom niet?"

"Omdat dat nergens voor nodig is. Een spelletjesserver hoeft niet de hoogste baas te zijn. Hij hoeft spelletjes te draaien. En als iemand via een lek binnenkomt en de server draait als de hoogste baas, dan staat die indringer meteen op de hoogste stoel binnen dat wereldje. Dan kan hij veel meer dan wanneer hij binnenkomt als een gewone, kale gebruiker die bijna niks mag." Joost schudde zijn hoofd. "Dat heb ik mijn hele leven anders gedaan. Mijn diensten draaiden nooit als de hoogste baas. Die draaiden als een eigen, kale gebruiker, juist zodat een inbraak niet meteen alles opende."

Ravi schreef iets op, of deed alsof. "Dat is precies de eerste van twee dingen die hier vandaag aan de beurt zijn, en je hebt hem zelf al benoemd. Een werklast hoort niet als de hoogste baas te draaien als het niet hoeft. En het hoeft bijna nooit. Je zegt tegen het cluster: deze werklast mag niet als de hoogste baas starten. Draai hem als een gewone, kale gebruiker. En het cluster controleert dat nog voor het ding begint te draaien. Probeert het platform tóch als de hoogste baas op te starten, dan zegt het cluster nee, en gaat het niet aan."

"Het houdt het tegen vóórdat het begint," zei Joost.

"Voordat het begint. Geen kwaad bloed achteraf. Het start gewoon niet als het de regel overtreedt." Ravi tikte met zijn pen op het boekje. "We noemen het stukje waar dat soort veiligheidsregels in staat de veiligheidshouding van de werklast. Hoe hij in zijn vel zit, qua veiligheid. Draait hij als baas of als kale gebruiker. Mag hij onderweg alsnog meer rechten grijpen of niet. Dat soort knoppen. En de stand die jij al twintig jaar koos, als kale gebruiker, zo min mogelijk, dat is precies de stand die hier ook hoort."

Joost knikte. Het was de derde of vierde keer deze maand dat zijn eigen instinct het juiste antwoord bleek te zijn nog voordat iemand hem de vraag had gesteld. Hij begon eraan te wennen, en het wennen voelde goed.

"En het tweede ding," zei hij, en hij wees terug naar het scherm. "Dat platform heeft geen grenzen. Geen rem. Het mag zoveel geheugen en zoveel rekenkracht pakken als het wil. En dat is vragen om problemen."

"Vertel waarom, alsof ik het niet weet."

"Omdat machines gedeeld zijn." Joost leunde naar voren, op zijn gemak nu, op zijn eigen terrein. "Op een machine draaien meer dingen dan alleen dit platform. En als er één ding op hol slaat, een fout, een lek geheugen, een lus die niet stopt, en dat ding heeft geen rem, dan vreet het de hele machine leeg. Al het geheugen, alle rekenkracht. En dan gaan de buren ook onderuit. Niet omdat er met hén iets mis is, maar omdat hun buurman alles heeft opgeslokt. Dat is het ergste soort storing. Eentje waar de schuldige en het slachtoffer niet dezelfde zijn."

Ravi glimlachte breed. "Je beschrijft het mooier dan ik het in een handboek zou kunnen. Ja. Dus geef je elke werklast grenzen. En het makkelijkst onthoud je het als een vloer en een plafond. De vloer is wat hij minstens nodig heeft om fatsoenlijk te werken. Die schrijf je op, en dan zet het cluster hem alleen op een machine waar die vloer ook echt vrij is. Hij komt niet aan tafel zonder dat er ruimte voor hem gereserveerd is. En het plafond is zijn bovengrens. Tot hier mag je groeien, en geen kruimel verder."

"En als hij tegen dat plafond aan knalt?"

"Dat hangt ervan af waar hij tegenaan knalt, en dit is belangrijk, want het is voor de twee soorten verbruik niet hetzelfde." Ravi hield twee vingers omhoog. "Bij geheugen is het hard. Gaat een werklast over zijn geheugenplafond, dan is er geen rek. Het cluster zet hém op dat moment stil. Klaar, eruit, opnieuw beginnen. Want geheugen kun je niet half geven; het is op of het is er." Hij liet één vinger zakken. "Bij rekenkracht is het zachter. Gaat hij over zijn rekenplafond, dan zet het cluster hem niet stil. Het knijpt hem af. Hij blijft gewoon draaien, alleen langzamer, alsof iemand zijn kraan dichtdraait tot het toegestane straaltje. Hij wordt niet gekild, hij wordt geremd."

Joost knikte traag. "Dus over je geheugendak ga je eruit. En over je rekendak ga je niet eruit, je gaat alleen trager."

"Precies dat onderscheid. Eruit bij geheugen, geremd bij rekenkracht. Maar in beide gevallen geldt: zijn fout, zijn gevolg. De buurman merkt er niets van." Ravi keek hem aan. "En dit ken je ook, hè. Dit deed je al."

Joost dacht aan de grenzen die hij vroeger op zijn diensten had gezet. Hoeveel een proces mocht opensnijden, hoeveel het mocht pakken, zodat één losgeslagen ding niet de hele machine kon platleggen. Hij had het met de hand gedaan, per dienst, en hij had het belangrijk gevonden, en bijna niemand had ooit gemerkt dat hij het deed, want het was juist het werk dat ervoor zorgde dat er niets gebeurde.

"Ik zette grenzen op wat een proces mocht opeisen," zei hij. "Zodat een doorgeslagen dienst de boel niet meesleurde. Het was onzichtbaar werk. Je merkte het alleen als het er niet was."

"En hier is het geen onzichtbaar handwerk meer. Je schrijft de grens één keer netjes op bij de werklast, en het cluster handhaaft hem, op elke machine, altijd. Jij hoeft er niet meer bij te staan." Ravi klapte zijn boekje dicht. "Twee dingen, allebei van jou. Niet als de hoogste baas draaien. En grenzen aan wat een werklast mag opslokken. Het zijn de twee instincten waar je je hele loopbaan op hebt gebouwd, en ze zijn hier precies wat het vak vraagt."

Dus regelden ze het. Het spelplatform kreeg te horen dat het niet als de hoogste baas mocht starten, en ze keken of het zonder die hoogste stoel nog gewoon draaide. Het draaide. Het had die stoel nooit nodig gehad. En ze gaven het een vloer en een plafond, een gereserveerd minimum om op te draaien en een bovengrens die het niet voorbij mocht. Toen het stond, draaide het spelplatform veiliger dan het ooit had gedaan, als een kale gebruiker, binnen vaste grenzen, in een wereld die het niet meer kon meesleuren.

Het was even na de middag toen Hassan langskwam. Niet met een papiertje deze keer, en niet gehaast. Hij ging op de rand van het bureau zitten, wat hij zelden deed.

"Ik heb meegekeken de afgelopen weken," zei hij. "Met wat je doet. En met hóé je het doet." Hij liet een stilte vallen. "Toen het datacenter dicht ging, dacht ik eerlijk gezegd dat het lastig zou worden voor jou. Dat het misschien te veel nieuw was, te snel. Ik heb me vergist, en daar ben ik blij om."

Joost zei niets. Hij wist niet goed wat hij moest zeggen.

"Er komt een nieuwe lichting binnen na de zomer," ging Hassan verder. "Mensen die het cluster van buiten kennen, maar nog nooit een machine om drie uur 's nachts overeind hebben gehouden. Die niet weten waaróm de dingen breken die jij in je slaap kunt aanwijzen." Hij keek Joost aan. "Ik wil dat jij ze meeneemt. Niet alleen het hoe. Vooral het waarom. Want dat is wat dit team mist, en wat jij in overvloed hebt."

Het was even stil. De inzet van de hele maand, de baan, de plek, of hij meekon of aan de kant zou worden gezet, het had al die weken onder alles gezeten, vaak 's nachts naar het plafond. En hier loste het zich op, niet met een knal maar met een vraag. Niet of hij mocht blijven. Of hij anderen wilde meenemen.

"Dat wil ik," zei Joost. Meer niet. Het was genoeg.

Hassan stond op, knikte, en liep weg zoals hij altijd wegliep, zonder ophef. Ravi, die op afstand had meegeluisterd, ving Joosts blik en hief even twee vingers, een klein saluut, en zei verder niks. Sommige dingen hoefden niet uitgesproken.

Joost bleef nog even zitten. Hij dacht aan de eerste week, aan de man die naar het plafond had liggen staren met de angst dat hij was ingehaald, dat zijn vak niets meer waard was. Die man zat hier nog, ergens, maar hij was stiller geworden, en op een dag was hij bijna helemaal verdwenen zonder dat Joost het precies had gemerkt. Wat ervoor in de plaats was gekomen, was geen man die alles wist. Er kwam nog van alles, dat wist hij goed. Hoe je het uitrollen zelf een vak maakte, met gereedschap dat hij nog niet kende. Hoe je de waarheid van het hele cluster op één plek bewaarde zodat je het uit het niets opnieuw kon opbouwen. Daar had hij nog geen beeld bij, en dat was prima. Er kwam nog genoeg.

Maar de angst was weg. In de plaats ervan zat iets rustigs. Hij draaide mee. Hij dacht mee. En vandaag had hij meegedacht over veiligheid, over wie als baas draaide en wat een werklast mocht opslokken, op precies de manier waarop hij het altijd al had gedaan, alleen nu telde het mee aan een tafel waar hij een maand geleden bang was geweest niet te mogen zitten.

Hij reed die avond naar huis terwijl de lucht oranje kleurde boven de weg. Mirjam stond in de keuken toen hij binnenkwam, en hij vertelde haar over Hassan, over de nieuwe lichting, over het meenemen. Ze veegde haar handen af aan een doek en bleef even naar hem staan kijken.

"Ze vragen je om het door te geven," zei ze.

"Ja."

"Dan zijn ze er eindelijk achter," zei ze, "wat ik al twintig jaar weet." En ze zei het zonder het zwaar te maken, en ze draaide zich weer om naar het fornuis, en Joost zette de tas neer en bleef nog even in de deuropening staan, en hij had geen haast om ergens te zijn.