Kan DevOps relatief makkelijk zijn als het gaat om cloudgebaseerde apps, voor legacy-applicaties is het een ander verhaal. De uitdaging om te werken met DevOps-centrische operationele modellen is dat ze vaak bedoeld zijn voor toepassingen en diensten die zijn gebouwd voor cloud-native omgevingen. Hoewel deze verandering is te prijzen, bevindt zich nog steeds een olifant in de kamer: traditionele bedrijfstoepassingen.
Gebaseerd op de populaire 80/20-regel, belemmeren de meeste datacentertoepassingen het operations-team met onderhoudsvereisten. Bovendien kan de historisch moeilijke relatie tussen softwareontwikkelaars en applicatie-eigenaren wrijving veroorzaken en efficiënte dienstverlening in de weg staan. Dus om oudere applicaties te moderniseren, is het slim manieren te vinden om DevOps – mensen, processen en tools – te introduceren op een manier waarop gegevens zowel beschermd als herstelbaar zijn voor het hele bedrijf en in de cloud, op een positieve en betekenisvolle manier.
Geen wonder
Gegevensbeheer is altijd een ondankbare taak geweest, en vaak verstoken van financiële investeringen of operationele focus. Het is dan ook geen wonder dat bij het nastreven van de zen van DevOps, ingenieurs in ontwikkelings- en operationele teams gefrustreerd raken en barrières tegenkomen in de vorm van declaratieve, beleidsgerichte benaderingen voor back-up, herstel en behoud van hun gegevens. Voor wie hier nooit mee te maken heeft gehad, is het in twee woorden samen te vatten: niet leuk.
Om oudere applicaties te moderniseren met een DevOps-insteek is actie vereist.
- Begin eenvoudig
Kies een klein aantal eenvoudige toepassingen dat je als operationeel laaghangend fruit beschouwt. Om de een of andere reden wil iedereen altijd beginnen met de moeilijkste applicaties die de meeste moeite kosten.
- Word sociaal
Houd een klein, informeel evenement waarbij er een duidelijke agenda is de huidige status en gewenste status van de applicatie met stakeholders te bespreken. Ik doe dit meestal met pizza, omdat het gemakkelijk is om zowel carnivoren als vegetariërs tevreden te stellen.
- Gedeelde visie
Terwijl je de pijnpunten en gewenste visie voor de toepassing schetst, zal de creativiteit gaan stromen. In veel gevallen heeft niemand van de aanwezigen het huidige systeem ontworpen of geconfigureerd en iedereen heeft frustraties over de huidige status. Een gedeelde visie om bestaande applicaties te moderniseren, laat je de architectuur met frisse ogen en een nieuwe focus benaderen.
- Versterk de buzz
Ik begon met ‘pizza Fridays’, waarvoor ik drie ops-engineers en vijf ontwikkelaars uitnodigde. Aanvankelijk was het ongemakkelijk, maar toen iedereen genoot van het eten en de gesprekken, raakten anderen geïnteresseerd in de positieve vibes en inclusieve cultuur. We nodigden geen managers uit en hielden zo de politiek buiten de kamer. Al snel werd het een soort eer om voor de vrijdagpizza te worden uitgenodigd. Pull-modellen werken echt.
- Opties voor gegevensbeheer
Gegevensbeheer zonder financiële investering of operationele focus is altijd een ondankbare taak. Zodra teamleden beginnen te discussiëren over het moderniseren van legacy-applicaties en hun visie voor de toekomst, is de volgende stap om slimme, vooruitstrevende technologische opties te introduceren. Helaas is het ecosysteem voor gegevensbeheer vol met diensten die haaks staan op het holistische doel van DevOps om continue diensten te leveren.
Legacy-organisaties bouwen meestal diensten voor hoogopgeleide, zwaar technische operators met weinig tot geen documentatie, open restful api’s of andere items die nodig zijn voor sterk geautomatiseerde en selfservice-oplossingen.
- Geef je api’s een pauze
Zoek leveranciers gericht op gegevensbescherming. Ze moeten traditionele applicaties benaderen als eenvoudige objecten die een intelligent beleid kunnen hebben dat is opgebouwd uit zakelijke service level agreements (sla’s). Om legacy-applicaties te moderniseren, zou de volledige dienst op een volledig ontwikkelde en volledig open reeks restful api’s gebaseerd moeten zijn, zodat het eenvoudig en elegant te integreren is in elke toolset en framework, taal of managementplatform dat je nodig hebt. Doe je het anders, dan sta je je DevOps-initiatief in de weg en blokkeer je het voorwaartse momentum.
Nog meer datapunten
En hier nog enkele datapunten om te beoordelen en aan te pakken.
- Doorbreek de zakelijke silo’s
Operationele teams hebben vaak moeite hun volledige technische expertisedomein te benutten. Een deel van de oorzaak is dat teams veel werk hebben en er weinig transparantie tussen hen bestaat.
- Transparantie, transparantie, transparantie
Je ops-personeel in het duister houden is de volgende fout. Vertrouwen wordt verdiend door te delen.
- Geen einddatum
Het werken aan je DevOps-model, vooral als het gaat om lopende operaties en moeilijke cultuurkwesties, is een project dat letterlijk nooit is voltooid.
- Elimineer de frictie
Ontwikkelaars vinden infrastructuur een punt van frictie en willen simpelweg testen, herhalen en implementeren tegen de achtergrond van een dreigende backlog voor hun sprint. Probeer hen een zelfbedieningscatalogus van eenvoudige sla’s aan te bieden die programmatisch zijn toe te passen op zowel traditionele toepassingen als cloud-native workloads.
- Nettoresultaat van de modernisering van verouderde applicaties
Het operations-team kan dan het overgrote deel van de workload oplossen. Ops kunnen dit werk overdragen aan een systeem dat werkt met intelligent beleid voor meerdere workloads. Een moderne legacy-applicatie moet een cultuur bevorderen waarin zichtbaarheid van gegevensbeheer het nieuwe normaal is.
Bij elke onderneming waar ik heb gewerkt, was een voortdurende balanceer-act nodig om digitale transformatie te omarmen terwijl het licht aan blijft. En om oudere applicaties te moderniseren, moet je nú beginnen.
Misschien handig om eerst het begrip ‘Legacy’ te duiden want veelal wordt hiermee een systeem – niet per definitie oud – bedoeld waarvan de gebruikers geen afscheid willen nemen maar waar de ontwikkelaars geen interesse meer in hebben. Er worden nogal altijd meer transacties met Cobol gedaan dan met API’s.
Al die moderne applicaties die niet aan het recht op inzage, correctie en verwijdering kunnen voldoen zijn dus de legacy van een digitale transformatie zonder visie. De opties voor het gegevensbeheer worden niet door de ontwikkelaars bepaald maar de business, de juridische eigenaar van de data. En een back-up maken van gegevens die je niet mag bewaren is een risico als we overwegen dat de meeste datalekken voortkomen uit deze verweesde datasets.
Oja, de ontwikkelaars en beheerders zijn geen stakeholders in het gegevensbeheer maar uitvoerders die zich uiteindelijk aan overeenkomsten in de verwerking moeten houden. Vaak zijn systemen horizontale silo’s die moeten voorkomen dat gegevens uit proces A ongevraagd in proces B gebruikt worden wat tot kafkaëske toestanden leidt.