Migreren naar Azure? Wat zijn de mogelijkheden?

Posted on Posted in BCONN Nieuws

Momenteel stappen veel bedrijven over naar public cloud. Een veel gekozen public cloud is Microsoft Azure. Hoe migreer je naar Azure? Er zijn verschillende wegen die naar Rome leiden natuurlijk, maar ik zal de drie meest populaire migratiemethoden beschrijven en de voor- en nadelen benoemen. Van relatief eenvoudig naar meer ingrijpend.

Rehosting
Rehosting is eigenlijk volgens het “lift and shift” principe het verhuizen van een server of applicatie naar Azure. Je pakt deze op en verplaatst deze naar de nieuwe locatie. De initiële investering is relatief laag. Je hoeft geen nieuwe hardware te kopen en te huisvesten. Migreren is snel en gemakkelijk: er gebeurt niets meer dan het verhuizen van de server naar een andere infrastructuur. Er wordt dus gesproken van een lage CAPEX. Let echter op dat de compute kosten van de server en/of applicatie wel hoger kunnen uitvallen dan verwacht, zoals storagekosten en een mogelijke uitbreiding van de server (OPEX). Belangrijk om te weten is dat je bij deze methode niet alle voordelen en mogelijkheden uit het werken in Azure benut. De architectuur van de applicaties is niet veranderd. Daarmee heb je dezelfde mogelijkheden die je al had, maar ook dezelfde beperkingen.

Samenvattend is Rehosting een goede manier om snel servers en applicaties te migreren naar Azure zonder al te veel voorbereiding en investering. Zoals de naam impliceert gaat het echt alleen om de infrastructurele kant van het verhuizen van de omgeving. Veel voordelen van het gebruik van Azure worden niet benut. Dat heeft ermee te maken dat voor een optimale werking in de cloud, applicaties een andere architectuur nodig hebben. Je moet dus om de voordelen te benutten dit zogenaamd gaan “rearchitecten”. Dit is een tijdrovend en daarmee kostbaar proces. Iets dat je niet zomaar even doet. Als tussenstap kun je ook gebruik maken van Refactoring.

Refactoring
Dit betekent dat gedeelten van een applicatie worden opgenomen in Azure. Hierdoor kun je, in tegenstelling tot Rehosting, wel gemakkelijk nieuwe functionaliteit toevoegen uit de cloud die voorheen niet mogelijk was. Je moet vooraf goed nadenken en evalueren welke elementen je wel en welke je niet in Azure gaat onderbrengen. Je hoeft echter dan niet alles opnieuw te gaan rearchitecten. Dat scheelt toch een boel inspanning. En je kan een stuk nieuwe functionaliteit toevoegen aan de applicatie. Het is een soort tussenvorm. De meest grondige aanpak met alle voordelen van de cloud is echter “rearchitecting”.

Rearchitecting
Om alle voordelen en mogelijkheden van Azure te kunnen benutten moet een applicatie “cloud-native” zijn. De architectuur van de oorspronkelijke applicatie gaat op de schop en moet compleet worden aangepast. Het is echter wel tijdrovend en kostbaar. Je moet als het ware terug naar de basis, spreekwoordelijk gezegd: alles uit elkaar halen en weer opnieuw opbouwen. Het opnieuw opbouwen van een applicatie kan echter erg arbeidsintensief zijn, vooral als het om een legacy applicatie gaat. Hierbij is de doorlooptijd dan ook vele malen hoger dan bijvoorbeeld bij rehosting.

Ter illustratie geef ik hierbij het voorbeeld van een webpagina waar informatie wordt opgehaald. Normaliter gebeurt dit op een Windows server met meerdere rollen zoals: SQL-database voor dataopslag, IIS-rol voor het hosten van de website enzovoort. Je gaat nu echter alle onderdelen apart afnemen binnen Azure. Dit zorgt ervoor dat het makkelijker schaalbaar is en ook gemakkelijk te verplaatsen is naar andere regio`s of providers. Je kunt op die manier changes, klein en groot, supersnel doorvoeren. Dus er is geen change cycle meer van meerdere weken. Ook schaalbaarheid is geen probleem meer. Neem als voorbeeld een SQL-instantie voor het bewaren van data die gebruikt wordt door een applicatie. Deze applicatie stijgt in het weekend van populariteit van 10 gebruikers naar 500 gebruikers. Vanwege de schaalbaarheid is het nu makkelijk om deze instantie op te schalen naar bijvoorbeeld 5 instanties. Dit is dan ook mogelijk zonder downtime.

Kortom je krijgt het volle voordeel van een cloud-native applicatie, snelle deployment, moderne infrastructuur en geen monolithische applicaties meer.

Conclusie
De belangrijkste conclusie naar mijn idee is dat je goed voorbereid moet zijn voor een overstap naar Azure. Wat wil je ermee bereiken? Hoe ziet mijn omgeving er nu uit? Op die manier kun je de methode kiezen die het beste op jou van toepassing is. Bij een snelle overstap naar Azure is rehosting een logische keuze, maar wil je echt meer gebruik maken van de voordelen van Azure is het verstandig om toch meer te kijken naar Refactoring of Rearchitecting. Wees je ervan bewust dat dit wel tijdrovende trajecten zijn met daarbij hogere aanloopkosten.
Als laatste wil ik meegeven dat je er niet alleen voor hoeft te staan. BCONN ICT heeft ervaring met verschillende cloud-migraties, waaronder naar Azure. Als je hierover meer wilt weten, stuur mij dan gerust een berichtje. Ik help je er graag bij.

Freek Brouwer
Technisch Consultant Modern Datacenter & Cloud
freek.brouwer@bconn.nl