IaaS versus PaaS versus SaaS: wat wordt geleverd, wat je zelf beheert, flexibiliteit en beheerlast

IaaS, PaaS en SaaS delen clouddiensten in naar hoeveel de aanbieder levert. IaaS (infrastructure as a service) levert infrastructuur zoals virtuele machines, opslag en netwerken, en de gebruiker beheert alles vanaf het besturingssysteem. Bij PaaS (platform as a service) levert de aanbieder ook het besturingssysteem, de middleware en de runtimes van programmeertalen, en brengt de gebruiker zijn eigen applicaties en data mee. SaaS (software as a service) levert de applicatie zelf, die de gebruiker gewoon via een webbrowser of iets dergelijks gebruikt. Hoe meer je van IaaS naar SaaS gaat, hoe kleiner de beheerlast, maar ook hoe minder de gebruiker vrij kan kiezen.

KenmerkIaaSPaaSSaaS
Wat de aanbieder levertInfrastructuur zoals virtuele machines, opslag en netwerken (inclusief de gebouwen, fysieke apparatuur en virtualisatielaag eronder)Alles van IaaS plus het OS, de middleware en de runtimes van programmeertalenAlles, tot en met de applicatie
Wat de gebruiker beheertHet OS, de middleware, applicaties en data; OS-updates en beveiligingspatches zijn ook de taak van de gebruikerDe eigen applicaties en data, en hun instellingenData, gebruikersaccounts en rechten, en de instellingen van de applicatie
Flexibiliteit voor de gebruikerHoog: elk OS en alle software kunnen worden gekozen en geïnstalleerdGemiddeld: bouwen binnen de talen en runtimes die de aanbieder ondersteuntLaag: de aangeboden functies en instellingen gebruiken
BeheerlastGroot: de gebruiker ontwerpt en voert OS-updates, monitoring, back-ups, schaling enz. uitKlein: de aanbieder verzorgt vaak het onderhoud van de runtime en de schalingKleinst: de aanbieder verzorgt software-updates en de afhandeling van storingen
Typische gebruikersInfrastructuurengineers en organisaties die hun eigen servers naar de cloud verhuizenApplicatieontwikkelaarsMedewerkers in de bedrijfsvoering en gewone gebruikers van de applicatie
Voorbeeld van prijsmodelVaak betalen naar gebruik: naar aantal virtuele machines en draaiuren, opslagcapaciteit, dataoverdracht enz.Vaak afgerekend naar aantal uitvoeringen, looptijd of gebruikte resourcesVaak een maand- of jaarabonnement per gebruiker
Verdeling volgens het model van gedeelde verantwoordelijkheidAanbieder tot en met fysieke faciliteiten en virtualisatielaag; gebruiker vanaf het gast-OSAanbieder tot en met OS en runtime; gebruiker voor applicaties en dataAanbieder tot en met de applicatie; data, accounts en toegangsinstellingen blijven bij de gebruiker
Typische voorbeeldenDiensten die virtuele machines (virtuele servers) verhuren, blokopslag, virtuele netwerkenDiensten die een runtimeomgeving voor applicaties leveren, beheerde databasedienstenWebmail, online tekstverwerking en spreadsheets, groupware, klantrelatiebeheer (CRM)

De getalswaarden zijn typische ordegroottes en variëren per procesgeneratie en product.

Wanneer welke variant?

IaaS
Wanneer je het OS en de middleware zelf wilt kiezen, systemen die op eigen servers draaiden grotendeels ongewijzigd naar de cloud wilt verhuizen, of software met een ongebruikelijke configuratie wilt draaien. In ruil daarvoor verzorg je ook zelf de OS-updates en beveiligingsinstellingen.
PaaS
Wanneer je het beheer van de infrastructuur aan de aanbieder wilt overlaten en je wilt concentreren op het ontwikkelen van applicaties. Je moet bouwen binnen de talen en runtimes die de aanbieder ondersteunt.
SaaS
Wanneer je gangbare bedrijfsfuncties zoals e-mail, documenten bewerken of klantbeheer meteen wilt gebruiken, zonder software te bouwen. De functies zijn beperkt tot wat wordt aangeboden.

Veelgestelde vragen

Bij welke van IaaS, PaaS en SaaS hoort serverless (FaaS)?

Je levert alleen de code van de functie en laat de runtimeomgeving en de schaling aan de aanbieder over, dus het wordt doorgaans beschouwd als een vorm die dicht bij PaaS ligt. Diensten die een platform leveren om containers te draaien, worden soms CaaS (container as a service) genoemd en tussen IaaS en PaaS geplaatst. Zulke fijnere indelingen verschillen per aanbieder en per bron.

Is beveiliging bij SaaS volledig de verantwoordelijkheid van de aanbieder?

Nee. Volgens het model van gedeelde verantwoordelijkheid verzorgt de aanbieder bij SaaS alles tot en met de applicatie, maar de opgeslagen data, gebruikersaccounts en wachtwoorden, de instellingen voor meervoudige authenticatie en de reikwijdte van het delen van bestanden blijven de verantwoordelijkheid van de gebruiker. Een incident waarbij bestanden per ongeluk voor iedereen zichtbaar worden gemaakt, is een probleem aan de kant van de gebruiker.

Waar zijn IaaS, PaaS en SaaS gedefinieerd?

De meest geciteerde bron is de definitie van cloudcomputing die het Amerikaanse National Institute of Standards and Technology (NIST) in 2011 publiceerde (SP 800-145). Die definieert drie servicemodellen voor de cloud: SaaS, PaaS en IaaS.

Hoe verschilt IaaS van on-premises?

On-premises betekent dat je eigen apparatuur koopt, in je eigen faciliteiten plaatst en alles beheert, vanaf het gebouw en de stroomvoorziening. Bij IaaS laat je het beheer van gebouwen, fysieke apparatuur en virtualisatielaag aan de aanbieder over en huur je alleen wat je nodig hebt, wanneer je het nodig hebt. Daar staat tegenover dat de gebruikskosten doorlopen zolang je het gebruikt, en dat storingen bij de aanbieder jou ook treffen.

Test uw begrip

Bij welke clouddienst levert de aanbieder de infrastructuur, zoals virtuele machines, opslag en netwerken, terwijl de gebruiker het besturingssysteem, de middleware en de applicaties zelf installeert en beheert?

  1. ASaaS
  2. BIaaS
  3. CPaaS
Antwoord en toelichting tonen

Antwoord: B. IaaS

Clouddiensten worden ingedeeld naar hoeveel de aanbieder levert. IaaS (Infrastructure as a Service) levert infrastructuur zoals virtuele machines, opslag en netwerken, en de gebruiker beheert het besturingssysteem en de applicaties daarop. PaaS (Platform as a Service) levert alles tot en met de uitvoeringsomgeving, zoals het besturingssysteem en de middleware, en SaaS (Software as a Service) alles tot en met de applicatie, zodat de gebruiker navenant minder hoeft te beheren.

Wat beheert de gebruiker bij een IaaS-clouddienst in het algemeen zelf?

  1. ADe gebouwen van het datacenter en de voorzieningen voor stroom en airconditioning
  2. BDe fysieke apparatuur zoals servers en opslag, en het virtualisatieplatform
  3. CHet besturingssysteem, de middleware en de applicaties die op de virtuele machines draaien
Antwoord en toelichting tonen

Antwoord: C. Het besturingssysteem, de middleware en de applicaties die op de virtuele machines draaien

Bij IaaS (Infrastructure as a Service) beheert de aanbieder de gebouwen, voorzieningen, fysieke apparatuur en het virtualisatieplatform, en beheert de gebruiker alles vanaf het besturingssysteem op de virtuele machines en hoger. Bij PaaS beheert de aanbieder ook het besturingssysteem en de middleware en beheert de gebruiker de applicaties en gegevens, en bij SaaS beheert de aanbieder alles tot en met de applicatie en beheert de gebruiker de gegevens en de gebruiksinstellingen. Zo verschuift met het dienstmodel de verdeling van de verantwoordelijkheid tussen aanbieder en gebruiker.

Er wordt een beheerde databasedienst in de cloud gebruikt (een dienst waarbij de aanbieder de databasesoftware beheert). Wat blijft volgens het model van gedeelde verantwoordelijkheid in het algemeen de verantwoordelijkheid van de gebruiker?

  1. AHet toepassen van beveiligingsupdates op het besturingssysteem van de servers waarop de database draait en op de databasesoftware
  2. BHet beschermen van de gebouwen van het datacenter en de fysieke apparatuur zoals servers tegen storingen en indringers
  3. CHet beheer van de gebruikersaccounts en rechten van de database, de netwerkbereiken die verbinding mogen maken, en de opgeslagen gegevens
Antwoord en toelichting tonen

Antwoord: C. Het beheer van de gebruikersaccounts en rechten van de database, de netwerkbereiken die verbinding mogen maken, en de opgeslagen gegevens

Volgens het model van gedeelde verantwoordelijkheid delen de cloudaanbieder en de gebruiker de verantwoordelijkheid voor beveiliging en beheer, en waar de grens ligt, hangt af van het soort dienst. Bij een beheerde databasedienst zorgt de aanbieder niet alleen voor de fysieke voorzieningen, maar ook voor het bijwerken van het besturingssysteem en de databasesoftware. Wie welke gegevens mag inzien, welke netwerken verbinding mogen maken en welke gegevens worden opgeslagen, blijft daarentegen bij elk soort dienst de verantwoordelijkheid van de gebruiker. Een incident waarbij een verkeerde configuratie een database aan het internet blootstelt, is een probleem aan de kant van de gebruiker.

  1. Bij serverless functies (FaaS) antwoordt soms alleen de eerste aanroep van een functie die een tijd niet is aangeroepen, enkele honderden milliseconden tot enkele seconden trager. Welke verklaring van dit verschijnsel is juist?
  2. Cloudopslag wordt voor drie doeleinden gebruikt: (1) als schijf aan een virtuele machine koppelen, er een bestandssysteem op maken en de gegevensbestanden van een database erop plaatsen; (2) tegelijk vanaf meerdere servers mounten en als gedeelde map gebruiken; (3) een groot aantal afbeeldingen via een API over HTTP met een sleutel (naam) lezen en schrijven, en de capaciteit laten groeien zonder die vooraf vast te leggen. Welke combinatie van opslagsoorten is geschikt voor (1) tot (3)?
  3. Er worden virtuele machines gebruikt die alleen voor de gebruikte tijd worden gefactureerd, tegen 40 yen per uur (een fictieve prijs). Normaal draaien 2 machines de hele maand (30 dagen) door, en op 20 werkdagen worden er elke dag 6 uur lang 4 bij gezet om de belasting op te vangen. Wat zijn de kosten voor de maand?

Oefenvragen over Basis van cloud en containers

Belangrijke termen uitgelegd

Model van gedeelde verantwoordelijkheid (shared responsibility model)
Het idee dat bij het gebruik van de cloud de verantwoordelijkheid voor beveiliging en beheer wordt gedeeld tussen de cloudaanbieder en de gebruiker. De aanbieder is verantwoordelijk voor de gebouwen van het datacenter en de fysieke apparatuur, de gebruiker voor de opgeslagen gegevens, de accounts en de toegangsinstellingen, de toestemming voor netwerkverbindingen enz. De grens daartussen verandert met het soort dienst, zoals IaaS, PaaS, SaaS of beheerde diensten. Veel gegevenslekken door een verkeerde configuratie vallen binnen de verantwoordelijkheid van de gebruiker.
Serverless computing
Een manier om applicaties uit te voeren waarbij het voorzien in servers, het beheren van hun aantal en het bijwerken van het besturingssysteem aan de cloudaanbieder worden overgelaten, zodat gebruikers er niet over hoeven na te denken. De typische vorm is FaaS (Function as a Service): een functie draait alleen als er een aanvraag of gebeurtenis binnenkomt, en de kosten hangen af van het aantal uitvoeringen, hun duur en het gebruikte geheugen. Schalen met de belasting gaat automatisch, en als er niets wordt gebruikt, wordt er bijna niets in rekening gebracht. Anderzijds zijn er beperkingen, zoals koude starts, waarbij de eerste aanroep na een periode van inactiviteit traag is, en grenzen aan de uitvoeringstijd.
Hypervisor
Software om meerdere virtuele machines op één computer te laten draaien. Verdeelt CPU, geheugen en apparaten over het OS van elke virtuele machine en isoleert ze van elkaar. Ook virtual machine monitor genoemd.
Autoscaling
Een mechanisme dat het aantal servers of containers automatisch verhoogt of verlaagt op basis van kengetallen voor de belasting (CPU-gebruik, aantal aanvragen per seconde, lengte van een wachtrij enz.). Machines toevoegen heet uitschalen (scale-out), machines weghalen afschalen (scale-in). De HorizontalPodAutoscaler van Kubernetes berekent het benodigde aantal als ⌈huidig aantal × huidige waarde ÷ doelwaarde⌉. Nieuwe instanties hebben tijd nodig voordat ze werken; plotselinge stijgingen van de belasting worden daarom opgevangen met een doel dat ruimte overlaat, en een wachtperiode vóór het afschalen is gebruikelijk, zodat het aantal niet te vaak verandert.
Objectopslag (object storage)
Opslag die gegevens bewaart als objecten met een sleutel (naam) en metadata, en ze als geheel leest en schrijft via een API over HTTP. De capaciteit kan vrijwel onbeperkt groeien zonder die vooraf vast te leggen, en de gegevens worden doorgaans over meerdere apparaten of locaties gerepliceerd voor een hoge duurzaamheid. Het is geschikt voor afbeeldingen, video, back-ups, logs en de bestanden van statische websites. Het is niet geschikt om delen van bestanden te herschrijven zoals in een bestandssysteem, of om de gegevensbestanden van een database te bevatten; daarvoor worden blokopslag, die virtuele schijven levert, of bestandsopslag, die een gedeeld bestandssysteem levert, gebruikt.
SLA (service level agreement)
Overeenkomst tussen de aanbieder en de gebruiker van een IT-dienst die de kwaliteitsniveaus vastlegt, zoals beschikbaarheid, responstijd, hersteltijd na storingen en openingstijden van de ondersteuning, samen met de manier waarop ze worden gemeten en wat er gebeurt als ze niet worden gehaald (Service Level Agreement).

Verwante vergelijkingen