Platform as a service
De naam beschrijft het al; je krijgt een platform. Wat er gebeurt wanneer je naar een PaaS omgeving migreert is dat je veel van management (inclusief het operating system) uit handen geeft. Met PaaS op Azure wordt er veel voor je beheerd, zoals:
- Besturingssysteem updates;
- In de meeste gevallen krijg je een hogere beschikbaarheid (SLA);
- Beveiliging (let op: dit is een gedeelde verantwoordelijkheid);
- Netwerken;
- Loggen;
De meest voorkomende PaaS oplossingen op Azure zijn; App Services (Web Apps), Azure SQL, Storage en Azure Kubernetes Services (AKS).
Met Paas richt je je op de implementatie en configuratie van je oplossing, maar heb je geen omkijken meer naar de traditionele IT activiteiten. In het algemeen hoeft het niet te betekenen dat je applicatie over de kop moet gooien, maar het vereist wel dat je de applicatie ontwikkelt en implementeert volgens bepaalde standaarden. Bijvoorbeeld; als je op dit moment een IIS website hebt en je documenten opslaat op een lokale disk zou je kunnen overwegen om gegevens op te slaan op caching oplossingen zoals Azure Redis Cache, of je loopt het risico dat je inlevert op flexibiliteit (kijk naar het concept van stateless).
Net als bij Microsoft Compute betaal je met Paas nog steeds naar wat je uitrolt. Als je een App Service plan uitrolt, betaal je per uur. Maar het on and off scenario gaat hier niet op. Je kan Paas diensten niet uitzetten, maar wel verwijderen als je ze niet meer nodig hebt. In tegenstelling tot Iaas, waar je wel gebruik kunt maken van het on and off scenario. Paas-oplossingen kosten over het algemeen wel minder in vergelijking met Iaas- oplossingen, dus het aan en uit scenario is dan ook minder interessant.
Serverless
Naast IaaS en PaaS hebben we ook serverless. Serverless geeft je het meeste waar voor je geld. Het concept achter serverless is dat deze functionaliteiten volkomen development gedreven zijn. Serverless computing is de abstractie van servers, infrastructuur en besturingssystemen. Je richt je op development, niet meer op beheer of platform management. Er zijn veel oplossingen beschikbaar binnen het serverless portfolio, de meest bekende zijn: Azure Functions, CosmosDB en EventGrid.
Serverless is anders qua kosten in vergelijking met IaaS en Paas. Bij IaaS en PaaS betaal je per uur en met serverless betaal je voor wat je daadwerkelijk gebruikt. Neem bijvoorbeeld Azure Functions. Je betaalt €0,169 per miljoen executions, waarbij het eerste miljoen excecutions kosteloos is.
Daarnaast is schaalbaarheid vrijwel onbeperkt en geautomatiseerd. Als je een functie een of honderden keren tegelijkertijd uitvoert zullen de prestaties hetzelfde zijn en Microsoft regelt en beheert het op en afschalen voor jou.
Een ander groot voordeel van serverless is dat je de oplossing wereldwijd kan schalen zonder veel moeite. Dit komt omdat je je kan focussen op development en de infrastructuur is beschikbaar op iedere locatie waar jij je code wilt deployen.
Daarnaast als je kijkt naar de data, wil je misschien kijken naar Azure CosmosDB, hét voorbeeld als je het hebt over data opslag in de cloud . Met CosmosDB krijg je kant-en-klare wereldwijde distributie, ongekende beschikbaarheid en je hoeft geen platform te managen, het enige waar je je zorgen over moet maken is waar je de gegevens opslaat en naartoe repliceert
Om eerlijk te zijn is serverless niet het eerste waar je aan denkt als je start met het rehosten van je applicatie maar vanuit een kosten- en functionaliteitenperspectief is dit wel waar je naartoe wil. Serverless past het beste bij event-driven architectuur, micro-services architectuur en helpt je met het ontkoppelen van je applicatie (kijk eens naar Azure Service Bus of Event Grid).
Samenvattend
Er zijn verschillende platformen waar je uit kan kiezen, maar wanneer kies je welke? Laten we de belangrijkste dingen even samenvatten. Ten eerste: elke architectuur heeft weer andere voordelen. En belangrijk is om de juiste architectuur te vinden die het beste bij jouw wensen en behoeftes past.
Hieronder zijn de belangrijkste voordelen samengevat:
(Let op: deze lijst kan je helpen om voor jou de juiste architectuur te vinden. Echter hoe meer informatie je hebt over je huidige situatie hoe specifieker er kan worden ingezoomd op de mogelijkheden van Azure. Onderstaande lijst is bedoeld om je een duw in de juiste richting te geven).