Close

Wat zijn Containers-as-a-service?

Ontdek wat Containers-as-a-service zijn, wanneer je ze moet gebruiken en hoe ze een snellere levering van applicaties mogelijk maken.

Headshot Ian Buchanan
Ian Buchanan

Principal Solutions Engineer


Containers-as-a-Service (CaaS) is een cloudservice waarmee softwareontwikkelaars en IT-afdelingen containers kunnen uploaden, organiseren, uitvoeren, schalen en beheren met behulp van op containers gebaseerde virtualisatie.

Een container is een softwarepakket dat alle afhankelijkheden bevat: code, runtime, configuratie en systeembibliotheken, zodat het op elk hostsysteem kan worden uitgevoerd. CaaS stelt softwareteams in staat om snel gecontaineriseerde applicaties te implementeren en te schalen naar cloudinfrastructuren met hoge beschikbaarheid. CaaS verschilt van Platform-as-a-Service (PaaS) omdat het afhankelijk is van het gebruik van containers. PaaS houdt zich bezig met expliciete 'language stack'-implementaties zoals Ruby on Rails of Node.js, terwijl CaaS meerdere stacks per container kan implementeren.

Wat is CaaS?


CaaS is in wezen geautomatiseerde hosting en implementatie van softwarepakketten in containers. Zonder CaaS moeten softwareontwikkelingsteams de onderliggende infrastructuur waarop containers draaien implementeren, beheren en bewaken. Deze infrastructuur is een verzameling cloudmachines en netwerkroutingsystemen waarvoor speciale DevOps-middelen nodig zijn om toezicht te houden en te beheren.

Met CaaS kunnen ontwikkelingsteams denken op hoogwaardiger containerniveau in plaats van te rommelen met een lager infrastructuurbeheer. Dit geeft ontwikkelingsteams meer duidelijkheid over het eindproduct en zorgt voor een flexibelere ontwikkeling en meer waarde voor de klant.

CaaS versus PaaS


pictogram code-store
gerelateerde content

Containers t.o.v. virtuele machines

Pictogram van drie ringen
Oplossing bekijken

Beheer je componenten met Compass

PaaS heeft betrekking op en is beperkt tot infrastructuur op codestackniveau. Bij gebruik van PaaS heeft een project geen controle over het onderliggende besturingssysteem. Containerruntimes zorgen voor de configuratie en virtualisatie van het besturingssysteem, wat geavanceerde aanpassingen en controle mogelijk maakt. Containers kunnen van cruciaal belang zijn voor de ontwikkeling van gespecialiseerde software op maat. Maar voor algemenere en standaardsoftware is PaaS vaak de beste keuze.

PaaS is een paradigma voor cloudhosting dat zich richt op code-implementatie op applicatieniveau. PaaS-providers bieden geautomatiseerde gehoste omgevingen die zich richten op afhankelijkheden van de applicatie-infrastructuur op een hoger niveau, zoals taalruntimes en databases. Het deel 'platform' in PaaS wordt meestal geassocieerd met een ecosysteem van codetalen, oftewel een 'stack'. Enkele voorbeelden van populaire PaaS-'stacks' zijn Ruby on Rails, Node.js, .NET en Java Spring MVC.

PaaS is doorgaans beter geschikt voor implementaties van monolithische toepassingen, omdat het zich doorgaans richt op één stack per implementatie. CaaS kan beter geschikt zijn voor microservices, aangezien elke container die in de CaaS wordt geïmplementeerd zijn eigen ingekapseld besturingssysteem en taalstack kan hebben. PaaS heeft nog steeds last van het probleem 'werkt op mijn machine'. Er kunnen subtiele verschillen zijn tussen de ontwikkelomgeving en de productieomgeving van een PaaS-systeem. Het primaire doel van een containersysteem is het vermijden en garanderen van consistent gedrag in de onderliggende implementatie-omgevingen.

Andere cloudservices


IaaS

Infrastructure as a Service (IaaS) vormt de basislaag van cloud computing en stelt teams in staat om computerbronnen op afstand te reserveren en in te richten. Alle andere cloud-"as-a-service”-paradigma's zijn afhankelijk van IaaS. Met IaaS kunnen ontwikkelaars toegang verlenen tot een exemplaar van een cloudcomputer bij hun hostingprovider en daar toegang tot vragen. Deze instantie van de cloudcomputer kan dan op afstand geopend en geconfigureerd worden om aangepaste software te installeren.

SaaS

Software as a Service (SaaS) is een term voor het beschrijven van een bedrijfsmodel van gehoste cloudproducten. SaaS-bedrijven bieden doorgaans factureringsmodellen op basis van een abonnement aan voor toegang tot gehoste cloudsoftware. Dit verschilt van traditionele businessmodellen voor leverbare software met een eenheidsprijs. SaaS-bedrijven zijn gebouwd op andere 'as-a-service'-infrastructuurtools zoals PaaS en IaaS.

FaaS

Functions-as-a-Service (FaaS) loopt voorop in het aanbod van cloud computing en wordt ook wel 'Serverless' genoemd. Met FaaS kunnen ontwikkelaars rechtstreeks codefuncties uploaden en uitvoeren zonder de onderliggende systeeminfrastructuur of afhankelijkheden te configureren of te beheren. Hierdoor kunnen teams zich direct concentreren op hun relevante zakelijke aandachtspunten en voorbijgaan aan afleiding met infrastructuurbeheer.

Voordelen van CaaS


Containers en CaaS maken het veel eenvoudiger om gedistribueerde systemen of microservice-architecturen te implementeren en samen te stellen. Tijdens de ontwikkeling kan een set containers verschillende verantwoordelijkheden of ecosystemen van verschillende codetalen beheren. De netwerkprotocolrelatie tussen containers kan gedefinieerd en vastgelegd worden voor implementatie in andere omgevingen. CaaS belooft dat deze gedefinieerde en toegewijde containerarchitecturen snel geïmplementeerd kunnen worden in cloudhosting.

Laten we, om dit idee uit te breiden, een voorbeeld bekijken. Stel je een hypothetisch softwaresysteem voor dat is georganiseerd in een microservice-architectuur, waarbij het servicesysteem is gestructureerd op basis van eigendom van het bedrijfsdomein. De domeinen van de services kunnen zijn: betalingen, authenticatie en winkelwagentje. Elk van deze services heeft zijn eigen codebasis en zit in een container. Met CaaS kunnen deze servicecontainers direct op een live systeem worden geïmplementeerd.

Door toepassingen in containers te implementeren op een CaaS-platform, wordt transparantie in de prestaties van een systeem mogelijk via tools zoals logaggregatie en monitoring. CaaS bevat ook ingebouwde functionaliteit voor automatisch schalen en orkestratiebeheer. Het stelt teams in staat om snel gedistribueerde systemen met hoge zichtbaarheid en hoge beschikbaarheid te bouwen. Bovendien verhoogt CaaS de snelheid van teamontwikkeling door snelle implementaties mogelijk te maken. Het gebruik van containers verzekert een consistent implementatiedoel, terwijl CaaS de operationele kosten voor engineering kan verlagen door de DevOps-middelen te verminderen die nodig zijn om een implementatie te beheren.

Kortom...


CaaS is een krachtig modern hostingparadigma waarvoor vertrouwdheid met containers nodig is om te kunnen gebruiken. CaaS kan enorm voordelig zijn voor zeer flexibele softwareontwikkelingsteams. Het kan een geweldige hulp zijn bij het tot stand brengen van een doorlopende implementatie van een project. Voor een goede CaaS hoef je niet ver te zoeken, aangezien de meeste moderne cloudhostingproviders CaaS-oplossingen aanbieden tegen concurrerende prijzen.

Ian Buchanan
Ian Buchanan

Hoewel Ian een brede en uitgebreide kennis heeft van zowel Java als .NET, staat hij vooral bekend als expert op het gebied van agile methoden bij grote ondernemingen. Op dit moment richt hij zich op de opkomende DevOps-cultuur en de tools die een betere continue integratie, continue levering en gegevensanalyses mogelijk maken. Tijdens zijn carrière heeft hij met succes enterprise softwareontwikkelingstools beheerd in alle fases van hun levenscyclus. Ook was hij de motor achter organisatiebrede procesverbeteringen resulterend in een hogere productiviteit, kwaliteit en klanttevredenheid. Hij heeft teams met meerdere nationaliteiten onder zijn leden opgericht. Voor deze teams was zelfsturing en zelforganisatie erg belangrijk. Wanneer hij geen presentaties geeft of codeert, is hij bezig met parsing, metaprogrammering en domeinspecifieke talen. Volg Ian via @devpartisan.


Deel dit artikel
Volgend onderwerp

Aanbevolen artikelen

Bookmark deze resources voor meer informatie over soorten DevOps-teams of voor voortdurende updates over DevOps bij Atlassian.

Toelichting DevOps

Compass-community

illustratie obstakels overwinnen

Tutorial: Een component aanmaken

Map-illustratie

Ga gratis aan de slag met Compass

Meld je aan voor onze DevOps-nieuwsbrief

Thank you for signing up