De uitval van een computer bij Prorail en het falen van redundantie leidde tot ernstige vertraging voor reizigers. VVD-Kamerlid Fahid Minhas vraagt staatssecretaris Vivianne Heijnen (Infrastructuur en Waterstaat) hoe het kan dat in twee jaar tijd drie storingen in digitale systemen het spoorverkeer in de soep laten lopen.
Rikus Spithorst, voorzitter van de Maatschappij voor Beter OV, in een recente column: ‘Maar goed, ik leg het nog één keer uit. Jongens en meisjes van Prorail: de bedoeling van een redundant systeem (dat door de belastingbetaler en de reiziger voor jullie is betaald) is dat dat in werking treedt als het primaire systeem het begeeft. Ingewikkelder is het niet.’
Wat was er gebeurd? In een verkeersleidingpost van de spoorbeheerder begaf een computer het; vervolgens weigerde het vervangende systeem dienst, waardoor in grote delen van het land treinen stil kwamen te staan. Vervolgens lichtte de NS de reizigers onvoldoende in over de ontstane situatie; raadde hen zelfs aan zelf transport te regelen. Chaos na computerblunder heette het in de termen van Maatschappij voor Beter OV.
Stresstest
Kamerlid Fahid Minhas (VVD) vraagt de staatssecretaris of zij bekend is met het feit dat in 2015 een stresstest is uitgevoerd naar de ict-systemen van Prorail. ‘Welke lessen zijn daaruit geleerd? En hadden de verstoringen van 2021 en 2022 in dat licht voorkomen kunnen worden?’, aldus Minhas.
‘Ik maak mij hard voor het op duurzame wijze verkleinen van de reistijden, met daarbij oog voor de grensregio’s, steden en onze buurlanden’, meldt de staatssecretaris op de website Rijksoverheid.nl. Het kan nog wel even duren voordat zij antwoord geeft op de vragen van Minhas, omdat de regering op reces is tot 5 september.
Minhas wil weten of de bewindsvrouw een nieuwe stresstest bij de ict-systemen van de spoorbeheerder wil laten uitvoeren.
In het AD reageerde een woordvoerder van Prorail op het falen van het backup-systeem. ‘Er wordt uitgebreid onderzoek gedaan naar de oorzaak, maar het lijkt dat dit komt vanwege een fout in de software. Meerdere systemen werkten hierdoor niet meer.’
Jack, IT is what happens while you’re busy with Service Oriented Architecture en al dan niet rijnlandsche modellen.
en dan weer die schaamteloze “functie elders” oplossing daarbovenop, voor als een reactie je niet aanstaat.
Het ontwerpen, reviewen, bouwen en/of testen van fouttolerante oplossingen is deel van mijn vak.
Zo zou je er bijv kunnen kiezen, ik zeg maar iets geks, om de werkplek storage fysiek of desnoods virtueel, te scheiden van de productie storage van het dienst die je levert. Ook voor de uitwijk.
Risicos’s mbt niet testen of niet in reeel scenario testen of het houden bij “alleen filosoferen op goed geluk”, maak ik bespreekbaar en worden netjes geclassificeerd. Meestal klasse heel belangrijk, doen wel later als er tijd voor is. In de IT betekent dat “nooit”.
Nog een quote “Het kan nog wel even duren voordat zij antwoord geeft op de vragen van Minhas, omdat de regering op reces is tot 5 september.”
wat betreft die redundantie en failover mbt kamervragen zoals : als kamerlid snap ik het technisch niet helemaal maaruh heeft het systeem nu meer lucht ?
Ik kan het ook niet helpen dat de vraag komisch klinkt of er nu een oplossing gevonden is zonder de werkplekken uit te zetten. En Rob K het gaat niet om je technisch consult maar zoals Rob vL en oudlid al duidelijk maken, om het circus.
@Rob Koelmans,
Je hebt helemaal gelijk dat er tegenwoordig goede architecturen bestaan om de bedrijfszekerheid van kritische systemen erg hoog te krijgen. Dat vereist vergaande virtualisatie en gebruik van gedegen datacenters die hierin faciliteren.
Alleen constateer ik dat dat veel bedrijven niet in staat zijn hun spaghettisystemen volgens een dergelijk concept om te bouwen. De afhankelijkheid van legacy is vaak nog groot en de ombouw een megaklus met alle risicos van dien. Daarom zitten veel bedrijven zoals je terecht opmerkt nog in oude structuren waar moeilijk uit te komen is.
Die virtualisatie heeft echter ook een schaduwkant. De gelaagdheid van systemen is dermate gegroeid dat vrijwel niemand meer een totaaloverzicht heeft van alle afhankelijkheden en interacties. Naarmate complexiteit toeneemt wordt ook de onvoorspelbaarheid van de uitkomst van interacties groter (zie bijvoorbeeld het stuk ‘Complexity and emergent behaviour in ICT systems’ daarover van S. Bullock en D. Cliff) en meer dan eens ontstaan problemen juist daardoor. Zoals ik tijdens mijn werkzame leven vaker zei: een systeem dat niemand begrijpt is inherent onbetrouwbaar.
Verder is die gelaagdheid goed als de interfaces degelijk zijn beschreven en ook consistent worden gebruikt. Ook daar zitten adders onder het gras. Een collega architect zei daarover ooit: ‘Het goede van standaarden is dat de keuze zo groot is’. Verder dwingen legacy systemen tot ad-hoc interfaces die nooit de degelijkheid kunnen evenaren van de bij de formele architectuur ooit bedachte interfaces.
Persoonlijk geloof ik wel in de opkomst van AI gecombineerd met verhoging van autonomie in componenten om uiteindelijk te komen tot hogere betrouwbaarheid (mits je dus in staat bent er naar toe te migreren!). Wat betreft autonomie staat op Youtube een prachtig voorbeeld onder het kopje ‘Who needs leaders’ (uit 2008 n.b.). Zeker de moeite waard om eens te bekijken.
@Rob van Linden, die pdf over complexiteit en eventueel daaruit voortvloeiende emergentie zeggen mij als metabeschouwing over it-complexiteit helaas weinig. De complexiteit van ICT valt in de meeste orgnanisatie erg mee. Er mist alleen vaak veel informatie. Verder met je wel een enigszins generieke achtergrond hebben en daar krijg je bij grotere organisaties niet vaak de gelegenheid voor die te ontwikkelen. Bij kleinere organisaties vaak ook niet omdat daar sowieso minder sprake is van veel diepte in respectievelijke disciplines en van complexiteit. Ik heb mij bij mijn twee opmerkingen overigens beperkt tot betrouwbaarheidsverbeteringen die op vrijwel iedere legacy in een handomdraai toegepast kan worden.
Het Britse filmpje vind ik ronduit briljant. Het associeert met complexe systemen zoals die van mierenkolonies en vogelzwermen en geeft me nog weken stoft tot nadenken. Bedankt daarvoor.
Een minuutje achterstand of zo werkt misschien bij webwinkels maar ik weet niet of het zo’n goed idee is voor real-time systemen waar het ‘zijn & tijd’ om de veiligheid gaat. En een autonomie in de componenten is naar mijn opinie geen systeem maar chaos want uiteindelijk maakt een onderlinge samenhang tussen de componenten er een systeem van. Tijd zorgt hierin voor ordening, zeker in die oude structuren welke om een serie aan gebeurtenissen gaat. En een minuut is 60 seconden en geen centimeter meer of minder dus wat betreft het classificeren van data in alle complexe transactionele systemen hebben we nog een uitdaging.
Misschien wel omdat de focus nog teveel op de systemen/applicaties ligt terwijl het doorgeven van de status in een circus van autonome componenten om standaarden en gedefinieerde eenheden gaat zodat er ordening is. Betreffende het delen van links:
http://wpp.interactory.nl/upload/waardevandata.pdf
Ik ken de details niet en jij ook niet, Ewout. Is vrijwel nooit een probleem, hoor. Bovendien zijn er dan ook vrijwel altijd aanvullende technieken om zelfs mutaties tot op de laatste seconde te synchroniseren bij een fail-over. Je bent weer lekker relevant aan het cherry-picken want het is in eerste instantie al belachelijk dat een applicatieserver uitvalt tenzij er iets heel bijzonders aan de hand was.
De gedachte achter het concept van de applicatieserver is dat zaken zoals toegang tot gegevensbestanden, interactie met een gebruikersinterface, de beveiliging en schaalbaarheid infrastructureel opgelost worden zodat een programmeur zich alleen nog maar bezig hoeft te houden met het programmeren van de business logica. Ik zeg niks over loketdenken maar fail-over betekent dat applicatieserver toegang tot de gegevensbestanden van de replica moet hebben om te kunnen schrijven.
Rob K. geeft dan wel geen gratis consult maar hij moet wel eerlijk zijn want gratis hypervisor klinkt als ‘Penny wise and pound foolish’ als je moet stapelen met alle aanvullende technieken om de integriteit van replicas te garanderen. En dat verhoogt niet alleen de prijs van de oplossing door alle acheraf bijkomende licenties maar ook de complexiteit. Slagerij-op-de-hoek clubje voor als een het onsje meer mag zijn……
Even het ongevraagd advies resumeren.
– Rob vL : alles is veel te complex geworden, inderdaad vroeger was alles …
– Rob K : 2 virtueel, 6 enterprise, 5 nodes, 3 uitval, drukdrukdruk maar handomdraai. jaja
– Oudlid : loketdenken, ownee dat zeg ik juist niet. schrijven met vork met evenveel tanden als replica’s en hoe dan integer en ook nog eens de boekhouder als man of the match.
– moppersmurf : realiteit en anonieme reacties. daar moeten we echt vanaf.
dus tot jullie eruit zijn gewoon de werkplekken down, dat lucht op.
proven technology.
Hoe ‘begeeft’ een server het in 2022, Ewout? Hebben ze nog verouderde architecturen van Fijutsu-Siemens of zo?
Dit soort applicaties is meestal 10, 20 jaar geleden geschreven in VB, Access, Delphi. Er vanuit gaande dat die applicatie op zijn minst een powerdown overleeft (je moet wel heel grote hekel hebben aan je collega’s als zelfs dat niet het geval is), hoef ik helemaal niets te stapelen om debacles zoals dit te voorkomen (maar kan dat natuurlijk wel als dat nodig zou zijn).
De applicatieserver hoeft zeker geen toegang te hebben tot de gegevens gestanden van de replica. Replica’s zijn gewoon autonome kopieën die door de hypervisor actueel worden gehouden. Voor applicaties die geen powerdown verdragen had/heb je de mogelijkheid om alle nodes partities te laten lezen en schakelt een watchdog de schrijvende node over bij een storing. Dat wordt vrijwel nooit meer gebruikt maar is er nog steeds. Dit werkt prima bij bericht- of documentgeoriënteerde applicaties. Als die applicatie niet ouder is dan 15, 20 jaar mag je in ieder geval verwachten dat het een client/server inrichting heeft en dan kunnen alle nodes gewoon lezen en schrijven. Dan komt het verder eventueel aan op de database maar iedere database overleeft een powerdown. Als er helemaal geen server meer is na een crash pak je de laatste backup en heb je hopelijk de transactielog op zijn minst naar een aparte partitie zitten schrijven, bij voorkeur DFS. De restore pakt geheel vanzelf de log en binnen een mum van tijd ben je weer actueel.
Dan heb ik het nog niet over de meerdere mogelijkheden die je hebt op een database-server 24/7 te maken. Die kun je bovendien nog in combinatie gebruiken. Wat is er dan niet eerlijk aan dit verhaal? Jij gaat ervan uit dat jouw eigen ‘van horen zeggen’ kennisniveau de maat der dingen is, lijkt het wel. Heb je zelf wel eens een hyperconverged cluster gebouwd of daarbij actief betrokken geweest? Ik vind insinueren dat anderen niet eerlijk zijn nogal aanmatigend en verwacht excuses als je dat niet goed kunt onderbouwen.
Er zijn in Nederland natuurlijk meer die bezwaar aantekenen tegen het systeemdenken:
https://www.linkedin.com/pulse/van-systemen-naar-stelsels-paul-oude-luttighuis/
Toch ga ik liever van systemen naar architectuur.
Maar ik geef toe dat het denken van de poststructuralist M. Foucault mij nooit heeft aangesproken. En daarin volgde ik prof. R. Bakker in ‘Merleau-Ponty. Filosoof van het niet-wetend weten’ (Baarn, 1975) en andere publicaties van zijn hand.