Van monoliet naar cloud native
Veel bedrijven beschikken nog over een monolithische webapplicatie. Deze webapplicatie is als één geheel opgebouwd, waarbij alle componenten met elkaar zijn verweven. Dit brengt complexiteit met zich mee. Een monolithische webapplicatie staat haaks op een cloud native webapplicatie, die in veel gevallen is opgedeeld in meerdere services. Bij de transitie van een monolithische naar een cloud native webapplicatie doorloop je verschillende stappen:
Stap 1: Kennis opdoen
Een transitie naar een cloud native webapplicatie vraagt om de nodige voorbereiding. Zo breng je in kaart hoe je van A naar B komt en de overstap succesvol kunt maken. Een veelvoorkomende valkuil hierbij is het opnieuw willen uitvinden van het wiel. Zo wil je in veel gevallen iets unieks realiseren voor jouw organisatie. Het lijkt dan wellicht alsof je niet uit de voeten kunt met bestaande markt-oplossingen. In de eerste stap van de transitie doe je echter de kennis op die je nodig hebt voor de overstap naar cloud native. Je gaat hierbij een uitdaging aan die anderen al hebben overwonnen; zij hebben hun cloud native webapplicatie al in productie draaien. Profiteer hiervan en bouw voort op de kennis die andere partijen hebben opgedaan.
True helpt je hierbij verder. Als partner vormen we een verlengstuk van jouw organisatie. We analyseren je bestaande webapplicatie. In veel gevallen blijkt dat er flink wat aanpassingen nodig zijn om tot een cloud native webapplicatie te komen. Het echter ook zijn dat je tijdens dit proces concludeert dat cloud native weliswaar voor jou de juiste keuze is, maar de transitie te vroeg komt. Wij maken dit voor jou inzichtelijk. Zo helpen we je stap voor stap verder.
Een ander belangrijk vraagstuk dat tijdens de eerste stap aan bod komt, is kennis en vaardigheden. Beschikken jouw developers over de juiste competenties? Wat ontbreekt er nog? Als partner helpen we jouw developers bij het opdoen van eventuele ontbrekende kennis.
Stap 2: Cloud native denken in je organisatie
Cloud native technologie vraagt om een andere manier van denken. Het oude denken is gerelateerd aan virtuele machines (VM’s), waarbij je uiteraard resources als memory en CPU kan toevoegen. Ook kun je zaken redundant uitvoeren en een load balancer voor een VM plaatsen zodat je platform kan schalen. Je hebt echter te maken met een hypervisor-laag en moet downtime plannen voor het toevoegen van nieuwe features.
Cloud native is een hele nieuwe manier van denken. We denken bijvoorbeeld in containers, die we beheren met behulp van een orkestratieplatform. Ook denken we in services, waar je dingen vandaan kunt halen en juist kunt ‘parkeren’. Deze services draaien onafhankelijk van elkaar. Met Kubernetes-technologie zorgen we ook voor automatische op- en afschaling. De onderliggende infrastructuur past zich hierdoor op piek- of dalmomenten volledig automatisch aan. Overdimensionering behoort daarmee tot het verleden.
Werken functies onverwachts niet meer? Kubernetes lost dit in veel gevallen automatisch op door het herstarten van services. Dit minimaliseert de downtime die gebruikers ervaren. Een correct ingericht Kubernetes-platform biedt dan ook veel voordelen ten opzichte van de oude manier van werken, waarbij we vooral dachten in termen van VM’s.
We gaan ook om de tafel met je ontwikkelteam. Samen brengen we het huidige ontwikkelproces in kaart en identificeren aanpassingen die nodig zijn. Hoe push je code voor je cloud native webapplicatie bijvoorbeeld op een gestructureerde manier? Hiervoor nemen we uiteraard de huidige strategie in je pipeline door en kijken hoe deze in de toekomst anders moet worden ingericht. In al deze facetten nemen we je mee, waarbij we alle benodigde stappen op papier zetten om tot het gewenste eindresultaat te komen.
Stap 3: Een gefaseerde aanpak naar een cloud native webapplicatie
Bij een gefaseerde aanpak naar een cloud native webapplicatie start je met een solutions- en cloud-assessment. Hierbij kijk je in detail naar de bestaande webapplicatie. Hoe ziet deze er nu uit? Je maakt in feite een plattegrond van de webapplicatie en brengt alle huidige processen in kaart. Het kan zijn dat je al over een dergelijke plattegrond beschikt.
Vervolgens creëer je een cloud-design. Waar moet de webapplicatie naartoe en hoe ziet de ideale wereld eruit? Ook dit zet je op papier in de vorm van een plattegrond. Het verschil tussen de twee plattegronden vormt in feite de route die je samen met jouw partner moet bewandelen om tot een cloud native webapplicatie te komen.
Het opstellen van deze route is niet eenvoudig. Belangrijk is daarom dat je kiest voor een partner die vaker dergelijke trajecten uitvoert. Een partner neemt je idealiter aan de hand en leidt je stap-voor-stap door het proces.
De transitie in de praktijk
Benieuwd hoe een dergelijke reis in de praktijk in zijn werk uitziet? Onze klant Fabrique doorliep de transitie naar cloud native eerder. Het digital agency voert digitale projecten uit voor uiteenlopende klanten. Het ondersteunt klanten hierbij met cloud native setups. Fabrique deelt zijn ervaringen en beschrijft zijn reis van monolithische naar cloud native webapplicaties voor klanten. Lees hier meer over de wijze waarop Fabrique samen met True de transitie naar cloud native maakte.