Het ‘legacy-probleem’ speelt bij alle bedrijven en moet zeker niet kleiner worden gemaakt. We zijn nu eenmaal afhankelijk van bepaalde systemen die niet gemakkelijk zijn te vervangen. Dat zorgt voor een remming op innovatie en ontwikkeling. Het wil echter niet zeggen dat we er maar mee om moeten leren gaan, want er zijn wel degelijk mogelijkheden om de impact van legacy te minimaliseren.
Eerst een misverstand uit de wereld helpen: legacy gaat niet noodzakelijk over oude software en systemen. We praten vaak over excessen, maar ook relatief nieuwe oplossingen kunnen een achilleshiel vormen voor innovatie binnen een infrastructuur. Het probleem wordt vaak veroorzaakt door de grootte en complexiteit van de legacy-applicaties. Een eenvoudige app is nog wel om te zetten, maar hele applicatiestraten met onderlinge afhankelijkheden die soms ook buiten de eigen beheermogelijkheden vallen, zijn een stuk lastiger aan te pakken.
In de regel worden er muurtjes om de legacy-systemen gebouwd om ze te beschermen tegen hedendaagse bedreigingen. Daarmee elimineer je echter ook de mogelijkheden die ze wel degelijk kunnen bieden. Je haalt de innovatie uit de legacy, terwijl er best nog innovatieve oplossingen met een legacy-applicatie mogelijk zijn. Bedrijven willen agile en flexibel zijn, maar dan moet je zorgen dat alles wat je in huis hebt daarin mee kan gaan. Dat betekent dat je soms applicaties moet vervangen of aanpassen. Een alternatief is om de infrastructuur waarmee applicaties ontsloten worden zo in te richten dat deze apps kunnen meeliften op de facilitators voor innovatie.
Content versus systeem
Een veelgemaakte fout is dat men naar het systeem kijkt, in plaats van naar de content die het systeem levert. In de zorg worden cat-scans vaak op verouderde systemen gemaakt, maar gaat het om de systemen of om de scans? Als je de content op een bruikbare, veilige manier kan ontsluiten, en daarmee innovatie kan ondersteunen, maakt het niet heel veel uit welk systeem er achter hangt. We moeten geen muren metselen om legacy-systemen, we moeten er een poortwachter voor zetten die de output van zo’n systeem geschikt maakt voor een innovatieve infrastructuur.
Wanneer applicaties, ongeacht de onderliggende systemen, op een innovatieve, veilige manier worden ontsloten, krijg je veel meer flexibiliteit en controle over hoe apps functioneren binnen het geheel. Je wilt een tourniquet beheren, niet het slot of alles erachter. Als we op die plek kunnen bepalen hoe apps beveiligd worden tegen hedendaagse bedreigingen zoals DDoS-aanvallen en risico’s die zijn vastgelegd in de Owasp top 10, dan bepaalt dat de innovatiekracht, niet de legacy-systemen aan de achterkant. Het tourniquet is de traditionele plaats voor een application delivery controller (adc). Een moderne, innovatieve adc maakt het dus mogelijk om legacy-applicaties langer te kunnen blijven gebruiken.
Cloud-technologie en virtualisatie spelen een cruciale rol om bestaande systemen innovatiever te maken. Het is dan bijvoorbeeld veel makkelijker om resources op te schalen of juist naar beneden bij te stellen, afhankelijk van de vraag. Hiermee worden enorme besparingen gerealiseerd, doordat energie, manuren en rackspace veel efficiënter worden ingezet. Bovendien kun je de vrijgekomen resources dan inzetten op andere plekken, zoals nieuwe innovatieve services. Ook bij een verhuizing van een toepassing naar de cloud kan een moderne adc de facilitator zijn om een legacy-applicatie toch vanuit een cloud-omgeving te faciliteren.
Dit artikel is geschreven in samenwerking met Computable-expert en F5-collega Jack Niesen