Virtuelle maskiner og containere er typer af virtualisering, der tillader applikationer at blive implementeret i miljøer, der er isoleret fra den underliggende hardware.

Disse teknologier bruges ofte i store it-projekter for at reducere omkostningerne og gøre det nemmere at implementere programmer på forskellige platforme. En virtuel maskine er også nyttig til at afprøve nye operativsystemer.

Et problem med disse begreber er, at de er meget ens, hvilket gør det svært at vælge imellem dem.

Så hvad er egentlig forskellen mellem en virtuel maskine og en container?

Hvad er en virtuel maskine?

En virtuel maskine er en virtualisering af en computer. Virtuelle maskiner giver dig mulighed for at bruge en enkelt computer til at køre, hvad der ser ud til at være flere computere, hver med sit eget operativsystem.

Virtuelle maskiner oprettes ved hjælp af hypervisorer. Dette er et stykke software, der sidder mellem en VM og den underliggende hardware. Hypervisoren tager ressourcer fra den underliggende hardware og opdeler dem til dedikeret til individuelle VM'er.

instagram viewer

Resultatet er flere miljøer, der bruger den samme hardware, men opfører sig, som om de er fuldstændig isoleret fra hinanden.

Hvad er en container?

En container er ligner en virtuel maskine. Men i stedet for at virtualisere en hel computer, virtualiserer en container kun software over operativsystemniveauet.

Containere er lettere, fordi de ikke har brug for deres egne operativsystemer. For at sætte dette i perspektiv, måles de normalt i megabyte i stedet for de gigabyte, der er forbundet med virtuelle maskiner.

De behøver heller ikke en hypervisor og kan placeres direkte oven på værtsoperativsystemet. Hver container deler derefter værts-OS-kernen.

Selvom de er mindre end virtuelle maskiner, er containere stadig designet til at inkludere alle nødvendige filer for at et program kan køre. De inkluderer alle afhængigheder og runtime-biblioteker. Dette gør det muligt at køre en applikation inde i en container hvor som helst.

Hvad er forskellen mellem en virtuel maskine og container?

Virtuelle maskiner har eksisteret længst, men de er blevet erstattet af containere til nogle formål. Hver teknologi har dog sine egne fordele og ulemper. Det rigtige værktøj til opgaven afhænger derfor af det konkrete projekt. Her er de primære forskelle.

1. Virtuelle maskiner giver et separat OS

På grund af deres eget operativsystem kan virtuelle maskiner udføre en række opgaver, som ikke er mulige med containere.

  • Du kan køre programmer, der ikke er kompatible med værts-OS.
  • Du kan køre flere applikationer i forskellige operativsystemer.
  • Du kan køre flere applikationer, der ikke har råd til at dele operativsystemets funktionalitet og ressourcer.

2. Containere er mindre og mere bærbare

Deling af et operativsystem reducerer i høj grad mængden af ​​kode, der er nødvendig for, at en container kan køre. Containere er derfor væsentligt mindre end VM'er og fylder ofte kun et par megabyte.

Dette gør containere potentielt meget billigere, fordi du kan placere flere af dem på en enkelt server. Det gør også containere betydeligt mere bærbare.

Containere kan nemt overføres mellem computere, computermiljøer og skyen. Dette gør dem særligt nyttige for teams, der ønsker at samarbejde om en enkelt applikation, mens de bruger forskellige miljøer.

3. Containere starter hurtigere op

Containere kan lanceres meget hurtigere, fordi operativsystemet allerede kører, i modsætning til at starte en virtuel maskine, som involverer opstart af et nyt OS.

Containere kan derfor starte op på få sekunder, mens virtuelle maskiner normalt kræver et par minutter.

Fordi containere bruger færre ressourcer, tillader de også nogle applikationer at køre hurtigere.

4. Containere har adgang til alle ressourcer

Virtuelle maskiner har specifikke ressourcer tildelt dem af hypervisoren. Dette kan være nyttigt til ressourcekrævende applikationer, men det kan også være ineffektivt, når tildelte ressourcer efterlades ubrugte.

Containere har adgang til alle de underliggende hardwareressourcer og udgør derfor ikke dette problem. Som et resultat er containere normalt det bedre valg til applikationer, hvor de nødvendige ressourcer er ukendte.

5. Virtuelle maskiner er mere sikre

En virtuel maskine er fuldstændig isoleret fra alt andet på en computer. En beholder er kun isoleret på procesniveau. Dette gør virtuelle maskiner mere sikre.

Hvis værtsoperativsystemet er kompromitteret, kan alle de containere, der er installeret over det, også blive kompromitteret. I samme scenarie ville virtuelle maskiner være upåvirket.

En udnyttelse, der kører inde i en virtuel maskine, kan ikke påvirke noget uden for den. En udnyttelse, der kører inde i en container, kan potentielt få adgang til resten af ​​et system.

Skal du bruge en virtuel maskine eller en container?

Virtuelle maskiner og containere minder meget om hinanden, men de er ikke udskiftelige. Som følge heraf vil nogle projekter tilbyde et valg mellem de to, mens andre ikke vil.

Du bør bruge en virtuel maskine, når du vil køre programmer, der specifikt kræver et nyt OS. For eksempel understøtter værtsoperativsystemet muligvis ikke applikationen.

En virtuel maskine bør også bruges, når isolation og sikkerhed prioriteres over alt andet.

I de fleste andre scenarier vil en container give en lettere, hurtigere og mere omkostningseffektiv løsning.

Kan du bruge virtuelle maskiner og containere sammen?

Ønsker du funktionaliteten af ​​både virtuelle maskiner og containere, er det muligt at kombinere de to. I dette tilfælde starter du en virtuel maskine og implementerer derefter containere inde i den.

Dette er især nyttigt af sikkerhedsmæssige årsager. Forestil dig for eksempel, at du kører ti containere på en enkelt computer. Hvis computerens OS er kompromitteret, kan alle ti containere blive påvirket.

Forestil dig nu, at du deler de ti containere på tværs af flere virtuelle maskiner. Hvis en af ​​disse VM'er kompromitteres, vil kun beholderne inde i den blive påvirket, og resten vil fungere som normalt.

Erstatter containere virtuelle maskiner?

Containere bliver mere og mere populære og med god grund. De opnår mange af de samme mål som virtuelle maskiner, men alligevel gør de det til en brøkdel af størrelsen og potentielle omkostninger.

På trods af dette er der mange situationer, hvor kun en virtuel maskine vil levere den ønskede funktionalitet, hvilket betyder, at VM'er, uanset deres størrelse, altid vil blive brugt i et vist omfang.

DelTweetE-mail
Sådan installeres Linux i Windows med en VMware Virtual Machine

Vil du installere Linux, men kan ikke forlade Windows? Prøv en virtuel maskine til at køre din yndlingsversion af Linux inde i Windows. Vi viser dig, hvordan du opsætter VMware Workstation Player.

Læs Næste

Relaterede emner
  • Teknologi forklaret
  • VirtualBox
  • Virtuel maskine
  • Virtualisering
  • Webserver
Om forfatteren
Elliot Nesbo (41 artikler udgivet)

Elliot er en freelance tech-skribent. Han skriver primært om fintech og cybersikkerhed.

Mere fra Elliot Nesbo

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!

Klik her for at abonnere