Cos'è una macchina virtuale?

Le macchine virtuali (VM) sono computer che vengono eseguiti all'interno di altri computer utilizzando un processo noto come virtualizzazione.

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Definire una macchina virtuale
  • Capire il funzionamento della virtualizzazione e dell'hardware virtuale
  • Illustrare diversi casi d'uso per le macchine virtuali

Argomenti correlati


Vuoi saperne di più?

Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.

Fai riferimento all'Informativa sulla privacy di Cloudflare per scoprire come raccogliamo ed elaboriamo i tuoi dati personali.

Copia link dell'articolo

Cos'è una macchina virtuale?

Una macchina virtuale (VM) è un computer basato su software che esiste all'interno del sistema operativo di un altro computer, spesso utilizzato per scopi di test, backup dei dati o esecuzione di applicazioni SaaS. Per capire come funzionano le VM, è importante innanzitutto comprendere come software e hardware di un computer vengono tipicamente integrati da un sistema operativo.

Che cos'è un sistema operativo?

I computer tradizionali sono costruiti con hardware fisico, tra cui dischi rigidi, chip per processori, RAM e altro. Per utilizzare questo hardware, i computer utilizzano un tipo di software noto come sistema operativo (SO). Alcuni esempi comuni di sistemi operativi sono Mac OSX, Microsoft Windows, Linux e Android.

Il sistema operativo gestisce l'hardware del computer rendendolo utilizzabile dall'utente. Ad esempio, se l'utente desidera accedere a Internet, il sistema operativo indica alla scheda di interfaccia di rete di stabilire la connessione. Se l'utente desidera scaricare un file, il sistema operativo allocherà spazio sul disco rigido per quel file. Il sistema operativo esegue e gestisce anche altri componenti software. Ad esempio, può eseguire un browser Web e fornire al browser una quantità sufficiente di memoria ad accesso casuale (RAM) per un funzionamento ottimale.

In genere, i sistemi operativi sono presenti in un computer fisico in rapporto uno a uno. Per ogni macchina, esiste un singolo sistema operativo che ne gestisce le risorse fisiche.

È possibile avere due o più sistemi operativi installati su un unico computer?

È possibile eseguire più sistemi operativi su un unico computer. Questo può essere ottenuto attraverso un processo chiamato virtualizzazione. Nella virtualizzazione, un software si comporta come se fosse un computer indipendente. Questo software è chiamato macchina virtuale, nota anche come computer “guest”. Il computer su cui è in esecuzione la VM è invece detto "host". La macchina guest ha un sistema operativo, così come un proprio hardware virtuale.

"Hardware virtuale" può sembrare un ossimoro In effetti, il "disco rigido" di una macchina virtuale è in realtà solo un file sul disco rigido del computer host Tuttavia, un disco rigido virtuale svolge la stessa funzione di un disco fisico.

Il numero di macchine virtuali eseguibili su un host è limitato solo dalle risorse disponibili dell'host. L'utente può eseguire il sistema operativo di una VM in una finestra come qualsiasi altro programma, oppure può eseguirlo a schermo intero in modo che assomigli a un sistema operativo host autentico.

A cosa servono le macchine virtuali?

I casi d'uso comuni delle macchine virtuali su singoli computer includono:

  • Test: gli sviluppatori di software spesso vogliono testare le proprie applicazioni in ambienti diversi. Possono utilizzare macchine virtuali per eseguire le loro applicazioni in diversi sistemi operativi su un unico computer. Questo è più semplice ed economico rispetto all'esecuzione di test su diverse macchine fisiche.
  • Esecuzione di software progettato per altri sistemi operativi: sebbene alcune applicazioni software siano disponibili solo per una singola piattaforma, una VM può eseguire software progettato per un sistema operativo diverso. Ad esempio, un utente Mac che desidera eseguire un software progettato per Windows, può eseguire una VM Windows sul proprio host Mac.
  • Software obsoleto: alcuni software meno recenti non possono essere eseguiti nei sistemi operativi moderni. Gli utenti che desiderano eseguire queste applicazioni possono eseguire un sistema operativo obsoleto su una macchina virtuale.
  • Isolamento del browser: l'isolamento del browser è la pratica di isolare l'attività del browser Web dal resto del sistema operativo di un computer, al fine di impedire al malware di compromettere altri file e programmi. Alcuni strumenti di isolamento del browser utilizzano macchine virtuali per stabilire tale isolamento, sebbene questo approccio possa rallentare l'attività di navigazione.

In che modo il cloud computing utilizza le macchine virtuali?

Diversi fornitori di servizi cloud offrono macchine virtuali ai propri clienti. Queste macchine virtuali risiedono tipicamente su server potenti che possono fungere da host per più VM e possono essere utilizzate per una varietà di motivi che non sarebbero pratici con una VM ospitata localmente. Questi includono:

  • Esecuzione di applicazioni SaaS: il software-as-a-service, o SaaS in breve, è un metodo basato su cloud per fornire software agli utenti, in cui un'applicazione viene fornita all'utente tramite Internet anziché essere eseguita sui suoi computer. Spesso, sono le macchine virtuali nel cloud a eseguire l'elaborazione per le applicazioni SaaS, oltre a distribuirle agli utenti. Se il fornitore di servizi cloud dispone di un perimetro di rete distribuito geograficamente, l'applicazione verrà eseguita più vicino all'utente, con conseguente miglioramento delle prestazioni.
  • Backup dei dati: i servizi VM basati su cloud sono molto diffusi per il backup dei dati, perché è possibile accedervi da qualsiasi luogo. Inoltre, le VM cloud offrono una migliore ridondanza, richiedono meno manutenzione e, in genere, scalano meglio rispetto ai datacenter fisici. Ad esempio, è relativamente facile acquistare un gigabyte di spazio di archiviazione aggiuntivo da un provider di VM cloud, ma è molto più difficile creare un nuovo server di dati locale per quel gigabyte di dati aggiuntivo.
  • Servizi di hosting come e-mail e gestione degli accessi: l'hosting di questi servizi su VM cloud è generalmente più rapido ed economico e consente anche di ridurre al minimo la manutenzione e di scaricare le preoccupazioni relative alla sicurezza.
  • Isolamento del browser: alcuni strumenti di isolamento del browser utilizzano VM cloud per eseguire attività di navigazione Web e fornire contenuti sicuri agli utenti tramite una connessione Internet protetta

Cloudflare e macchine virtuali

Cloudflare aiuta a proteggere e gestire ogni tipo di implementazione cloud, incluse le VM cloud. I provider SaaS possono utilizzare Cloudflare for SaaS per migliorare le prestazioni delle loro applicazioni, proteggere i domini personalizzati per gli utenti finali e altro ancora.

Inoltre, per gli utenti che desiderano la funzionalità di eseguire codice sul perimetro senza il sovraccarico delle macchine virtuali, la piattaforma Cloudflare Workers, una piattaforma serverless, fornisce ai clienti l'edge computing in modo completamente scalabile, consentendo agli sviluppatori di aumentare le applicazioni esistenti o crearne di completamente nuove senza configurare o mantenere l'infrastruttura.