Wat is een Virtual Machine? Dat is een vraag die je jezelf waarschijnlijk gesteld hebt voordat je op dit artikel bent terechtgekomen. En het is een geheel terechte vraag. Virtual Machines (VM) is een begrip dat je namelijk vaak tegenkomt. Het is dan ook iets dat door veel mensen gebruikt wordt, omdat het erg veelzijdig en handig is om te gebruiken in bepaalde situaties.
Naast Virtual Machines heb je ook nog Dockers (ook wel Containers genoemd). Dit is een begrip dat vaak hand in hand gaat met de Virtual Machine. Ik zal je daarom in dit artikel ook uitleggen wat een Docker is en hoe het zich differentieert van de Virtual Machine.
Bekijk snel
Wat is een computer?
We gaan er van uit dit je dit wel weet, maar laten we even zo beginnen, zodat de uitleg straks wat makkelijker is. Wat is nou eigenlijk een computer? Een computer is een elektronisch apparaat waarop je vooraf bepaalde handelingen mee kunt uitvoeren. Denk bijvoorbeeld aan een desktop, laptop, mobieltje, tablet of zelfs een elektrische fiets.
Deze computers zijn gebouwd door middel van hardware. Over het algemeen is het erg lastig om deze hardware te gebruiken. Daarom is er ooit software bedacht. De software zorgt ervoor dat mensen een computer kunnen gebruiken. Zonder software is de hardware dus eigenlijk onbruikbaar voor de meeste mensen.
Voorbeelden van software zijn Windows, Linux, Mac OS en Android. In deze gevallen spreken we zelfs van Operating Systems (OS). Een OS is software dat er voor zorgt dat mensen de hardware van een computer kunnen gebruiken. Over het algemeen wordt de OS gezien als de belangrijkste software die er is.
Op een OS kun je vervolgens verschillende programma's gebruiken. Denk bijvoorbeeld aan Microsoft Word of Evernote. Dit zijn ook voorbeelden van software, alleen worden deze vormen applicaties genoemd. Het zijn programma's die draaien op de OS.
Wat is een Virtual Machine (VM)?
Een Virtual Machine is een Operating System, dat werkt binnen een Operating System. Het is dus eigenlijk een virtuele computer, die geen hardware bevat. Je kunt een Virtual Machine draaien door middel van een Virtual Machine Manager. Bekende voorbeelden hiervan zijn VirtualBox en VMware.
Het klinkt waarschijnlijk een beetje ingewikkeld, dus laten we eens een voorbeeld geven.
Stel je eens voor dat je een laptop hebt waarop je Windows hebt draaien. Je zou vervolgens VMware kunnen downloaden, waar je 2 verschillende Virtual Machines op zou kunnen zetten: MacOS en Kali Linux. Hierna kun je op je Windows computer, twee virtuele computers gebruiken waar MacOS en Linux op draaien. Het is dan dus ook mogelijk om bepaalde applicaties die alleen beschikbaar zijn van MacOS, te gebruiken op je Windows laptop, mits je een Virtual Machine met MacOS als Operating System hebt.
Waarom zou je een Virtual Machine gebruiken?
Een Virtual Machine wordt meestal gebruikt wanneer gebruikers een bepaalde Operating System nodig hebben om een bepaalde actie te kunnen uitvoeren.
Zo zou je bijvoorbeeld een nieuw OS kunnen proberen, een bepaalde applicatie kunnen testen, of juist een applicatie kunnen gebruiken die alleen beschikbaar is op een oudere OS-versie.
Veel ethical hackers gebruiken bijvoorbeeld een Virtual Machine met Kali Linux. Het is namelijk erg moeilijk om bepaalde programma's te gebruiken op Windows of MacOS als het aankomt op hacken en cyber beveiliging. Deze Operating Systems zijn namelijk erg beperkt in hun doen en laten. Kali Linux een stuk minder. Bepaalde programma's waarmee je een netwerk zou kunnen scannen, zijn alleen beschikbaar voor Linux. Mensen die deze tools willen gebruiken, hoeven vervolgens alleen Kali Linux te downloaden, waarna ze een Linux als Virtual Machine hebben die al meteen vol staat met de meestgebruikte tools voor ethical hacking.
Virtual Machines worden echter ook door grote bedrijven en organisaties gebruikt. Het is namelijk ook mogelijk om Virtual Machines te installeren op servers. Stel dat een bedrijf 1000 mensen in dienst heeft, kan dat bedrijf 1000 Virtual Machines op hun servers installeren. Medewerkers moeten dan op hun laptop inloggen op de Virtual Machine. Hier zitten enkele grote voordelen aan.
Op deze manier zijn de gegevens van het bedrijf namelijk allemaal opgeslagen op hun eigen server. Dit houd in dat ze deze Virtual Machines ook zelf kunnen scannen op bijvoorbeeld virussen en malware. Ook kunnen ze zo veel makkelijker een back-up terugzetten vanuit de server waar de Virtual Machine op staat. Een stuk veiliger dus!
Daarbij kunnen bedrijven hun werknemers zo ook meteen de juiste programma's geven. Normaal gesproken zou een nieuwe werknemers eerst alle nodige programma's moeten downloaden voordat hij aan de slag kan. Bij een Virtual Machine kan een bedrijf deze programma's al vooraf installeren op de VM. Een nieuwe medewerker hoeft dan alleen maar de Virtual Machine te downloaden, en kan meteen aan de slag!
Docker
Iets wat vaak in verband wordt gebracht met een Virtual Machine, is de Docker (ook wel een Container genoemd). Dit komt doordat de functie van beide ongeveer hetzelfde is. Toch zit er een aanzienlijk verschil tussen deze twee begrippen.
Wanneer je een Virtual Machine gebruikt, installeer je altijd de gehele Operating System op je computer of laptop. Vervolgens kun je programma's draaien op de OS van je Virtual Machine. Dit kost over het algemeen veel geheugen, omdat een OS nou eenmaal erg groot is (vaak een aantal GB).
Bij een Docker installeer je niet de Operating System, maar alleen de applicaties die je graag zou willen draaien op een bepaald Operating System. Vervolgens gebruikt het de Operating System van je computer om deze applicaties te kunnen draaien. Hiervoor is het dus niet nodig dat je een speciaal OS download. Zoals je kunt raden, is de grootte van een Docker veel lager dan een Virtual Machine (vaak een paar MB). Een Docker is ook nog eens een stuk sneller, omdat het niet een heel Operating System hoeft op te starten.
Wat zijn de nadelen van een Docker?
De applicaties van een Docker kun je niet op ieder Operating System draaien. De OS van een Virtual Machine, kun je echter wel draaien op iedere OS.
Stel dat je bijvoorbeeld een Docker-applicatie van Linux hebt, dan is deze niet te draaien op een Windows OS. Hiervoor heb je een Docker Toolbox nodig. Een Docker Toolbox zorgt ervoor dat je een applicatie die bedoeld is voor een andere OS, kunt draaien op de huidige OS die je gebruikt.