Het gebruik van cloudgebaseerde technologieën is tegenwoordig een belangrijke trend die vrijwel elk bedrijf beïnvloedt. Hoewel sommige organisaties nog steeds terughoudend zijn, hebben veel bedrijven hun applicaties al gedeeltelijk of volledig naar de cloud gemigreerd. Dit proces van het verplaatsen van een applicatieportfolio naar de cloud is complex en vereist zorgvuldige planning en tijd. Talloze bedrijven bevinden zich momenteel in dit traject en streven naar een volledige of gedeeltelijke overgang.
Voor een bedrijf met een complex applicatieportfolio dat mogelijk honderden systemen bevat, kan het een uitdaging zijn om te beslissen welke applicaties gemigreerd moeten worden en op welke manier. Er zijn veel opties mogelijk, variërend van het niet migreren van een applicatie of het beëindigen ervan, tot het vervangen ervan door een cloudgebaseerde oplossing of het verplaatsen naar de cloud met verschillende gradaties van aanpassing.
Verwijderen
Sommige applicaties kunnen worden verwijderd zonder dat het nodig is om ze naar de cloud te migreren. Verwijdering is een verstandige beslissing als de functies van de applicatie al worden gedekt door andere applicaties, en kunnen worden geïntegreerd in andere systemen of als de applicatie zelden of nooit wordt gebruikt. Bovendien, als het operationele model of de strategie van het bedrijf verandert en de applicatie niet langer nodig is, wordt verwijdering een logische oplossing.
Behouden
In enkele gevallen waarin een applicatie specifieke hardwarevereisten heeft die niet in de cloud kunnen worden vervuld, of waar strikte gegevensbescherming en wettelijke vereisten cloudmigratie juridisch uitdagend maken, kan het behouden van de applicatie op de lokale infrastructuur de beste keuze zijn. Deze aanpak is ook raadzaam wanneer de applicatie cruciaal is voor de bedrijfsvoering en elke verandering aanzienlijke risico’s met zich meebrengt, of wanneer complexe integraties met lokale of verbonden applicaties de migratie kostbaar maken. Behoud hoeft geen permanente beslissing te zijn; na bepaalde voorbereidingen kan het de moeite waard zijn om de migratievraag opnieuw te bekijken.
Herinvoeren (Overstappen naar Cloud Versie)
Veel applicaties die momenteel op lokale infrastructuur draaien, hebben cloudgebaseerde versies, wat het migratieproces vereenvoudigt. Voor grote en cruciale applicaties zoals klantenportalen en
bedrijfsbeheersystemen bieden leveranciers vaak cloudgebaseerde versies aan. In sommige gevallen is er mogelijk geen directe cloudversie van de applicatie beschikbaar, maar er kan een cloudgebaseerd alternatief zijn dat vergelijkbare of verbeterde functionaliteit biedt en mogelijk zelfs de migratie ondersteunt. Overstappen naar een cloudapplicatie met gelijkwaardige of betere functionaliteit is vaak een verstandige beslissing.
Wanneer Moeten Applicaties Worden Aangepast?
Naast de grote, cruciale applicaties waarvoor leveranciers doorgaans cloudoplossingen bieden, zijn er veel andere applicaties in het portfolio van een bedrijf die ook bedrijfsprocessen ondersteunen en vaak verbonden zijn met deze grotere applicaties. Deze applicaties zijn vaak op maat ontwikkeld, waardoor de beslissing over hoe ze naar de cloud moeten worden gemigreerd nog complexer wordt. De oplossingen variëren van eenvoudige cloudhosting, waarbij de applicatie in de cloud draait, tot het volledig omvormen van de applicatie tot een volwaardige cloudapplicatie door gebruik te maken van de voordelen van cloudplatforms. Naarmate bedrijven steeds meer cloudtechnologieën adopteren, zullen de tijds en kosteninvesteringen ook toenemen.
Herhuisvesting (In de Cloud Laten Draaien)
Er zijn situaties waarin bedrijven te maken hebben met tijdsdruk, beperkte middelen of een hoge risicomijding tijdens de cloudmigratie. In dergelijke gevallen kan herhuisvesting, het draaien van de applicatie in de cloud met minimale of geen aanpassingen, een optimale oplossing zijn. Bedrijven overwegen deze aanpak vaak wanneer ze alleen de hardware willen bijwerken zonder nieuwe hardware aan te schaffen of wanneer ze de applicatie voorbereiden op latere transformatie naar een cloud-native applicatie. Aan het begin van de cloudmigratie is dit type migratie vaak het meest geschikt. Vooral wanneer het ontwikkelteam nog leert over cloudtechnologie, aangezien herhuisvesting een snel te bereiken eerste stap biedt.
Taken:
Zelfs bij herhuisvesting moeten tal van taken worden uitgevoerd. Virtuele machines die de applicaties lokaal draaien, moeten naar de cloud worden gemigreerd, inclusief webservers, applicatieservers, databases en andere componenten. Noodzakelijke netwerkconfiguraties moeten worden uitgevoerd en applicatie instellingen moeten worden geconfigureerd om te voldoen aan de cloudomgeving. Daarnaast is het essentieel om ervoor te zorgen dat de implementatieprocessen van de applicatie in de cloud werken en om de applicatie te integreren met cloudgebaseerde logging, monitoring en back-upoplossingen. Indien nodig moet de applicatie ook worden overgeschakeld naar cloudgebaseerde authenticatie en toegangscontroleservices. Ten slotte kan het nodig zijn om bepaalde cloudapplicatiecomponenten (bijv. databases) of applicatieparameters af te stemmen om optimale prestaties te bereiken.
Voordelen en Nadelen:
Het voordeel van herhuisvesting is dat het snel, kosteneffectief en met relatief laag risico kan worden uitgevoerd, aangezien er geen codeaanpassingen nodig zijn. Het nadeel is echter dat deze oplossing niet volledig gebruikmaakt van cloudspecifieke voordelen zoals flexibiliteit, schaalbaarheid en kostenefficiëntie.
Replatforming (Cloudoptimalisatie)
Wanneer bedrijven beter willen profiteren van cloudspecifieke voordelen, wordt replatforming relevant. Deze aanpak maakt de hoge flexibiliteit en schaalbaarheid van de cloud mogelijk door kleine aanpassingen aan de applicatie. Dergelijke voordelen omvatten opslag en databaseoplossingen van cloudplatforms die kostenoptimalisatie mogelijk maken. Er kan ook vraag zijn naar het gebruik van cloudspecifieke services, zoals big data-analyse en kunstmatige intelligentie, die een hogere mate van integratie met cloudplatforms vereisen. Replatforming is een logische stap in geleidelijke migratie, waarbij een bedrijf de applicatie eerst in de cloud laat draaien, vervolgens optimaliseert en ten slotte transformeert tot een volledig cloud-native applicatie.
Taken:
Naast de taken die verband houden met herhuisvesting, zal eerst de code van de applicatie worden aangepast. De infrastructuur van de applicatie wordt getransformeerd, wat meestal containerisatie met tools zoals Docker inhoudt. Containerisatie vereenvoudigt de implementatie en schaalbaarheid in de cloud. Voor bepaalde functies is het de moeite waard om het gebruik van serverloze diensten, zoals AWS Lambda, te overwegen. Serverloze diensten elimineren de noodzaak om servers te beheren voor het uitvoeren van specifieke functies, wat aanzienlijke verbeteringen in schaalbaarheid en kostenefficiëntie biedt. De verschillende gegevens van de applicatie moeten worden opgeslagen op cloudgebaseerde object en of gestructureerde datastorages of databaseservices, en de gegevensopslagmechanismen van de applicatie moeten dienovereenkomstig worden aangepast. De integratie van de applicatie moet ook opnieuw worden ontworpen, gedeeltelijk of volledig overgaand op door de cloud aangeboden API Gateway en Message Queue-services.
Voordelen en Nadelen:
Het voordeel van replatforming is dat het betere prestaties en kostenefficiëntie biedt dan eenvoudige herhuisvesting, zonder dat er aanzienlijke veranderingen aan de applicatie nodig zijn. Het nadeel is echter dat het niet volledig gebruikmaakt van alle mogelijkheden die de cloud biedt.
Refactoring/Herarchitecturering (Transformeren naar een Cloudapplicatie)
Deze vorm van migratie omvat een significante transformatie en soms zelfs een volledige heropbouw van de bestaande applicatie. Bedrijven kiezen voor deze route wanneer een applicatie moet voldoen aan zeer hoge schaalbaarheidseisen die niet mogelijk zijn met de huidige architectuur, of als de applicatie prestatieproblemen of hoge onderhoudskosten heeft als gevolg van de huidige architectuur. Deze aanpak is ook gerechtvaardigd wanneer verouderde technologieën het gebruik van moderne ontwikkelings en operationele procedures verhinderen of wanneer de applicatie niet kan voldoen aan gegevensbeschermings en regelgevingsvereisten. Een ander sterk argument voor refactoring is wanneer de strategie van het bedrijf technologische integratie en responsiviteit op snelle bedrijfsveranderingen vereist die alleen met deze methode kunnen worden bereikt.
Taken:
Naast replatforming is een belangrijke taak het herontwerpen en herstructureren van de architectuur van de applicatie. Het doel is om een applicatie te hebben die kan draaien als meerdere onafhankelijke componenten, afgestemd op bedrijfsfuncties. Naast de traditionele “clean architecture” worden nieuwe architectonische principes geïntroduceerd, zoals microservices, micro frontends en de vertical slice aanpak om de organisatie van de applicatie rond bedrijfsfuncties te ondersteunen. Een grotere afhankelijkheid van serverloze diensten en cloudintegratiemogelijkheden, zoals API-gateways en message queues, is essentieel. Volledige automatisering van CI/CD processen is ook onmisbaar bij het transformeren van een applicatie tot een cloud-native applicatie.
Voordelen en Nadelen:
Het voordeel van het transformeren naar een cloudapplicatie is dat het volledig gebruikmaakt van de flexibiliteit en schaalbaarheid van de cloud. Het nadeel is echter dat het tijdrovend, kostbaar en risicovol is in de uitvoering.