Sia le macchine virtuali (VM), sia i container utilizzano la virtualizzazione per creare ambienti isolati destinati all'esecuzione delle applicazioni. La differenza principale sta nella granularità della virtualizzazione offerta: le prime virtualizzano a livello di sistema operativo/computer, mentre i secondi virtualizzano a livello di software.