Kosten noch moeite waren gespaard om de nieuwe versie van dit belangrijke programma uitvoerig te testen. Al maandenlang hadden de toekomstige gebruikers ermee geoefend en ze waren enthousiast over de nieuwe functionaliteiten. Bij de officiële invoering van de upgrade was de softwareleverancier aanwezig om eventuele problemen te verhelpen. Dat was ook wel nodig, want het was een gecompliceerde overstap.

Testomgeving

De backend van de applicatie draaide op een database cluster waarvoor peperdure servers waren ingezet. De database zelf functioneerde sinds de laatste update van enkele jaren geleden op een uitgebreide storage array. Door het installeren van de nieuwe versie zou de wijze van opslag in de database ingrijpend veranderen. Hiervoor moest offline een ingewikkelde dataconversie worden uitgevoerd, maar daarmee was binnen de testomgeving al geoefend. Daarnaast moesten verschillende bestanden op de workstations worden bijgewerkt. Jammer genoeg zou het daarna wel onmogelijk zijn om de oude clientversie te gebruiken.

Om fouten te vermijden, hadden ze de overstap tot in het kleinste detail voorbereid. Het systeem zou op een zaterdagavond worden uitgeschakeld, waarna back-ups van de database werden gemaakt en met de conversie werd begonnen. Een etmaal later moest een gebruikersgroep het systeem testen en kon worden begonnen met de client-upgrades. Werknemers van de zondagsdienst konden daarna meteen in het nieuwe systeem werken, waarmee de upgrade zou zijn voltooid.

Op zaterdag om 7 uur 's avonds, precies op tijd, begon inderdaad de conversie. De volgende ochtend was de eerste IT-ploeg klaar met het werk en leken de database en de applicatieservers gereed voor gebruik, wat vervolgens door de testresultaten werd bevestigd. Daarna volgde het bevel om de nieuwe clientsoftware over het netwerk te sturen naar zo'n 1000 workstations.

Toen belde een medewerker naar de helpdesk. Hij probeerde een bestelling bij te werken, maar kwam vreselijk traag van het ene naar het andere scherm: veel minder snel dan hij zich herinnerde van de training. Nu hadden nog maar 150 ingelogde eindgebruikers een upgrade ontvangen, maar wij keken elkaar bezorgd aan. Het leek of de temperatuur in het datacenter met 20 graden was gedaald.

Alarmbelletje

De komende twee uren bleek dat er iets grondig was misgegaan. Hoe meer medewerkers in het systeem inlogden, hoe trager het werd. Eerst dachten we aan een netwerkprobleem, waaraan de beheerder direct ging sleutelen. Tegelijkertijd controleerden de serverbeheerders de prestaties van de applicatieservers en gingen er IT'ers naar de werkvloer om de desktops te onderzoeken. Maar zowel het netwerk als de servers en de client workstations bleken goed te werken. Niemand dacht aan de databaseservers, omdat die zoveel overcapaciteit hadden, maar uiteindelijk was dat de enige overgebleven optie.

Zes uur nadat de nieuwe versie live was gegaan, controleerde de serverbeheerder de logs van de databaseservers. CPU en geheugengebruik waren aanzienlijk hoger dan vóór de upgrade, maar dat moest deze server gemakkelijk aankunnen. Pas bij het nakijken van de logs van de disk array begon er een alarmbelletje te rinkelen: deze kon simpelweg niet aan de vraag voldoen. Uit nader onderzoek bleek dat de fout was te herleiden tot een aantal opgeslagen procedures, verbonden met de nieuwe applicatie.

'Leermoment'

Negen uur na de invoering kwamen wij bijeen voor noodberaad. Ondanks alle tegenslag was alle productiedata van een gehele ploegendienst opgeslagen in het nieuwe systeem. Omdat we niet meer terug konden naar de oude versies van de clientbestanden, was het dus beter te blijven werken met het trage, nieuwe systeem. De daaropvolgende week was een nachtmerrie voor de IT-afdeling. Productieschema's werden niet gehaald en klanten waren ontevreden. Uiteindelijk was er een kostbare nieuwe storage array nodig om met de nieuwe versie te kunnen doorgaan.

In het leger heten zulke situaties 'leermomenten'. Twee lessen zijn: nooit een upgrade uitvoeren zonder de mogelijkheid om te kunnen terugkeren en pas ervoor om als proefkonijn te fungeren voor de softwareleverancier. Nog belangrijker is dat we niet hadden ingeschat welke invloed de nieuwe software zou hebben op de server en de opslagarchitectuur. In de testfase hadden we kunnen simuleren dat een veel grotere groep gebruikers van de software gebruikmaakte, waaruit zeker was gebleken dat de opslagcapaciteit onvoldoende was. Verwacht niet dat de softwareleverancier dit voor je zal doen: zij kennen de organisatie niet zoals jij. Uiteindelijk staat jouw baan op de tocht als zulke rampen zich voordoen.

Bron: Techworld