Liste opp forskjellene mellom beholdere og virtuelle maskiner

Fullført

Windows Server-administratoren for Contoso må finne ut hvilke arbeidsbelastninger og scenarioer som passer for virtuelle maskiner, og hvilke som er mer egnet for beholdere. De vil vurdere egenskapene til vm- og beholderarbeidsbelastninger, scenarioer der de kan brukes, og i hvilke tilfeller beholderarbeidsbelastninger kan brukes til å øke effektiviteten.

VIRTUELLE-er kontra beholdere

Både virtuelle maskiner og beholdere er virtualiseringsteknologier som brukes til å levere isolerte og bærbare databehandlingsmiljøer for programmer og tjenester:

  • VIRTUELLE-er simulerer en hel datamaskin, inkludert virtualisert maskinvare, operativsystemet, brukermodus og egen kjernemodus. Virtuelle maskiner er ganske smidige og gir enorm støtte for programmer; VIRTUELLE-er pleier imidlertid å være store og bruke vertsmaskinressurser.

  • Beholdere (som tidligere beskrevet) bygger på vertsoperativsystemets kjerne og inneholder en isolert brukermodusprosess for den pakkede appen. Dette bidrar til å gjøre beholdere svært lette og raske å starte. Beholdere kan enkelt flyttes fra utvikling, til test, til produksjonsmiljøer, forskjellig fra virtuelle maskiner. Men fordi operativsystemet ikke er helt det samme, kjører ikke alle programmer det samme (eller i det hele tatt) på et beholdermiljø.

Likheter og forskjeller

Tabellen nedenfor oppsummerer likhetene mellom og forskjellene mellom funksjoner for virtuelle maskiner og beholdere.

Funksjon VM beholder
Isolasjon Gir fullstendig isolering fra vertsoperativsystemet og andre virtuelle maskiner. Gir lett isolasjon fra verten og andre beholdere.
OPERATIVSYSTEM Kjører et komplett operativsystem, inkludert kjernen. Kjører bare brukermodusdelen av et operativsystem.
Gjestekompatibilitet I stand til å kjøre alle støttede operativsystemer i VM Windows-beholdere krever samsvarende verts- og beholder-OS-versjoner. (Se isoleringsmodus for mer informasjon og alternativer)
Distribusjon Distribuert ved hjelp av Hyper-V manager eller andre verktøy for VM-administrasjon. Distribuert og administrert ved hjelp av Docker eller en annen beholderkjøringstid. Flere beholdere kan distribueres ved hjelp av en orchestrator, for eksempel Kubernetes.
Vedvarende lagringsplass Bruker virtuelle harddiskfiler eller servermeldingsblokk (SMB) del. Dataene beholdes ikke når det ikke lenger finnes en beholder. Hvis du vil beholde data i en beholder med Windows Server, må du bruke fast lagringsplass.
Belastningsfordeling og høy tilgjengelighet Bruker en Windows failover-klynge eller Windows-belastningsfordeling til å flytte virtuelle maskiner etter behov og støtte høyere volum. Bruker en beholderorkestrering til automatisk å starte og stoppe beholdere, automatisk skalering og støtte ekstra trafikk.
nettverk Bruker virtuelle nettverkskort. Ulike nettverksalternativer er tilgjengelige avhengig av scenarioet. Standard er et NAT-nettverk (Network Address Translation) som bruker interne- og kartporter fra vert til beholder.

Merk deg

Det er vanlig å klargjøre beholdere i en svært optimalisert vm for å gi forbedret isolasjon og sikkerhet.

Fordeler med beholdere

På et høyt nivå beholdere:

  • Krever relativt få ressurser. De er mindre ressurskrevende enn virtuelle maskiner.

  • Start raskt. Oppstartstiden for beholderen tilsvarer omtrent tiden som kreves for å starte en ny prosess.

  • Forbedre servertettheten. Beholdere muliggjør mer effektiv bruk av minne, disk og CPU fra den tilgjengelige maskinvaren enn virtuelle maskiner. Dette resulterer i færre inaktive servere, noe som resulterer i bedre utnyttelse av eksisterende databehandlingsressurser. Dette er spesielt viktig for skyleverandører og brukere fordi det kan redusere kostnadene.

  • Portabilitet. Beholdere fungerer på samme måte uavhengig av miljøet de kjører. En beholder har avhengighetene for at et program skal fungere. Dette gjør det mulig for en beholder å utføre det samme mellom utvikling, test og produksjon, samt mellom lokal og sky.

Følgende grafikk gir en sammenligning av isolasjon og effektivitet mellom PC-er, VIRTUELLE-er, beholdere og prosesser, og illustrerer at:

  • PC-er gir størst grad av isolasjon. Isolasjon er gradvis mindre for virtuelle maskiner, beholdere og prosesser.

  • Prosesser gir størst effektivitet, og i sin tur mulig tetthet. Beholdere, VIRTUELLE-er og PC-er er gradvis mindre effektive.

  • Maskinvare-, kjerne- og systemressurser (for eksempel et filsystem) deles:

    • VIRTUELLE-er deler bare maskinvare.

    • Beholdere deler maskinvare og kjerne (unntatt Windows Hyper-V beholdere, som ikke deler en kjerne).

    • Prosesser deler maskinvare, kjerne og systemressurser.

    • PC-er deler ikke noen av disse.

Diagram som viser sammenligning av isolering og effektivitet mellom PC-er, VIRTUELLE-er, beholdere og prosesser.

Tips

For fast lagring kan du bruke en bindingsmontering til å montere en plassering på den lokale maskinen. Filer på plasseringen vil være tilgjengelige når du starter en beholder på nytt, eller hvis du vil dele filene med flere beholdere. Hvis du vil at en beholder skal kjøre på flere maskiner med tilgang til de samme filene, bør et navngitt volum eller SMB-montering brukes i stedet.

Orchestratorer som Kubernetes har sin egen implementering av vedvarende lagring.

Forsiktighet

Ikke bind monteringsfølsomme mapper som C:\ inn i en ikke-klarert beholder. Dette ville gjøre det mulig for den ikke-klarerte beholderen å endre filer på verten som den normalt ikke ville ha tilgang til, og kunne opprette et sikkerhetsbrudd. Kontroller videre at beholderen fungerer som den skal når du flytter til et annet miljø. Dette betyr å unngå å binde en beholder til en bestemt stasjon på en bestemt vert.

Når du skal velge en vm

Bruk en virtuell maskin når du:

  • Må administrere flere operativsystemer.

  • Må kjøre en app som krever alle ressurser og tjenester for et fullstendig operativsystem, for eksempel et grafisk brukergrensesnitt (GUI).

  • Trenger et miljø som bevarer endringer og er fast. Eksempel: Databaser er ikke gode kandidater til å kjøre på beholdere.

  • Krev full isolasjon og sikkerhet.

Når du skal velge en beholder

Bruk en beholder når du:

  • Trenger en lett programpakke som starter raskt.

  • Trenger du å distribuere flere forekomster av én enkelt app – automatisk skalering og/eller vannrett skalering er nødvendig.

  • Må kjøre en app eller prosess som ikke er vedvarende på en behovsbetinget basis.

  • Trenger du å distribuere en app som kan kjøre på en hvilken som helst underliggende infrastruktur.