De nieuwe versie

Applicatiebeheer — deel 8

Vrijdagmiddag, een nieuwe versie die niet deugt, en een zaal vol mensen die niets mag merken. Dit is het hoofdstuk waarin Joosts oude instinct precies het juiste blijkt te zijn.

Concepts

Het was tien voor vijf op een vrijdag toen het misging, en Joost wist al wat er ging gebeuren voordat iemand het zei.

Yara stond bij haar scherm en haar gezicht stond strak. "De nieuwe versie deugt niet," zei ze. "Ik zie het nu pas. Hij is net live gegaan en de aanmeldingen lopen vast. Mensen komen niet meer binnen."

Het was vrijdag. Vrijdagavond was de drukte. Over een uur zou Spelveld, het spelplatform, vollopen met mensen die hun weekend begonnen, en als ze niet binnen konden komen, was dat geen klein ongemak. Dat waren duizenden mensen die voor niks bleven proberen, en boze berichten, en maandag een vergadering waar iemand zou vragen wie dit had laten gebeuren.

Joost voelde het bekende ding opkomen. De koude prik onder in zijn maag die hij twintig jaar lang had gekend, het sein dat er nu iets stuk was en dat hij het was die het moest maken. Maar er was iets anders ook. Hij keek naar het scherm en hij dacht: *rustig. Eerst kijken wat er is.*

"Wacht even," zei hij. "Vertel me eerst wat er nou precies gebeurd is. Wat heb je gedaan."

Yara haalde adem. "Ik heb een nieuwe versie uitgerold. Een bugfix, dacht ik. Het systeem doet dat netjes, het vervangt de oude kopieën één voor één door nieuwe, dus je merkt er niks van terwijl het loopt. Dat is het hele punt." Ze wees. "Kijk, het is nog bezig. Drie van de acht zijn al nieuw. Vijf zijn nog de oude."

Joost keek. En hij begreep wat hij zag, en het verbaasde hem dat hij het begreep.

Het systeem verving de kopieën niet allemaal tegelijk. Dat zou stom zijn, want dan stond alles tegelijk even uit en kwam er niemand binnen tijdens dat gat. Nee, het deed het rustig, beetje bij beetje. Eentje eruit, een nieuwe erin, wachten tot die echt loopt, dan de volgende. Een rollende beweging. Op elk moment stonden er genoeg kopieën overeind om de mensen op te vangen. Een ploeg die van dienst wisselt zonder de deur dicht te doen: er staat altijd iemand achter de balie terwijl de aflossing binnenkomt.

"Dus drie van de acht zijn al de slechte versie," zei Joost.

"Ja. En die drie laten niemand binnen."

"En de andere vijf zijn nog de oude, goeie versie."

"Voorlopig. Maar over een paar minuten heeft het systeem ze allemaal vervangen. Dan zijn alle acht slecht. Dan komt er niemand meer binnen, niemand." Yara's stem ging iets omhoog. "Ik moet het tegenhouden. Maar ik weet niet of ik snel genoeg ben, en als ik nu de verkeerde knop pak maak ik het erger."

"Wacht," zei Joost. "Stop het systeem niet vanzelf als een nieuwe kopie niet goed opkomt? Dan zou het toch niet doorrollen naar de volgende?"

Yara knikte gespannen. "Normaal wel. Als je het netjes instelt, controleert het systeem bij elke nieuwe kopie of die echt gezond is voordat het de volgende vervangt. Komt er eentje niet goed op, dan houdt het de uitrol vanzelf stil en blijven de oude overeind. Een vangnet. Maar dat is hier het probleem." Ze wees naar het scherm. "Deze versie ziet er van buiten gezond uit. Hij start netjes op, hij meldt zich gezond. Pas als er echt een mens probeert binnen te komen, blijkt dat het vastloopt. Het systeem ziet een gezonde kopie en rolt door. Het vangnet ging niet af, omdat de kapotte versie er gezond uitzag."

Ravi was erbij komen staan. Hij zei niets. Hij keek naar Joost.

En Joost merkte dat hij het wist. Niet de knop, niet hoe je het in dit systeem deed, dat wist Yara veel beter dan hij. Maar het wist het andere. Het ding waar je twintig jaar storingen voor nodig had om het in je lijf te krijgen. Hij wist hoe je je moest gedragen op het moment dat er iets brandde.

"Goed," zei hij, en zijn stem was rustig, rustiger dan hij zich voelde. "Niks erger maken. We gaan niet vooruit. We gaan terug."

"Terug?"

"De oude versie deed het goed. Een uur geleden was er niks aan de hand." Hij keek haar aan. "Dus we hoeven niks nieuws te verzinnen en niks te repareren onder druk. We hebben al een versie die werkt. Die van een uur geleden. Kunnen we daar gewoon naar terug?"

Yara keek hem aan. En toen ging er iets in haar gezicht open. "Ja," zei ze. "Ja. Dat kan. Het systeem heeft de oude versie nog. Hij gooit hem niet weg als hij een nieuwe uitrolt, hij zet hem opzij. Klaar om terug te halen." Ze typte al. "Ik kan in één beweging zeggen: doe maar terug naar wat het net was."

"Doe dat dan."

"Maar als ik het fout doe..."

"Je doet het niet fout." Joost zei het zonder twijfel, en hij meende het. "Je gaat niet improviseren. Je vraagt het systeem om iets te doen wat het allang kan: de vorige versie terughalen. Dat is geen gok. Dat is een knop die ervoor gemaakt is. Doe maar."

Ze deed het. En Joost keek toe hoe de beweging omkeerde. Zoals het systeem net bezig was de oude kopieën te vervangen door nieuwe, draaide het nu om. De slechte nieuwe kopieën gingen er weer uit. De goeie oude kwamen terug. Eén voor één, dezelfde rustige rollende beweging, alleen de andere kant op. En op elk moment stonden er weer genoeg overeind om de mensen op te vangen.

"Twee terug," zei Yara, naar het scherm kijkend. "Vijf. Zes." Haar adem ging langzamer. "Acht. Ze zijn allemaal weer de oude versie. De aanmeldingen lopen weer."

Het bleef even stil bij de schermen. Buiten werd het al donker. Joost merkte dat zijn schouders zakten, een klein stukje maar.

"Niemand heeft er iets van gemerkt," zei Yara, half ongelovig. "Of bijna niemand. Een paar minuten lang kwam een deel van de mensen niet binnen. Maar er was nooit een moment dat de zaak helemaal plat lag. Omdat er steeds genoeg goeie kopieën overeind stonden."

"Dat is het verschil," zei Ravi rustig. "Met de hand had je nu een doodlopende avond gehad. Alles plat, paniek, en jij met je handen in het haar tot middernacht. Nu draaide het verkeer gewoon door op de kopieën die nog goed waren, terwijl het systeem de rotzooi terugdraaide. Niemand bovenaan zal hier ooit van weten."

Yara draaide zich om naar Joost. "Hoe wist je dat zo zeker," vroeg ze. "Dat terugrollen. Je had het nog nooit in dit systeem gedaan."

"Nee. Maar ik heb het duizend keer met de hand gedaan, op mijn eigen manier." Hij leunde tegen de tafel. "Vroeger, als ik een update had uitgerold die niet deugde, bewaarde ik altijd de oude bestanden. In een mapje ernaast, met de datum erop. Mijn collega's vonden het overdreven. Maar als het misging, en het ging soms mis, dan zette ik niet de hele nacht uit te zoeken wat er stuk was. Dan zette ik gewoon de oude terug. Eerst het bloeden stoppen. Daarna pas uitzoeken wat er precies fout zat, op een rustig moment, niet om kwart voor vijf op een vrijdag met een zaal die volloopt."

"Eerst het bloeden stoppen," herhaalde Yara.

"Dat is regel één. Als er iets brandt, ga je niet eerst onderzoeken hóé het vuur is begonnen. Je blust eerst. Het onderzoek komt later." Hij haalde zijn schouders op. "Het systeem doet dat hier alleen netter dan ik het ooit met de hand kon. Het bewaart de oude versie zelf. Ik hoefde geen mapje met de datum aan te maken. Hij stond er al, klaar om terug te halen."

Ravi knikte langzaam, en bij zijn mondhoek trok iets, hetzelfde dat Joost de eerste dag had gezien toen hij een container een proces had genoemd.

"Eén ding nog," zei Joost, en hij keek Yara aan. "Die slechte versie. Die is nu opzij gezet, niet weggegooid, toch? Net zoals de oude opzij werd gezet toen jij hem uitrolde?"

"Klopt. Hij staat er nog, op nul. Stilgezet."

"Mooi. Maandag, met een kop koffie en een helder hoofd, gaan we kijken wat er nou eigenlijk mis was met die versie. Wat de bug was. Dat doen we niet nu. Nu is het vrijdag en het werkt weer en dat is genoeg." Hij keek naar de klok. "En ik ga naar huis."

Hij zei het en hij hoorde zichzelf het zeggen en het verbaasde hem. Vrijdag, tien voor vijf, een slechte release, en hij ging naar huis. Vroeger had dit een nacht betekend. De pieper, de te felle schermpjes in het donker, Mirjam die zich omdraaide en niets zei. Nu liep hij naar buiten terwijl het nog licht was, of bijna.

Hij reed naar huis en hij was er om half zes, en Mirjam was nog bezig in de keuken en keek op toen hij binnenkwam, verbaasd.

"Jij bent vroeg."

"Er ging iets mis op het werk," zei hij. "Een nieuwe versie die niet deugde. Vlak voor de drukke avond."

Ze zette een pan neer. "En nu sta je hier."

"En nu sta ik hier." Hij hing zijn jas op. "We hebben het teruggedraaid. Naar de versie van een uur eerder. Duurde twee minuten. Niemand heeft er echt iets van gemerkt."

Mirjam keek hem aan, en hij zag dat ze iets afwoog, iets wat met meer te maken had dan met deze ene avond. Twintig jaar avonden waarop hij niet thuis was gekomen, of laat, met de pieper in zijn zak die elk moment kon afgaan.

"Mooi," zei ze alleen. Maar ze zei het op een manier waardoor hij wist dat ze het meende.

Ze aten samen, vroeg, met het licht nog aan buiten. En ergens tijdens het eten dacht Joost aan die slechte versie die opzij stond te wachten in het cluster, op nul, stilgezet, klaar om maandag onderzocht te worden. Hij wist nog niet wat er mis mee was. Dat zou hij maandag uitzoeken. Maar voor het eerst voelde dat niet als een zorg die hem het weekend in zou volgen. Het was gewoon iets wat maandag op zijn lijstje stond. Het kon wachten. En hij ook.