Belangrijke punten
- Een container bundelt alles wat een toepassing nodig heeft om betrouwbaar te kunnen worden uitgevoerd in elke rekenomgeving.
- Containers worden in cloud-computing gebruikt voor het distribueren en beheren van moderne apps, waaronder apps die AI uitvoeren en machine learningworkloads, in verschillende omgevingen.
- Containers zijn lichter en draagbaarder dan virtuele machines, waardoor ze eenvoudiger te schalen zijn.
- Containers sluiten aan op procedures voor moderne app-ontwikkeling, zoals het gebruik van architecturen voor microservices en DevOps-workflows.
- Organisaties in verschillende branches gebruiken containers om veilige, schaalbare oplossingen te maken en te onderhouden.
- Hulpprogramma's en services die zijn geoptimaliseerd voor containers, zoals het Kubernetes-indelingsplatform, vereenvoudigen containerbeheer.
Wat zijn containers in cloud-computing?
Containers lossen een fundamentele uitdaging in de ontwikkeling van toepassingen op: het beheren van de code en afhankelijkheden van een app, zodat de app consistent werkt in IT-omgevingen en de prestaties van andere apps die op hetzelfde systeem draaien niet beïnvloedt. Vroeger moesten ontwikkelaars software in meerdere versies uitbrengen, zodat deze in verschillende omgevingen kon worden uitgevoerd.
Containers lossen deze uitdaging op door een lichtgewicht, onveranderlijke infrastructuur te bieden voor het verpakken en implementeren van apps. Ontwikkelaars kunnen een app (of service), de bibliotheken, configuratiebestanden en afhankelijkheden samen als één containerinstallatiekopie verpakken. Vervolgens kunnen ze de container-app als een eenheid testen en deze implementeren als een containerinstallatiekopie-exemplaar in omgevingen met weinig of geen wijzigingen. Daarom zijn containers een hoeksteen geworden van de IT-strategie voor ondernemingen, met alles van webservices tot workloads op basis van AI.
Cloudcontainers, dit zijn containers die worden uitgevoerd op cloudexemplaren, zijn vooral onbruikbaar geworden voor cloud-computing. Ze bieden ontwikkelaars en IT-professionals een consistente manier om moderne cloudeigen toepassingen te distribueren en beheren in verschillende typen omgevingen. Deze omgevingen omvatten mogelijk een hybride cloudinfrastructuur, waarin openbare cloud, privécloud, on-premises resources multi-cloud worden gecombineerd, die cloudservices van meer dan één leverancier gebruiken.
Omdat containers snel opnieuw kunnen worden geconfigureerd, bieden ze ontwikkelaars ook de flexibiliteit om cloudexemplaren efficiënt op te starten of af te sluiten op basis van wisselende workloadbehoeften.
Wat is het verschil tussen een container en een virtuele machine?
Containers en virtuele machines (VM's) zijn beide vormen van virtualisatie die workloads isoleren van rekenresources, maar ze doen dit op verschillende manieren.
Op hoog niveau virtualiseren VM's onderliggende resources, zodat meerdere besturingssysteemexemplaren op de ondersteunende hardware kunnen worden uitgevoerd. VM's bieden veel voordelen, waaronder de mogelijkheid om verschillende besturingssystemen op dezelfde server uit te voeren, ongeacht of het een on-premises server of cloudserver is. Ze zorgen ook voor een efficiënter en rendabeler gebruik van fysieke resources en snellere serverinrichting. Omdat elke VM echter een installatiekopie van het besturingssysteem, bibliotheken, toepassingen en andere onderdelen bevat, kunnen ze groot en lastig (en duur) worden om tussen omgevingen te verplaatsen.
Als alternatief kan een container het onderliggende besturingssysteem visualiseren en ervoor zorgen dat de gecontaineriseerde app opmerkt dat deze volledig kan beschikken over het besturingssysteem, inclusief CPU, geheugen, bestandsopslag en netwerkverbindingen. Omdat de verschillen in het onderliggende besturingssysteem en de infrastructuur worden geabstraheerd, kan de container overal worden geïmplementeerd en uitgevoerd zolang de basisinstallatiekopie consistent is.
Containers zijn draagbaarder en efficiënter met resources dan virtuele machines, maar zijn beperkt tot het besturingssysteem waarvoor ze zijn gedefinieerd. Omdat containers echter het hostbesturingssysteem delen, hoeven ze geen besturingssysteem te starten of bibliotheken te laden. Daardoor zijn ze veel efficiënter en lichter, maar minder geïsoleerd. Gecontaineriseerde toepassingen verminderen ook het onderhoud, zoals patches en updates.
Containers en VM's kunnen samen worden gebruikt. Organisaties kunnen bijvoorbeeld containers uitvoeren in VM's in plaats van rechtstreeks op de infrastructuur, die de VM-isolatie en beveiliging gebruikt en tegelijkertijd de efficiëntie verhoogt.
Wat zijn de voordelen van het gebruik van containers?
Hier zijn enkele van de belangrijkste voordelen van het gebruik van containers:
- Eenvoudiger app-beheer: containers maken het eenvoudiger om toepassingen en infrastructuur te beheren door te standaardiseren hoe software wordt verpakt en uitgevoerd in verschillende omgevingen. In combinatie met indelingshulpprogramma's maken containers geautomatiseerde updates, terugdraaiacties, schalen en bewaking mogelijk, waardoor bewerkingen efficiënter en toleranter worden.
- Meer flexibiliteit: IT-teams kunnen in gecontaineriseerde apps gebruiken om snel te reageren op veranderende bedrijfsbehoeften en de marktintroductietijd te versnellen met nieuwe aanbiedingen en functies. Containers ondersteunen ook moderne DevOps-processen en architecturen voor microservices.
- Draagbaarheid tussen omgevingen: containers bieden een gestandaardiseerde indeling voor het verpakken en opslaan van alle onderdelen die een toepassing moet uitvoeren. Wanneer en waar een container ook wordt geïmplementeerd, on-premises, in de cloud of op randapparaten, het gebeurt in een consistente, onveranderlijke omgeving.
- Snelle schaalbaarheid: omdat containers geen afzonderlijke besturingssysteemexemplaren en andere overheadvereisten hebben die VM's hebben, kunnen veel meer containers worden ondersteund in dezelfde infrastructuur. Door het lichte karakter kunnen containers snel worden gestart en gestopt, waardoor snel omhoog en omlaag schalen mogelijk is.
- Verhoogde beveiliging: containers virtualiseren rekenresources op het niveau van het besturingssysteem, waardoor cyberaanvallen worden beperkt en het risico wordt beperkt dat één gecompromitteerd onderdeel van invloed is op de andere onderdelen. Deze ingebouwde isolatie, in combinatie met best practices en hulpprogramma's voor containerbeveiliging, helpt organisaties bij het vroegtijdig detecteren van cyberbedreigingen en het onderhouden van veilige, compatibele implementaties in verschillende omgevingen.
Containers en moderne app-ontwikkeling
Vanwege hun kleine grootte en de mogelijkheid om vrijwel overal uit te voeren, zijn containers afgestemd op veel aspecten van de ontwikkeling van moderne apps, waaronder de volgende:
- Architecturen voor microservices: containers zijn de bouwstenen van architecturen voor microservices, die grote toepassingen opsplitsen in kleine, losjes gekoppelde services die specifieke functies uitvoeren en communiceren via API's. Elke service wordt uitgevoerd in een eigen container, die onafhankelijk en efficiënt kan worden bijgewerkt, geschaald en geïmplementeerd.
- DevOps workflows: containers zijn ook essentiële onderdelen van CI/CD-pijplijnen (continue integratie en continue levering). Door ontwikkelaars in staat te stellen consistente, betrouwbare ontwikkel-, test- en productieomgevingen te gebruiken, helpen containers werkstromen te stroomlijnen, de levenscyclus van softwareontwikkeling te versnellen en handmatige fouten te verminderen.
- Hybride cloud- en multi-cloudstrategieën: containers zijn eenvoudig te verplaatsen tussen platforms en geven organisaties de flexibiliteit om hybride cloud- en multi-cloudarchitecturen te combineren. Hierdoor kunnen ze infrastructuur en andere resources van verschillende cloudproviders inrichten op basis van hun behoeften.
- Migratie en modernisering van toepassingen: gecontaineriseerde toepassingen vereenvoudigencloudmigratie door traditionele monolithische toepassingen (die alle toepassingsonderdelen in één eenheid bundelen) in moderne omgevingen uit te voeren met minimale aanpassingen.
- AI- en machine learningworkloads: containers zijn ideaal voor het verpakken en uitvoeren van apps met AI, zoals welke nodig zijn om bedrijfsprocessen te automatiseren en predictive analytics uit te voeren. Zelfstandige machine learningmodellen kunnen ook snel worden gereproduceerd en geschaald in elke omgeving, waardoor consistentie van modeltraining tot deductie wordt gegarandeerd.
- Generatieve AI-modellen: ontwikkelaars die werken met taalmodellen, diffusie AI-modellen en andere generatieve AI-modellen kunnen containers gebruiken om complexe afhankelijkheden efficiënt te bundelen. Daarnaast kunnen ze indelingshulpprogramma's voor apps in containers gebruiken om de modellen snel, veilig en op schaal te implementeren.
Use cases voor containers per branche
Hier zijn praktijkvoorbeelden van hoe organisaties van alle typen en grootten containers gebruiken om meer efficiëntie, innovatie en schaalbaarheid te bereiken:
Autobranche
Autofabrikanten gebruiken containers voor connected car-services, waaronder realtime navigatie-updates en infotainmentsystemen, om consistente prestaties te garanderen bij miljoenen voertuigen.
Bankwezen en financiën
Financiële instellingen zijn afhankelijk van containers om kernbanksystemen te moderniseren, modellen voor fraudedetectie uit te voeren en mobiele toepassingen te bouwen met strikte naleving van branchevoorschriften.
Gaming
Gamingbedrijven gebruiken containers om matchmakingservices, klassementen en analyses op wereldwijde schaal uit te voeren. Met containers kunnen ze updates in bijna realtime implementeren zonder live gameplay te onderbreken.
Gezondheidszorg
Ziekenhuizen en onderzoekscentra gebruiken containers om apps voor gezondheidsanalyse te implementeren, te voldoen aan HIPAA-vereisten (Health Insurance Portability and Accountability Act) en gevoelige patiëntgegevens te beheren in veilige, geïsoleerde omgevingen.
Detailhandel
Detailhandelaren gebruiken containers om gepersonaliseerde winkelervaringen te leveren, voorraad in realtime bij te houden en op microservices gebaseerde front-ends op te schalen tijdens drukke winkelperiodes.
Productie
Fabrikanten vertrouwen op containers om IoT-apparaten (Internet of Things) en realtime predictive analytics te integreren in hun productieprocessen, simulatieomgevingen in te stellen en IT-beheer en -kosten te stroomlijnen.
Telecommunicatie
Telecomproviders implementeren containers aan de rand van mobiele netwerken ter ondersteuning van basisstations met 5G die ioT, telefoons en andere apparaten dicht bij de klant verbinden.
Hulpprogramma's en services die zijn geoptimaliseerd voor containers
Containerindelingsplatforms
Eén ondernemingstoepassing kan bestaan uit honderden of duizenden containers die zijn verdeeld over machineclusters. Kubernetes helpt bij het aanpakken van de bijbehorende uitdagingen door de implementatie, schaalaanpassing en het beheer van toepassingen in containers te automatiseren.
Beveiligingshulpprogramma's voor containers
Beveiligingstools die specifiek zijn voor containers bewaken runtimegedrag, scannen op beveiligingsproblemen, handhaven beleid en isoleren workloads. Containerfirewalls en het ondertekenen van installatiekopieën worden vaak gebruikt voor verbeterde beveiliging.
Serverloze containers
Door serverloze computingtechnologieën te combineren met gecontaineriseerde apps, kunnen ontwikkelaars containers uitvoeren zonder dat ze zich zorgen hoeven te maken over servers of infrastructuur. Het is ideaal voor gebeurtenisgestuurde toepassingen die pieken in het verkeer moeten kunnen verwerken.
Containers als een service (CaaS)
CaaS-platforms bieden beheerde containeromgevingen waarin ontwikkelaars containers kunnen implementeren en beheren zonder indelingssoftware te installeren of infrastructuur te beheren.
De toekomst van containers
Verdiep je kennis van cloud-computing
Bezoek het Azure Resource Center
Meteen goed uit de startblokken voor een technische carrière
Meer informatie: Azure-evenementen en -webinars
Veelgestelde vragen
- Een cloudcontainer is een lichtgewicht, draagbaar softwarepakket dat alles bevat dat nodig is voor het uitvoeren van AI en andere moderne toepassingen in hybride cloud- en multi-cloudomgevingen.
- Met containers in cloud-computing kunnen organisaties effectiever concurreren door op efficiënte wijze innovatieve toepassingen op schaal te bouwen, ze te testen en te implementeren, en tegelijkertijd rekenresources te optimaliseren.
- Zowel containers als virtuele machines isoleren workloads van rekenresources. Containers delen echter het hostbesturingssysteem en zijn lichtgewicht en draagbaar, terwijl virtuele machines een volledig besturingssysteem uitvoeren, en moeilijker en duurder zijn om te verplaatsen tussen omgevingen.
- Nee, Kubernetes is geen container. Het is een opensource-indelingsplatform dat de implementatie, schaalaanpassing en het beheer van gecontaineriseerde toepassingen automatiseert.