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.
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:
Organisaties maken veelvuldig gebruik van containers voor de volgende doeleinden:
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.
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 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.
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.
Versnel uw containerworkloads, ongeacht waar u ze implementeert. Of het nu on-premises of in de cloud is, NetApp biedt uitgebreide oplossingen voor datamanagement.
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.
In een handomdraai en naar behoefte beschikbaar.
Succesverhalen van de wereldleider op het gebied van datamanagement en -storage.
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.
PostFinance vertrouwt op toekomstgerichte tools en technologieën die specifiek zijn ontwikkeld of aangepast voor de Zwitserse markt. De systemen van NetApp® leveren de bestandsdata voor veilige banktransacties en versnellen de ontwikkeling van financiële producten en services met persistente storage.
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.