Macchina virtuale
Una macchina virtuale (o "VM") è un sistema informatico emulato creato utilizzando software. Utilizza risorse di sistema fisiche, come la CPU, la RAM e lo spazio di archiviazione su disco, ma è isolata dagli altri software presenti nel computer. Può essere creata, modificata o eliminata facilmente senza influire sul computer host.
Le macchine virtuali offrono funzionalità simili a quelle delle macchine fisiche, ma non vengono eseguite direttamente sull'hardware. Esiste invece un livello software tra l'hardware e la macchina virtuale. Il software che gestisce una o più VM si chiama "hypervisor" e le VM sono chiamate "guest" o istanze virtualizzate. Ogni guest può interagire con l'hardware, ma l'hypervisor ne controlla l'accesso. L'hypervisor può avviare e arrestare le macchine virtuali e anche assegnare a ciascuna una quantità specifica di risorse di sistema.
È possibile creare una macchina virtuale utilizzando software di virtualizzazione. Alcuni esempi sono Microsoft Hyper-V Manager, VMware Workstation Pro e Parallels Desktop. Queste applicazioni consentono di eseguire più VM su un singolo computer. Ad esempio, Parallels Desktop per Mac consente di eseguire macchine virtuali con Windows, Linux e macOS sul Mac.
Le VM sono ideali per testare il software, poiché gli sviluppatori possono installare una o più applicazioni e tornare a uno stato salvato, o "snapshot", ogni volta che è necessario. Testare il software su un normale sistema operativo può causare arresti anomali imprevisti e può lasciare alcuni file dopo la disinstallazione del software. È più sicuro testare il software su una macchina virtuale isolata dal sistema operativo e che può essere completamente reimpostata quando necessario.
Macchine virtuali basate sul cloud
Con la crescente popolarità dei servizi cloud, anche le VM basate sul cloud sono diventate sempre più diffuse. Le "istanze cloud", come vengono spesso chiamate, vengono eseguite su un computer a cui si accede tramite Internet. La VM viene spesso controllata tramite un browser web o un'utilità di accesso remoto. Le VM basate sul cloud sono un modo comune per le aziende di testare le distribuzioni software, poiché consentono di eseguire test su decine di macchine senza ospitare le VM localmente.
Metti alla prova le tue conoscenze