Menu

Wat zijn containers?

Kubussen
Onderwerpen
Oplossingen voor DevOps

Share this page

Containers zijn een vorm van besturingssysteemvirtualisatie. Met één container kunt u allerlei dingen uitvoeren, van een kleine microservice of een kleinschalig softwareproces tot een grotere applicatie. In de container bevinden zich alle benodigde uitvoerbare bestanden, binaire code, bibliotheken en configuratiebestanden. In vergelijking tot virtualisatiemethoden voor servers of machines bevatten containers echter geen besturingssysteemimages. Hierdoor zijn ze lichter en draagbaar, met aanzienlijk minder overhead. Bij de implementatie van een grotere applicatie moeten mogelijk meerdere containers worden geïmplementeerd in de vorm van een of meer containerclusters. Dergelijke clusters kunnen worden beheerd met een orkestratieplatform voor containers, zoals Kubernetes.

Voordelen van containers

Containers bieden een gestroomlijnde manier om applicaties te ontwikkelen, te testen en (opnieuw) te implementeren in meerdere omgevingen, van de lokale laptop van een ontwikkelaar tot een on-premises datacenter tot zelfs de cloud. De voordelen van containers zijn onder meer:

  • Minder overhead
    Containers vereisen minder systeemresources dan traditionele of hardwarematige virtuele-machineomgevingen omdat ze geen besturingssysteemimages bevatten.
  • Verbeterde portabiliteit
    Containerapplicaties kunnen eenvoudig worden geïmplementeerd op meerdere, uiteenlopende besturingssystemen en hardwareplatformen.
  • Gelijkere werking
    DevOps-teams weten zich gezekerd dat containerapplicaties altijd hetzelfde werken, ongeacht waar ze worden geïmplementeerd.
  • Meer efficiëntie
    Via containers kunnen applicaties sneller worden geïmplementeerd, gepatcht of geschaald.
  • Betere applicatieontwikkeling
    Containers bieden ondersteuning voor agile en DevOps om ontwikkelings-, test- en productiecycli te versnellen.

Gebruiksscenario's voor containers

Organisaties maken veelvuldig gebruik van containers voor de volgende doeleinden:

  • Bestaande applicaties ‘verplaatsen’ naar moderne cloudarchitecturen
    Bij sommige organisaties worden containers gebruikt om bestaande applicaties naar modernere omgevingen te migreren. Die organisaties profiteren hierbij weliswaar van enkele basisvoordelen van besturingssysteemvirtualisatie, maar de volledige voordelen van een modulaire containerapplicatiearchitectuur blijven onbenut.
  • Bestaande applicaties herstructureren voor containers
    Een herstructurering is veel intensiever dan een verplaatsing, maar maakt wel de volledige voordelen van een containeromgeving toegankelijk.
  • Nieuwe containerapplicaties ontwikkelen
    Net als bij herstructurering worden met deze aanpak de volledige voordelen van containers benut.
  • Betere ondersteuning voor microservicearchitecturen
    Gedistribueerde applicaties en microservices kunnen gemakkelijker worden geïsoleerd, geïmplementeerd en geschaald op basis van afzonderlijke containerbouwstenen.
  • DevOps-ondersteuning voor Continuous Integration en Continuous Deployment (CI/CD)
    Via containertechnologie kunt u applicaties gestroomlijnd ontwikkelen, testen en implementeren aan de hand van dezelfde containerimages.
  • Herhaaldelijke taken implementeren met meer gemak
    Containers worden geïmplementeerd ter ondersteuning van een of meer vergelijkbare processen, die vaak op de achtergrond worden uitgevoerd, zoals ETL-functies of batchtaken.

Hoe verhouden Docker en Kubernetes zich tot containers?

Gebruikers die betrokken zijn bij containeromgevingen zijn waarschijnlijk wel bekend met twee populaire tools en platformen om containers te ontwikkelen en te beheren: Docker en Kubernetes.

Docker is een populaire runtimeomgeving om software in containers te maken en te ontwikkelen. Hierbij worden Docker-images (copy-on-write-snapshots) gebruikt om containerapplicaties of -software te implementeren in meerdere omgevingen, van de ontwikkeling tot de test tot de productie. Docker is gebouwd op open standaarden en functies binnen de meest voorkomende besturingsomgevingen, waaronder Linux, Microsoft Windows en andere on-premises of cloudinfrastructuren.

Containerapplicaties kunnen echter ingewikkeld worden. In de productieomgeving zijn misschien wel honderden tot duizenden afzonderlijke containers nodig. Hiertoe kunnen containerruntimeomgevingen zoals Docker worden gecombineerd met andere tools om alle actieve containers te beheren of geautomatiseerd te configureren en coördineren.

Een van de populairste tools voor dit doel is Kubernetes, een platform dat containers in meerdere runtimeomgevingen herkent en geautomatiseerd configureert of coördineert, waaronder Docker.

Met Kubernetes orkestreert u de werking van meerdere containers in harmonie samen. Zo worden onderliggende infrastructuurresources ten behoeve van containerapplicaties beheerd, zoals de benodigde hoeveelheid compute-, netwerk- en storageresources. Via orkestratietools zoals Kubernetes kunt u containerworkloads eenvoudiger automatiseren en schalen voor live productieomgevingen.

Containers versus virtuele machines (VM's)

Containertechnologie wordt soms verward met virtuele machines (VM's) of servervirtualisatietechnologie. Hoewel er enkele fundamentele overeenkomsten zijn, verschillen containers toch sterk van VM's.

Virtuele machines worden uitgevoerd in een hypervisoromgeving waarin elke virtuele machine vergezeld moet zijn van een eigen gastbesturingssysteem, samen met de bijbehorende binaire bestanden, bibliotheken en applicatiebestanden. Dit vergt een grote hoeveelheid systeemresources en overhead, vooral wanneer meerdere VM's op dezelfde fysieke server worden uitgevoerd, elk met een eigen gastbesturingssysteem.

Elke container daarentegen deelt hetzelfde hostbesturingssysteem of dezelfde systeemkernel en is daardoor veel kleiner, vaak slechts enkele megabytes groot. Hierdoor kan een container meestal al binnen enkele seconden worden gestart (in vergelijking tot de gigabytes en minuten aan opstarttijd die nodig zijn voor een gewone VM).

NetApp en containers

NetApp is overtuigd van de kracht van containertechnologie. Wij werken aan beproefde tools en innovaties waarmee u persistente storage kunt leveren en beheren voor elke applicatie, op elke locatie. Eén duidelijk voorbeeld hiervan is de ontwikkeling van Trident. Via Trident kunt u ongekend gemakkelijk persistente storage naar behoefte afnemen voor containerapplicaties.

We werken actief aan manieren om DevOps te versnellen door nog meer snelheid en wendbaarheid te bevorderen bij softwareontwikkeling. Infrastructuurresources zoals storage zouden eenvoudig moeten kunnen worden afgenomen. NetApp doet er alles aan om dit te realiseren, met oplossingen voor containermanagement en andere oplossingen waarmee applicaties eenvoudiger kunnen worden geschaald en in meerdere platformen kunnen worden gebruikt.

Configuratiemanagement

Door de integratie met reeds bestaande tools in uw DevOps-pipeline kunnen teams voor ontwikkeling, testen, QA en operationele uitvoering infrastructuurresources nu als code gebruiken.

Containeroplossingen

Versnel uw containerworkloads, ongeacht waar u ze implementeert. Of het nu on-premises of in de cloud is, NetApp biedt uitgebreide oplossingen voor datamanagement.

Continuous Integration en Continuous Delivery

NetApp-oplossingen voor Continuous Integration en Continuous Delivery (CI/CD) vergemakkelijken het werk van ontwikkelaars, omdat zij software met meer betrouwbaarheid kunnen testen en uitbrengen, op elk gewenst moment.

Containers en persistente storage

In een handomdraai en naar behoefte beschikbaar.

Oplossingen voor DevOps

Succesverhalen van de wereldleider op het gebied van datamanagement en -storage.

Klantinzichten halen uit communicatie over beveiliging

Bandwidth is een leverancier van een API-platform die voorziet in spraak-, meldings- en alarmservices waarmee dagelijks miljoenen mensen in aanraking komen. De ontwikkelaars van Bandwidth innoveren onophoudelijk om hun platform door te ontwikkelen en nieuwe services sneller op de markt te brengen.

Tabblad Bandwidth

Nieuwe reisservices sneller op de markt brengen

Met NetApp kunnen de ontwikkelaars van Despegar in korte tijd functies en updates uitbrengen om nieuwe bezoekers naar de site te trekken en mogelijk binnen te halen als nieuwe klanten. Ontwikkelaars hebben het aantal implementaties van nieuwe applicaties en updates kunnen verhogen van 3 tot 5 per week naar meer dan 300 per dag.

Foto Despegar
Blauwe bellen

Waarom NetApp voor DevOps-oplossingen?

DevOps is de therapie die de standaardvorm van applicatieontwikkeling al lang nodig had. Softwareontwikkeling (Dev) en IT-processen (Ops) zijn niet langer gescheiden, zelfdienende functies, maar werken nu samen, met end-to-end-verantwoordelijkheid vanaf het concept tot de productie.

NetApp helpt u een samenhangende, naadloze DevOps-werkwijze te realiseren, zowel on-premises als in private en public clouds. Dat betekent dat uw operationele team een geautomatiseerde infrastructuur kan leveren met minder engineering. Ontwikkelaars kunnen tegelijkertijd werken in betrouwbare en voorspelbare omgevingen die beter op elkaar zijn afgestemd en sneller werken.

Verder lezen over containers