Drift och förvaltning, nää, vi kör PaaS!

Du har säkert sett den här bilden tidigare:

Vid en första anblick så ser det ju ut som att plattformstjänster gör dig helt fri från ansvar för annat än din kod, men vad sällan diskuteras är ansvar och gråzoner mellan dessa tjänster. Varför är det viktigt att förstå ansvar och ansvarsfördelningen mellan olika tjänster i molnet? Låt oss reda ut begreppen samt ansvar och ekonomisk modell för dessa tjänstenivåer.

IaaS (Infrastructure as a Service):

IaaS står för Infrastructure as a Service och omfattar tjänster som påminner om traditionell IT-sourcing. Här ingår framförallt nätverkstjänster, virtuella maskiner och lagring. Du faktureras oftast inte för vad du använder utan för vad du reserverat att kunna använda. Till exempel, så betalar du per minut en virtuell maskin av en viss typ är igång, inte hur mycket processor eller minne du faktiskt använder eller vill kunna använda. För att hålla kostnaderna nere gäller det alltså att ha så minimala maskiner som möjligt och stänga av dem när de inte används. Du kan oftast reservera kapacitet över tid och få rabatter.

Vad som kan bli missvisande med bilden är att den bara gäller fysisk infrastruktur. Ta exempelvis kategorin nätverk, du behöver förstås inte hantera det fysiska nätverket, men alla IaaS tjänster är kopplade till ett eller flera virtuella nätverk där du har fullt ansvar för IP-adresshantering, routing, och portfiltrering. När det kommer till lagring slipper du förvisso köpa lagringslösningar och ersätta diskar, men du har virtuell lagring att ta hänsyn till. Räcker platsen på dina virtuella maskiner? Vilken tillgänglighetsnivå och prestanda ska din virtuella lagring ha? Du har också ansvaret för katastrofberedskap för din lagring, det vill säga hur återställer du ditt data om din molnleverantörs datacenter blir helt eller delvis otillgängligt.

PaaS (Platform as a Service):

PaaS, eller Platform as a Service, är en annan kategori tjänster där molnleverantören har använt sin kreativitet för att hjälpa dig som kund att snabbt komma igång med dina applikationer och kod. Prissättningen i PaaS är oftast kopplad till användning snarare än beställd prestanda. För att uppnå kostnadseffektivitet i PaaS-tjänster krävs ibland anpassningar i din applikation eller kod för att minimera resursanvändningen och därmed kostnaderna.

Komplexa PaaS-tjänster, som AKS (Azure Kubernetes Service) eller Databricks, bygger på virtuella maskiner. I dessa fall har du som kund fortfarande ansvaret som om det vore en IaaS-tjänst, undantaget operativsystemet. Det innebär att du ska göra lagringskonfiguration, nätverkskonfiguration, och IP-adresshantering. Du behöver också hantera kostnadsoptimering själv, eftersom du betalar för tjänsten i form av virtuella maskiner. Så, optimerar du kostnaden på samma sätt som IaaS genom att stänga av maskiner som inte används eller reservera kostnader över tid.

Gemensamt för alla PaaS-tjänster är att du behöver konfigurera dem, vilket är mer eller mindre komplext. PaaS-tjänster byggda på IaaS-grund kräver ofta ännu mer konfiguration och också att du regelbundet uppgraderar dem själv till senaste version.

Även med PaaS har du som kund ett stort ansvar för katastrofhantering. Du behöver designa din tjänst att tåla nertid i internetlinor, datacenter eller felkonfiguration, samt eventuella buggar som uppstår efter en uppgradering.

SaaS (Software as a Service):

När du väljer SaaS är det leverantören som hanterar allt från hårdvara till mjukvara och underhåll. Ditt huvudsakliga ansvar som användare är att använda och konfigurera mjukvaran enligt dina behov.

Det är viktigt att notera att komplexa SaaS-tjänster, som Microsoft 365 eller Salesforce, kan kräva betydande konfigurationsarbete. Att säkerställa korrekt data governance, användarbehörigheter och anpassning av dessa tjänster till ditt företags behov kan vara en omfattande uppgift. Att säkerställa att du utnyttjar dessa tjänster på rätt sätt och i takt med leverantörens ständiga ström av nya funktioner och uppdateringar kan vara ett omfattande jobb och i många fall kräva konsulttid.

Sammanfattning:

I den komplexa världen av molntjänster är det viktigt att förstå ansvaret och ansvarsfördelningen mellan olika tjänstkategorier men också de fina gråzonerna mellan dessa. Genom att känna till både skillnaderna mellan IaaS, PaaS och SaaS men också det specifika ansvaret för just tjänsten du vill använda, kan du komma fram till hur just din organisation bör se ut och hur mycket jobb det egentligen är. Väldigt få, om någon, tjänst innebär att du kan låta ditt utvecklingsteam bara ladda upp sin kod och sedan glatt fortsätta koda på nästa projekt. En It-organisation behöver underhålla, uppgradera och övervaka både sina IaaS, PaaS och SaaS tjänster, hur denna organisation ska se ut och vara bemannad avgörs av många faktorer, typen av tjänst är en av dem. Men ingen större organisation jag har sett har klarat sig utan ett eller flera team som kontinuerligt arbetar med dessa frågor. Vill du veta mer om hur du bygger din molnorganisation och hur du fördelar ansvaret mellan dina team kontakta mig!

I kommande artiklar tänkte jag fortsätta gräva i molnämnen som säkerhet och hur molnjättarna bygger sina tjänster.

Föregående
Föregående

Vi har inga servrar, vi kör Serverless

Nästa
Nästa

Är molnet bara någon annans datacenter?