Naar kennisoverzicht

Waarom Microsoft Azure verkiezen boven Amazon AWS of Google Cloud?

Sta jij op het punt om naar de cloud te gaan? En ben je op zoek naar een cloudprovider, maar zie je door de bomen het bos niet meer? Ik vertel je meer over wat ‘werken in de cloud’ inhoudt en ik vertel je meer over de top 3 cloudproviders Microsoft Azure, Amazon AWS en Google Cloud. Ze bieden nagenoeg dezelfde services, dezelfde SLA’s en ook op financieel gebied ontlopen ze elkaar niet enorm. Maar welke cloudprovider kies je dan?

Werken in de cloud via een hostingpartij

Iets dat ik, bij verschillende klanten, vaak te horen krijg is dat ze al cloud hosting hebben bij hun lokale hostingpartij. Deze klanten namen enkele servers af bij de betreffende hostingpartij en dit is ‘gemigreerd’ naar een zogenaamde cloud omgeving. Wanneer ik doorvraag, komt het erop neer dat ze verschillende virtuele machines afnemen. Soms is een deel van het beheer van die virtuele machines wel uitbesteedt en hoeft de klant alleen documenten, scripts en de uiteindelijke applicatie(s) aan te leveren om software te laten installeren of bijwerken. Dit bijwerken duurt wel vaak enkele uren, dagen en soms zelfs weken.
Ook het opschalen of uitschalen van servers moet vaak via een change-request of document worden aangevraagd en in het slechtste geval moet na goedkeuring de server(s) nog worden besteld, waardoor een aanvraag al snel enkele weken kan duren. Dit is in mijn optiek absoluut NIET wat het werken in de cloud inhoudt, maar gewoon traditionele hosting met een hippere naam.
Hoewel de servers dan niet op locatie van de klant staan, werk je op deze manier nog steeds ‘on-premises’.
Bij echte cloud hosting, volgens mijn definitie, is de klant te alle tijde in staat om nieuwe software uit te rollen, nieuwe services te gebruiken en dit allemaal binnen luttele minuten.

Waarom naar de cloud met Microsoft Azure?

Laten we voorop stellen dat Microsoft Azure niet de enige hostingpartij is. Twee andere bekende cloud oplossingen zijn Amazon AWS en Google Cloud. Al deze partijen hebben nagenoeg hetzelfde aanbod van services en ook de prijzen ontlopen elkaar niet enorm. Wat mij betreft zijn ze allemaal een valide keuze wanneer je naar de cloud wilt migreren. Maar ik, als Azure architect, heb natuurlijk wel een sterke voorkeur voor Microsoft Azure.

Waarom gaat mijn voorkeur uit naar Microsoft Azure?

Mijn voorkeur gaat uit naar Microsoft Azure, omdat Azure een hele nauwe integratie heeft met bijvoorbeeld Visual Studio. Hierdoor wordt het een stuk eenvoudiger om alle services in jouw favoriete ontwikkelomgeving te raadplegen en beheren. Uiteraard hebben ook Amazon AWS & Google Cloud prima tooling om services te beheren vanuit Visual Studio, maar die krijg je niet out-of-the-box geïnstalleerd. Wat veel mensen zich niet beseffen is dat iedere ontwikkelaar met een MSDN licentie ook al ‘gratis’ credits heeft om te starten met Microsoft Azure. Deze credits kunnen wel oplopen tot zo’n 130 euro per maand. Zeker om spullen uit te proberen is dit een enorm budget, aangezien veel services heel weinig kosten. De meest reguliere scenario’s kunnen hier ook goed mee worden afgedekt. Denk hierbij aan het hosten van een website, opslag van bestanden, het hosten van een SQL Server database, het hosten van verschillende noSQL databases, queues, etc.

Uptime cloud provider?

De services van de 3 grote cloud providers hebben allemaal een enorm hoge uptime. Sommige services bieden zelfs een SLA aan met 5 negens (99,999%), wat zich vertaald in ongeveer 5 minuten downtijd per jaar! Veel traditionele hostingpartijen kunnen hier alleen maar van dromen. De reden dat zo’n hoge uptime geboden kan worden, is omdat deze partijen alles op een grote schaal uitrollen. Alle hardware is redundant en de onderliggende services worden over meerdere machines, regio’s en datacentra uitgerold. Een lokale hostingpartij heeft gewoonweg de middelen niet om op deze schaal hun infrastructuur uit te rusten.

Schalen cloud oplossing

Een goede reden om te kijken naar een cloud oplossing is de noodzaak om de oplossing beter te kunnen schalen. Dit betekent trouwens niet dat er wereldwijd geschaald hoeft te worden, maar ook het dynamisch kunnen uitschalen in een lokale regio kan veel voordeel bieden.

Opschalen en uitschalen

Zo hebben veel software oplossingen er baat bij dat ze overdag worden uitgeschaald naar meerdere instanties en kunnen de instanties ’s avonds worden teruggeschaald naar bijvoorbeeld 2 instanties, omdat het dan minder druk is. Bij een cloud provider, zoals Microsoft Azure, betaal je alleen voor de instanties die je daadwerkelijk in gebruik hebt. Bij webapplicaties kan ook gekozen worden om het onderliggende systeem krachtiger te maken door er meer CPU’s of geheugen in te plaatsen. Zeker voor intensieve taken welke op één systeem uitgevoerd moeten worden kan dit handig zijn.

Schalen performance van databases

Niet alleen webapplicaties kunnen op deze manier worden geschaald. De performance van databases kan ook worden aangepast. Dit kan handig zijn wanneer er piekmomenten zijn, of wanneer er bijvoorbeeld een zware query moet worden uitgevoerd. Door het dynamisch kunnen schalen van de services zal ook de uiteindelijke rekening dynamisch zijn. Wanneer de rekening een bepaalde maand hoger uitvalt dan verwacht, is dat hoogstwaarschijnlijk te relateren aan een hogere omzet of meer adoptie van de software-oplossing binnen een bedrijf. Er zou gesteld kunnen worden dat een hogere Azure rekening, in veel gevallen, beter is voor je bedrijf of project.

Veiligheid publieke cloud

Net als bij een on-premises oplossing hangt de veiligheid van de oplossing af van verschillende factoren. Het Azure platform is op zichzelf sowieso opgebouwd met de gedachte om alles zo veilig mogelijk neer te zetten. Microsoft Azure voldoet aan meer dan 90 verschillende ‘compliance’ programma’s van verschillende organisaties dan wel regio’s en deze lijst wordt met enige regelmaat uitgebreid. Ook (lokale) overheden kunnen prima gebruikmaken van Microsoft Azure. Het platform beschikt over alle benodigde certificeringen voor het veilig opslaan & beveiligen van data. Vanuit de regelgeving is het soms ook noodzakelijk om data binnen het ‘eigen’ land op te slaan, dus de data mag niet de fysieke, landelijke, grens over. Voor ons Nederlanders is dit geen probleem, want het `West Europe` datacenter van Microsoft Azure is in Nederland gevestigd. Wanneer er voor dit type data wordt ingesteld dat deze in `West Europe` moet worden opgeslagen kan er met zekerheid worden gesteld dat deze niet de landsgrenzen over gaan. Ditzelfde geldt trouwens voor Amazon AWS en Google Cloud. Ook die twee providers hebben in Nederland grote datacentra staan. Het platform is dus uitermate geschikt en veilig om een software-oplossing op uit te rollen.

Veilig gebruikmaken van verschillende services in Azure

Dan blijft er nog over dat de software-oplossing ook geschikt moet worden gemaakt om veilig gebruik te maken van de verschillende services. Voor opslag is het nuttig dat er een vorm van encryptie wordt toegepast, er alleen maar beveiligd dataverkeer is tussen de services, de systemen altijd volledig zijn gepatched met de laatste beveiliging updates en er authenticatie is tussen de verschillende systemen. Dit alles is prima mogelijk om in te richten, maar er moet wel aan gedacht worden bij het inrichten van de software-oplossing. Gelukkig kan veel automatisch worden gecontroleerd door middel van Azure Active Directory Policies en Azure Security Center in combinatie met Azure Sentinel. Tevens is het een goed idee om echte geheimen & certificaten op te slaan in Azure Key Vault, wat een service is die speciaal is ingericht om belangrijke data veilig op te slaan en later weer te verkrijgen. Qua authenticatie wordt veelal geleund op Azure Active Directory identiteiten, vaak ook met Managed Identities. De meeste Azure services hebben hier out-of-the-box ondersteuning voor en voor eigen gemaakte services is het relatief eenvoudig om dit toe te voegen. Het kan nogal overweldigend zijn om een hele oplossing veilig op te zetten. Het is daarom verstandig om hier mensen (tijdelijk) voor in te huren die hier ervaring mee hebben en zo een kickstart kunnen geven aan de inrichting. Ze nemen ervaring en best-practices mee zodat je binnen no-time jouw software-oplossing in de cloud hebt staan.

Cloud provider vs hosting provider

In mijn optiek is het tegenwoordig een no-brainer om te kiezen voor een echte cloud provider ten opzichte van een traditionele hosting provider. De voordelen, van bijvoorbeeld Microsoft Azure, wegen in de meeste gevallen niet op tegen de nadelen. Er zijn natuurlijk uitzonderingen, maar zelfs in die gevallen is het de moeite waard om toch te kijken voor een hybride oplossing met bijvoorbeeld één van de Azure Stack oplossingen, een ExpressRoute of Site-to-Site VPN verbinding of Azure Arc. Waar het voor sommige services van een project misschien nuttig is om deze on-premises te blijven hosten, kunnen andere services prima in de cloud draaien. Zo kan er worden genoten van de voordelen van zowel on-premises als cloud hosting.

Kies jij voor Microsoft Azure of toch Google Cloud of Amazon AWS? Ik ben benieuwd. Ben je er nog niet uit? Stel je vragen en ik help je verder. Ik beloof je dat ik mijn ervaring en best-practices meeneem.

Ik wil contact

Of bel direct 088 – 241 44 00 of mail naar info@4dotnet.nl.