Dit verhaal is reeds eerder verschenen op Techvisor.nl: https://www.techvisor.nl/Artikelen/4918/kijk-naar-de-egyptische-piramides-om-legacy-infrastructuur-te-begrijpen#ancRating
Te vaak gooien technische teams mainframes en legacy infrastructuur zomaar weg, om vervolgens iets nieuws en glimmends te bouwen
Als je naar de Saqqara Necropolis kijkt, de oudste piramide van Egypte, zet je deze dan meteen weg als een onbelangrijk monument? Waarschijnlijk niet. Je bewondert het vanwege de architectonische vaardigheid die nodig is geweest om de constructie neer te zetten én het verhaal achter zijn eeuwige schoonheid.
Wat als we legacy infrastructuur door dezelfde bril zouden bekijken? Te vaak gooien technische teams mainframes en legacy infrastructuur zomaar weg, om vervolgens iets nieuws en glimmends te bouwen. Echter, net zoals de Saqqara revolutionair was en fungeerde als het beginpunt van de 96 andere piramides van Egypte, waren mainframes die we nu classificeren als ‘legacy’ het toppunt van innovatie toen ze voor het eerst werden gebouwd. Net als de duizenden blokken die gebruikt zijn voor de piramides in Saqqara, hebben mainframe toepassingen duizenden en soms zelfs miljoenen regels code. Elke lijn code dient een specifiek doel dat waarschijnlijk nog steeds relevant is. Het is daarom belangrijk dat de code wordt geanalyseerd en begrepen, voordat bedrijven succesvol hun apps kunnen moderniseren.
Leer het denkproces van de farao
Organisaties hebben afgelopen decennium hun IT-infrastructuur versneld gemoderniseerd. De race om digitaal te transformeren is daarboven nog sterker toegenomen sinds het begin van de pandemie. Voorzichtigheid is hierbij geboden gezien haastige beslissingen de vooruitgang van de aankomende decennia kunnen belemmeren.
Wat als we afstappen van termen als ‘app modernisatie’ en ‘digitale transformatie’? In plaats van applicaties ‘transformeren’ en ‘reviseren’, kan het nuttig zijn om je alleen te concentreren op het uitbreiden van software om waardevolle bedrijfsresultaten te genereren. Breng de doelen van een technisch project in kaart en werk vervolgens achteruit om te begrijpen wat er nodig is om de doelstellingen te behalen. Stel je eens voor hoe jouw meest bedrijfskritische applicaties er over tien jaar uit zouden zien. Zouden ze eenvoudig gestructureerd zijn, gemakkelijk te begrijpen, zeer functioneel en weinig moeite kosten om te evolueren? Oftewel, app-modernisering mag niet worden benaderd als ‘tool-first’, ‘technology-first’ of ‘pattern-first’. Begin niet met het mengen van tools en technologieën zonder eerst duidelijk te begrijpen wat je probeert te bouwen en waarom je het bouwt. Een event-driven of microservice architectuur is bijvoorbeeld niet logisch voor alle projecten. Het is essentieel om eerst een stap terug te doen om de bedrijfsdoelen te begrijpen. Vervolgens kan er een goede fictieve architectuur worden bedacht en pas daarna de juiste tools en frameworks worden geselecteerd.
De meeste modernisering projecten zijn gericht op het oplossen van een bepaald probleem dat IT-teams hebben vastgesteld door een niet noodzakelijk gerelateerde technologie toe te passen. In werkelijkheid gaat modernisering voor onze klanten over het mogelijk maken van nieuwe dingen, het besparen van kosten, het opschalen van capaciteit, het verhogen van stabiliteit en veiligheid, met een hogere snelheid. Het geeft hen digitaal een concurrentievoordeel en stimuleert de groei van het bedrijf. De sleutel tot succes ligt in het begrijpen van de werkelijke gewenste resultaten van de werkzaamheden en hier prioriteit aan geven. Het definiëren van vroege kwalitatieve doelstellingen en meetbare resultaten is de beste start bij transformatietraject. Zonder een kompas is het gemakkelijk om de weg volledig kwijt te raken. Deze mentaliteit stelt bedrijven in staat om met succes brownfield transformaties of greenfield Cloud benaderingen aan te pakken. Hoewel de hoofdoorzaken van de belangrijkste zorgen vaak voor de hand liggen, is dat bij de juiste oplossingen niet het geval. Monolithische problemen kunnen niet worden opgelost met hetzelfde denken dat was gebruikt om ze te creëren.
Zorg voor een tijdloze benadering van app-modernisering
Er zijn vier elementen die belangrijk zijn voor een succesvol traject bij de modernisering van applicaties. Ten eerste is het verstandig om te beginnen met het doel in gedachten te houden en alle stakeholders af te stemmen op doelen en niet-doelen, zogenaamde goals en anti-goals. Begin vervolgens klein, zelfs als jouw portfolio duizenden apps bevat. Begin met een enkele business unit en een handvol applicaties die ertoe doen en waarmee een enorme impact kan worden gemaakt. Test driven development (TDD) en Continuous Integration (CI) kunnen vervolgens worden gebruikt om lead times te verkorten en het determinisme door automatisering te vergroten. Het is ook belangrijk om net genoeg te plannen zodat je kunt starten. Leer daarnaast on the job en bouw nieuwe vaardigheden op door middel van hands-on werk, snelle feedback en het meten van resultaten. Tot slot is het belangrijk om complexe systemen op te delen in kleine stukjes. Op deze manier kunnen technische teams zich snel concentreren op de juiste dingen en impactvolle resultaten behalen.
Onlangs werkte VMware Tanzu samen met een grote Europese klant uit de publieke sector om hen te ondersteunen bij de modernisering van een mainframe-applicatie die meer dan 30 jaar oud was en meerdere miljoenen euro’s per jaar vergde aan onderhouds- en bedrijfskosten. Het project omvatte het herwerken van software en processen, die positieve gevolgen hadden voor miljoenen burgers en tienduizenden ambtenaren. De uitdaging was om een manier te vinden om de monolithische applicatie te herschrijven naar een cloud native architectuur, met een moderne programmeertaal. Door de hierboven geschetste aanpak te gebruiken, was de klant in slechts enkele weken in staat om de eerste componenten van het mainframe in Java te herschrijven en in productie te nemen. De lead time van code commit door de developer, tot deployment in productie, was hierdoor teruggebracht van vier weken naar amper 30 minuten. Verschillende ontwikkelaars hadden bovendien de bevoegdheid gekregen om de applicatie verder te moderniseren en wekelijks waarde te leveren in kortere ontwikkelingscycli – zonder downtime of zogenaamde deployment windows.
Oké, terug naar Egypte
In de jaren na de Saqqara baseerden veel farao’s hun monumenten op hetzelfde concept, zowel in uiterlijk als aanpak. In de loop van de tijd werden andere innovaties opgenomen waaronder het etsen van hiërogliefen op de stenen en werden de plannen aangepast.
Net zoals historici en archeologen de Egyptische piramides benaderen, zijn empathie en context cruciale instrumenten voor applicatie modernisering. Uiteindelijk is het doel van archeologen niet om mooie relikwieën in musea te plaatsen, maar om het verhaal, de cultuur en de motivaties van de mensen die ze hebben gebouwd echt te begrijpen. CIO’s zullen daarom eerst de gedachtegang van ontwikkelaars moeten begrijpen ten tijde van de oorspronkelijke applicatie. Alleen op deze manier zijn ze écht in staat om een frisse mentaliteit voor applicatie modernisering te realiseren.