Containers vergelijken met virtuele machines

Voltooid

Hardwarevirtualisatie heeft het mogelijk gemaakt om meerdere geïsoleerde exemplaren van besturingssystemen gelijktijdig op dezelfde fysieke hardware uit te voeren. Containers vertegenwoordigen de volgende fase in de virtualisatie van rekenresources.

Met virtualisatie op basis van containers kunt u het besturingssysteem virtualiseren. Met deze methode kunt u meerdere toepassingen uitvoeren binnen hetzelfde exemplaar van een besturingssysteem, terwijl de isolatie tussen de toepassingen behouden blijft. De containers binnen een virtuele machine bieden functionaliteit die vergelijkbaar is met die van virtuele machines binnen een fysieke server.

Dingen die u moet weten over containers versus virtuele machines

Laten we containers en virtuele machines vergelijken om meer inzicht te krijgen in virtualisatie op basis van containers.

Vergelijken Containers Virtuele machines
Isolatie Een container biedt doorgaans lichtgewicht isolatie van de host en andere containers, maar een container biedt geen zo sterke beveiligingsgrens als een virtuele machine. Een virtuele machine biedt volledige isolatie van het hostbesturingssysteem en andere virtuele machines. Deze scheiding is handig wanneer een sterke beveiligingsgrens essentieel is, zoals het hosten van apps van concurrerende bedrijven op dezelfde server of hetzelfde cluster.
Besturingssysteem Containers voeren het gebruikersmodusgedeelte van een besturingssysteem uit en kunnen worden aangepast om alleen de benodigde services voor uw app te bevatten. Deze aanpak helpt u minder systeembronnen te gebruiken. Virtuele machines voeren een volledig besturingssysteem uit, inclusief de kernel, waarvoor meer systeemresources (CPU, geheugen en opslag) nodig zijn.
Implementatie U kunt afzonderlijke containers implementeren met behulp van Docker via de opdrachtregel. U kunt meerdere containers implementeren met behulp van een orchestrator zoals Azure Kubernetes Service. U kunt afzonderlijke virtuele machines implementeren met Windows Beheer Center of Hyper-V-beheer. U kunt meerdere virtuele machines implementeren met behulp van PowerShell of System Center Virtual Machine Manager.
Permanente opslag Containers gebruiken Azure Disks voor lokale opslag voor één knooppunt of Azure Files (SMB-shares) voor opslag die wordt gedeeld door meerdere knooppunten of servers. Virtuele machines gebruiken een virtuele harde schijf (VHD) voor lokale opslag voor één machine of een SMB-bestandsshare voor opslag die wordt gedeeld door meerdere servers.
Fouttolerantie Als een clusterknooppunt mislukt, worden containers die op het knooppunt worden uitgevoerd, snel opnieuw gemaakt door de orchestrator op een ander clusterknooppunt. Virtuele machines kunnen een failover naar een andere server in een cluster uitvoeren, waarbij het besturingssysteem van de virtuele machine opnieuw wordt opgestart op de nieuwe server.

Aandachtspunten bij het gebruik van containers

Containers bieden verschillende voordelen ten opzichte van fysieke en virtuele machines. Bekijk de volgende voordelen en bedenk hoe u containers voor de interne apps voor uw bedrijf kunt implementeren.

  • Houd rekening met flexibiliteit en snelheid. Krijg meer flexibiliteit en snelheid bij het ontwikkelen en delen van uw toepassingscode in containers.

  • Overweeg om te testen. Kies containers voor uw configuratie om vereenvoudigde tests van uw apps mogelijk te maken.

  • Overweeg app-implementatie. Implementeer containers om gestroomlijnde en versnelde implementatie van uw apps te krijgen.

  • Overweeg workloaddichtheid. Ondersteuning voor hogere workloaddichtheid en het verbeteren van uw resourcegebruik door te werken met containers.

Containerinstallatiekopieën begrijpen

Alle containers worden gemaakt op basis van containerinstallatiekopieën. Een containerinstallatiekopieën zijn een lichtgewicht, zelfstandig, uitvoerbaar pakket met software waarmee alles wordt ingekapseld wat nodig is om een toepassing uit te voeren. Het bevat de volgende onderdelen:

  • Code: de broncode van de toepassing.
  • Runtime: De omgeving die nodig is om de toepassing uit te voeren.
  • Systeemhulpprogramma's: hulpprogramma's die nodig zijn om de toepassing te laten functioneren.
  • Systeembibliotheken: gedeelde bibliotheken die door de toepassing worden gebruikt.
  • Instellingen: Configuratieparameters die specifiek zijn voor de toepassing.

Wanneer u een containerinstallatiekopie maakt, wordt deze een draagbare eenheid die consistent kan worden uitgevoerd in verschillende computeromgevingen. Deze installatiekopieën zijn de bouwstenen voor containers. Dit zijn exemplaren van deze installatiekopieën die tijdens runtime worden uitgevoerd.