La virtualizzazione è una tecnologia che permette di creare ambienti virtuali da una singola macchina fisica, consentendo un uso più efficiente delle risorse distribuendole tra gli ambienti informatici.
Utilizzando il software, la virtualizzazione crea uno strato di astrazione sull'hardware del computer, dividendo i componenti di un singolo sistema come processori, memoria, reti e storage in più macchine virtuali (VM). Ogni VM esegue il proprio sistema operativo (OS) e si comporta come un computer fisico separato, pur condividendo lo stesso hardware sottostante.
Oggi, la virtualizzazione è una pratica fondamentale nell'architettura IT aziendale e un fattore chiave per il cloud computing. Permette ai provider di servizi cloud (CSP) come IBM Cloud e Microsoft Azure, di utilizzare al meglio la loro infrastruttura IT per fornire risorse scalabili. Per le aziende, ciò significa acquistare solo le risorse di calcolo di cui hanno bisogno e poi scalarle in modo conveniente man mano che i workload aumentano, massimizzando così l'investimento.
Newsletter di ricerca
Scopri le ricerche emergenti in materia di AI, informatica quantistica, hybrid cloud e altro dagli esperti IBM con la newsletter mensile Future Forward. Leggi l'Informativa sulla privacy IBM.
L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.
L'emergere della tecnologia di virtualizzazione risale al 1964, quando IBM lanciò CP-40, un progetto di ricerca di condivisione temporale per l'IBM System/360. CP-40 si è poi evoluto in CP-67, che ha influenzato Unix, uno dei primi sistemi operativi multiutente e time-sharing che ha spianato la strada a tecnologie moderne di virtualizzazione come le macchine virtuali. Nel 1972, IBM ha annunciato il suo primo prodotto ufficiale di macchina virtuale, VM/370, per System/370.
Nel 1998, VMware ha sviluppato un sistema operativo x86 che permetteva di segmentare una singola macchina in diverse macchine virtuali, ognuna con il proprio sistema operativo. Nel 1999, l'azienda ha lanciato VM Workstation 1.0, il primo prodotto commerciale che consentiva agli utenti di eseguire più sistemi operativi come macchine virtuali su un singolo PC. Questo prodotto è diventato popolare tra gli sviluppatori di software grazie alla sua capacità di testare e sviluppare facilmente applicazioni in diversi ambienti OS.
Secondo una previsione di The Business Research Company, il mercato dei software di virtualizzazione crescerà da 85,83 miliardi di USD nel 2024 a 100,19 miliardi di USD nel 2025 con un tasso di crescita annuo composto (CAGR) del 16,7%.1
I progressi nell'edge computing, nella containerizzazione, nell'adozione dell'hybrid cloud e del multicloud, l'attenzione crescente alla sicurezza e alla conformità stanno guidando questa crescita. Altre tendenze emergenti che contribuiscono al mercato della virtualizzazione includono l'Integrazione dell'Internet of Things (IoT), AI e machine learning (ML).
La virtualizzazione offre numerosi benefici sia ai data center on-premise che basati su cloud che supportano le operazioni IT, tra cui i seguenti:
Prima della virtualizzazione, il personale IT assegnava a ciascun server di applicazione un'unità centrale di elaborazione (CPU) fisica dedicata, installando un server separato per ogni applicazione. Questo approccio, che privilegia un'applicazione e un sistema operativo per computer, è stato adottato per la sua affidabilità. Tuttavia, ogni server fisico veniva spesso sottoutilizzato.
Al contrario, la virtualizzazione dei server permette di eseguire più applicazioni, ciascuna con la propria VM e sistema operativo, su un unico server fisico (tipicamente un x86 server) senza sacrificare l'affidabilità. Questa funzionalità massimizza l'uso della capacità di calcolo dell'hardware fisico e ottimizza l'utilizzo delle Risorse.
Sostituire i computer fisici con VM definite dal software rende più semplice la gestione e l'applicazione delle politiche tramite software. Questo consente la creazione di workflow automatizzati per la gestione dei servizi IT. Ad esempio, gli strumenti di implementazione e configurazione automatizzati permettono agli amministratori di definire macchine virtuali e applicazioni come servizi in template software, che possono implementare costantemente senza configurazione manuale.
Inoltre, le politiche di sicurezza della virtualizzazione possono imporre configurazioni di sicurezza basate sul ruolo della macchina virtuale. Queste politiche possono anche aumentare l'efficienza delle risorse disattivando le macchine virtuali inutilizzate, risparmiando spazio e potenza di calcolo.
I malfunzionamenti di un sistema operativo e di un'applicazione possono causare tempi di inattività, compromettendo la produttività degli utenti. La virtualizzazione consente agli amministratori di eseguire più VM ridondanti insieme e di fare failover tra di esse quando si verificano problemi. Gestire più server fisici ridondanti sarebbe molto più costoso.
Configurare l'hardware per ogni applicazione può richiedere tempo. Tuttavia, se l'hardware è già in posizione, il provisioning delle macchine virtuali per eseguire applicazioni è significativamente più veloce. Il software di gestione delle VM può ora automatizzare questo processo, semplificando i workflow.
La virtualizzazione ottimizza il disaster recovery consentendo un rapido ripristino dei servizi con tempi di inattività minimi. Poiché le macchine virtuali possono essere facilmente spostate, replicate o salvate, ripristinare i sistemi allo stato operativo è più veloce ed efficiente rispetto ai server fisici tradizionali.
La virtualizzazione aiuta a ridurre i costi di acquisizione, manutenzione e consumo energetico dell'hardware. Consolidare i server fisici nelle macchine virtuali riduce la necessità di hardware aggiuntivo, risparmiando sia spese di capitale che operative.
Per un'analisi più approfondita dei benefici della virtualizzazione, vedi "5 benefici della virtualizzazione."
La virtualizzazione si basa su diversi componenti chiave per creare e gestire ambienti virtuali. Ognuna svolge un ruolo fondamentale nel garantire un'allocazione efficace delle risorse affinché più VM possano funzionare contemporaneamente senza interferenze.
La macchina fisica, chiamata anche "macchina host", è l'hardware (ad esempio, server o computer) che fornisce CPU, memoria, storage e risorse di rete per le macchine virtuali.
Una macchina virtuale (VM) è un ambiente virtuale che simula un computer fisico in formato software. Le VM sono solitamente chiamate guest, ovvero una o più macchine "guest" in esecuzione su una macchina host.
Le macchine virtuali tipicamente consistono in diversi file, inclusa la configurazione, storage per il disco rigido virtuale e altre dipendenze. Condividendo le risorse di sistema tra macchine virtuali, la virtualizzazione offre scalabilità su richiesta, efficienza e risparmi sui costi.
Un hypervisor è il livello software che coordina le VM. Serve da interfaccia tra la VM e l'hardware fisico sottostante, assicurando che ciascuna abbia accesso alle risorse fisiche necessarie per l'esecuzione. Inoltre, garantisce che le macchine virtuali non interferiscano l'una con l'altra, interferendo con lo spazio di memoria o i cicli di calcolo dell'altra.
Esistono due tipi di hypervisor:
Gli hypervisor di tipo 2 vengono eseguiti come applicazione su un sistema operativo esistente. Più comunemente utilizzati sui dispositivi endpoint per eseguire sistemi operativi alternativi, comportano un sovraccarico di prestazioni perché devono utilizzare il sistema operativo host per accedere e coordinare le risorse hardware sottostanti.
Oltre alla virtualizzazione dei server, molti tipi diversi di infrastruttura IT possono essere virtualizzati per offrire vantaggi significativi ai responsabili IT in particolare e all'azienda nel suo complesso. Questi tipi di virtualizzazione includono:
La virtualizzazione desktop permette di eseguire più sistemi operativi desktop, ciascuno nella propria VM sullo stesso computer.
Esistono due tipi di virtualizzazione del desktop:
Per maggiori informazioni sui desktop virtuali, consulta "Cos'è il desktop come servizio (DaaS)?"
La virtualizzazione di rete utilizza software per creare una "vista" della rete che un amministratore può utilizzare per gestire la rete da una singola console. Astrae elementi e funzioni hardware (ad esempio, connessioni, switch, router) e li astrae in software che gira su un hypervisor. L'amministratore della rete virtuale può modificare e controllare questi elementi senza toccare i componenti fisici sottostanti, il che semplifica notevolmente la gestione della rete.
I tipi di virtualizzazione di rete includono:
La storage virtualization consente di accedere e gestire tutti i dispositivi di storage sulla rete, sia che siano installati su singoli server che su unità di storage autonome, come un unico dispositivo di storage. In particolare, la storage virtualization consolida tutti i blocchi di storage in un unico pool condiviso da cui possono essere assegnati a qualsiasi VM della rete secondo necessità. Storage virtualization facilita il provisioning di storage per le VM e sfrutta al massimo tutto lo storage disponibile sulla rete.
I fornitori di servizi cloud si affidano alla virtualizzazione dello storage per offrire servizi cloud storage , inclusi block storage, object storage e file storage.
Le aziende moderne memorizzano dati provenienti da più applicazioni utilizzando molteplici formati di file in numerose località, che vanno dal cloud ai sistemi hardware e software on-premise. La virtualizzazione dei dati permette a qualsiasi applicazione di accedere a tutti questi dati, indipendentemente da origine, formato o posizione.
Gli strumenti di virtualizzazione dei dati creano un livello software tra le applicazioni che accedono ai dati e i sistemi che li memorizzano. Il livello traduce la richiesta o l'interrogazione di dati di un'applicazione secondo le necessità e restituisce risultati che possono spaziare su più sistemi. La virtualizzazione dei dati aiuta a rompere i silos di dati quando gli altri tipi di integrazione non sono fattibili, desiderabili o accessibili.
La virtualizzazione esegue applicazione software senza installarla direttamente sul sistema operativo dell'utente. Questa tecnologia si differenzia dalla virtualizzazione completa del desktop perché solo l'applicazione funziona in un ambiente virtuale, mentre il sistema operativo sul dispositivo dell'utente finale funziona normalmente.
Esistono tre tipi di virtualizzazione delle applicazioni:
La virtualizzazione dei data center astrae la maggior parte dell'hardware di un data center in software, consentendo di fatto a un amministratore di dividere un singolo data center fisico in più data center virtuali per clienti diversi.
Ogni cliente può accedere alla propria infrastruttura come servizio (IaaS), che verrà eseguita sullo stesso hardware fisico sottostante. I data center virtuali offrono un facile accesso al cloud computing, permettendo a un'azienda di configurare rapidamente un ambiente di data center completo senza acquistare hardware infrastrutturale.
La virtualizzazione delle unità di elaborazione centrale (CPU) è la tecnologia fondamentale che rende possibili hypervisor, macchine virtuali e diversi sistemi operativi. Permette di suddividere una singola CPU in più CPU virtuali per l'uso da più VM.
All'inizio, la virtualizzazione della CPU era interamente definita dal software, ma molti dei processori odierni includono set di istruzioni estesi che supportano la virtualizzazione della CPU, migliorando così le prestazioni delle VM.
Un'unità di elaborazione grafica (GPU) è un processore multi-core speciale che migliora le prestazioni complessive di calcolo assumendo il controllo di elaborazioni grafiche o matematiche di grande impegno. La virtualizzazione delle GPU consente a più macchine virtuali di utilizzare tutta o parte della potenza di elaborazione di una singola GPU per velocizzare le applicazioni video, AI e altre applicazioni grafiche o matematiche ad alta intensità.
I due principali tipi di GPU negli ambienti virtualizzati sono:
Linux include un proprio hypervisor, la macchina virtuale basata sul kernel (KVM), che supporta le estensioni dei processori di virtualizzazione di Intel e AMD per creare VM basate su x86 all'interno di un sistema operativo host Linux.
Come sistema operativo open source, Linux è altamente personalizzabile. Può creare delle macchine virtuali che eseguono versioni di Linux personalizzate per workload specifici o versioni protette per applicazioni più sensibili.
Virtualizzando server, storage e altre risorse fisiche dei data center, i fornitori di cloud computing possono offrire una gamma di servizi ai clienti, tra cui i seguenti:
Per saperne di più su questi modelli di servizi cloud, consulta la nostra pagina argomenti: "IaaS, PaaS e SaaS."
La virtualizzazione dei server riproduce un intero computer in hardware, che poi esegue un intero sistema operativo. Il sistema operativo esegue un'unica applicazione. È più efficiente rispetto a nessuna virtualizzazione, ma duplica comunque codice e servizi inutili per ogni applicazione che vuoi eseguire.
I container adottano un approccio alternativo. Condividono un kernel operativo sottostante, eseguendo solo l'applicazione e le sue dipendenze, come librerie software e variabili di ambiente. Questa caratteristica rende i container più piccoli e più rapidi da distribuire.
Consulti il post sul blog "Container e macchine virtuali: qual è la differenza?". per un confronto più approfondito.
Questo video, "Che cos'è la containerizzazione", spiega i principi fondamentali della containerizzazione e come si confronta con la virtualizzazione attraverso VM.
La virtualizzazione offre numerosi benefici per la sicurezza. Ad esempio, le VM infettate da malware possono essere riportate indietro a un momento temporale (chiamato snapshot) in cui la VM era non infetta e stabile, così da poter essere cancellate e ricreate più facilmente. Non è sempre possibile disinfettare un sistema operativo non virtualizzato perché il malware è spesso profondamente integrato nei componenti principali del sistema operativo e persiste anche dopo i rollback del sistema.
Le caratteristiche di sicurezza per proteggere le macchine virtuali e l'hardware fisico sottostante includono i controlli di accesso, gli aggiornamenti regolari, la segmentazione della rete e la crittografia. Inoltre, le soluzioni di sicurezza basate su software forniscono strumenti di monitoraggio delle macchine virtuali che affrontano la conformità, il rilevamento delle minacce e altro ancora.
Numerose aziende offrono soluzioni di virtualizzazione specializzate su misura per diversi casi d'uso, inclusa virtualizzazione di server, desktop e applicazioni. Di seguito sono elencate alcune delle soluzioni più importanti nel marketplace:
Red Hat OpenShift on IBM Cloud è una OpenShift Container Platform (OCP) completamente gestita.
Virtualizzazione dello storage sicura, affidabile ed efficiente per ambienti VMware con IBM Spectrum Virtualize.
Trova la soluzione di infrastruttura cloud adatta alle esigenze della tua azienda e scala le risorse on-demand.