Home
topics
Cos'è la virtualizzazione?
La virtualizzazione è un processo che consente un utilizzo più efficiente dell'hardware del computer fisico ed è alla base del cloud computing.
La virtualizzazione utilizza il software per creare un livello di astrazione sull'hardware del computer, che consente agli elementi hardware di un singolo computer - processori, memoria, storage e altro ancora - di essere suddivisi in più computer virtuali comunemente detti macchine virtuali (virtual machine, VM). Ogni macchina virtuale esegue il proprio sistema operativo e funziona come un computer indipendente, anche se è in esecuzione su una parte dell'hardware del computer sottostante effettivo.
Di conseguenza, la virtualizzazione consente un utilizzo più efficiente dell'hardware del computer e un maggiore ROI dell'hardware di un'organizzazione.
Oggi, la virtualizzazione è una prassi standard nell'architettura IT aziendale. È anche la tecnologia alla base dell'economia del cloud computing. La virtualizzazione consente ai provider cloud di soddisfare le esigenze degli utenti con il loro hardware del computer fisico esistente; consente agli utenti cloud di acquistare solo i servizi di calcolo di cui hanno bisogno e quando ne hanno bisogno e di eseguire la scalabilità di tali risorse in modo efficiente in termini di costi man mano che i loro carichi di lavoro crescono.
La virtualizzazione offre diversi vantaggi agli operatori di data center e ai provider di servizi:
Per un ulteriori dettagli sui potenziali vantaggi, vedi "5 vantaggi della virtualizzazione".
Diverse aziende offrono soluzioni di virtualizzazione che coprono attività specifiche del data center o scenari di virtualizzazione desktop incentrati sull'utente finale. Gli esempi più noti includono VMware, specializzato nella virtualizzazione di server, desktop, reti e storage; Citrix, che si è ritagliata una nicchia nella virtualizzazione delle applicazioni, ma offre anche soluzioni di virtualizzazione dei server e desktop virtuali; e Microsoft, la cui soluzione di virtualizzazione Hyper-V viene fornita con Windows e si concentra su versioni virtuali di computer server e desktop.
Le VM (virtual machine) sono ambienti virtuali che simulano un computer fisico in formato software. Normalmente comprendono diversi file che contengono la configurazione della VM, lo storage per l'unità disco virtuale e qualche snapshot della VM per preservarne lo stato a uno specifico punto temporale.
Per una panoramica completa delle VM, vedi "Cos'è una VM (virtual machine)?"
Un hypervisor è il livello software che coordina le VM. Funge da interfaccia tra la VM e l'hardware fisico sottostante, garantendo che ciascuna abbia accesso alle risorse fisiche di cui ha bisogno per essere eseguita. Garantisce inoltre che le VM non interferiscano l'una con l'altra incidendo sullo spazio di memoria o sui cicli di calcolo reciproci.
Esistono due tipi di hypervisor:
"Hypervisor: una guida completa" fornisce una panoramica completa di tutto ciò che riguarda gli hypervisor.
Finora abbiamo discusso della virtualizzazione dei server, ma molti altri elementi dell'infrastruttura IT possono essere virtualizzati per offrire vantaggi significativi ai gestori dell'IT (in particolare) e all'azienda nel suo insieme. In questa sezione, tratteremo i seguenti tipi di virtualizzazione:
La virtualizzazione del desktop consente di eseguire più sistemi operativi desktop, ciascuno nella propria VM sullo stesso computer.
Esistono due tipi di virtualizzazione del desktop:
Per ulteriori informazioni sui desktop virtuali, vedi "DaaS (Desktop-as-a-Service)".
La virtualizzazione della rete utilizza il software per creare una "vista" della rete che un amministratore può utilizzare per gestire la rete da un'unica console. Astrae gli elementi e le funzioni hardware (ad es. connessioni, switch, router ecc.) come software in esecuzione su un hypervisor. L'amministratore di rete può modificare e controllare questi elementi senza toccare i componenti fisici sottostanti, il che semplifica notevolmente la gestione della rete.
I tipi di virtualizzazione della rete includono SDN (software-defined networking), che virtualizza l'hardware che controlla l'instradamento del traffico di rete (chiamato il "piano di controllo"), e NFV (network function virtualization), che virtualizza una o più appliance hardware che forniscono una specifica funzione di rete (ad esempio un firewall, un programma di bilanciamento del carico o un analizzatore del traffico), rendendo più facile eseguire la configurazione, il provisioning e la gestione di tali appliance.
La virtualizzazione dello storage consente di accedere a tutti i dispositivi di storage sulla rete e di gestirli come un singolo dispositivo di storage, siano essi installati su singoli server o unità di storage autonome. Nello specifico, la virtualizzazione dello storage riunisce tutti i blocchi di storage in un singolo pool condiviso da cui è possibile assegnarli a qualsiasi VM sulla rete come necessario. La virtualizzazione dello storage semplifica il provisioning dello storage per le macchine virtuali e sfrutta al massimo tutto lo storage disponibile sulla rete.
Per uno sguardo più ravvicinato alla virtualizzazione dello storage, vedi "Cos'è lo storage su cloud?"
Le aziende moderne archiviano i dati da più applicazioni, utilizzando più formati di file, in più ubicazioni, dal cloud ai sistemi hardware e software on-premise. La virtualizzazione dei dati consente a qualsiasi applicazione di accedere a tali dati, indipendentemente dall'origine, dal formato o dalla posizione.
Gli strumenti di virtualizzazione dei dati creano uno livello software tra le applicazioni che accedono ai dati e i sistemi che li archiviano. Il livello converte la richiesta o la query di dati di un'applicazione come necessario e restituisce risultati che possono estendersi a più sistemi. La virtualizzazione dei dati può aiutare ad abbattere i silos di dati quando altri tipi di integrazione non sono fattibili, desiderabili o convenienti.
La virtualizzazione delle applicazioni esegue il software applicativo senza installarlo direttamente sul sistema operativo dell'utente. Questo differisce dalla completa virtualizzazione del desktop (menzionata precedentemente) perché solo l'applicazione viene eseguita in un ambiente virtuale - il sistema operativo e il dispositivo dell'utente finale vengono eseguiti come di consueto. Esistono tre tipi di virtualizzazione dell'applicazione:
La virtualizzazione del data center astrae la maggior parte dell'hardware di un data center in software, consentendo in modo efficace a un amministratore di dividere un singolo data center fisico in più data center virtuali per client diversi.
Ogni client può accedere a una sua IaaS (Infrastructure as a Service), che viene eseguita sullo stesso hardware fisico sottostante. I data center virtuali offrono una facile rampa di accesso al calcolo basato sul cloud, consentendo a un'azienda di configurare rapidamente un ambiente di data center completo senza acquistare hardware di infrastruttura.
La virtualizzazione della CPU (central processing unit) è la tecnologia fondamentale che rende possibili hypervisor, macchine virtuali e sistemi operativi. Consente di suddividere una singola CPU in più CPU virtuali per l'utilizzo da parte di più VM.
Inizialmente, 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, il che migliora le prestazioni della VM.
Una GPU (graphical processing unit) è un processore multi-core che migliora le prestazioni di calcolo complessive occupandosi dell'elaborazione grafica o matematica più impegnativa in termini di risorse. La virtualizzazione della GPU consente a più VM di utilizzare, completamente o parzialmente, la potenza di elaborazione di una singola GPU per applicazioni video, di AI e di altro tipo a uso intensivo di grafica e matematica più rapide.
Linux include un suo hypervisor, chiamato KVM (kernel-based virtual machine), che supporta le estensioni di processore di virtualizzazione di Intel e AMD consentendoti così di creare delle VM basate su x86 dall'interno di un sistema operativo host Linux.
In quanto sistema operativo open source, Linux è altamente personalizzabile. Puoi creare delle VM che eseguono versioni di Linux personalizzate per specifici carichi di lavoro o versioni con sicurezza avanzata per le applicazioni più sensibili.
Come osservato in precedenza, il modello di cloud computing dipende dalla virtualizzazione. Virtualizzando server, storage e altre risorse fisiche dei data center, i provider di cloud computing possono offrire una gamma di servizi ai clienti, tra cui i seguenti:
Se desideri saperne di più su questi modelli di servizi cloud, consulta la nostra guida: "Confronto tra IaaS, PaaS e SaaS".
La virtualizzazione del server riproduce un intero computer nell'hardware, che quindi esegue un intero sistema operativo. Il sistema operativo esegue una singola applicazione. Ciò è più efficiente di una virtualizzazione pari a zero ma continua a duplicare codice e servizi non necessari per ciascuna applicazione che desideri eseguire.
I container adottano un approccio alternativo. Condividono un kernel del sistema operativo sottostante, eseguendo solo l'applicazione e gli elementi da cui dipende, come le librerie software e le variabili di ambiente. Questo rende i container più piccoli e più veloci da implementare.
Per approfondire i concetti di container e containerizzazione, vedi "Container: una guida completa" e "Containerizzazione: una guida completa".
Per un confronto più ravvicinato, vedi il post del blog "Confronto tra container e VM: qual è la differenza?".
VMware crea software di virtualizzazione. VMware ha iniziato offrendo solo la virtualizzazione dei server - il suo hypervisor ESX (ora ESXi) è stato uno dei primi prodotti di virtualizzazione di successo dal punto di vista commerciale. Oggi VMware offre anche soluzioni per la virtualizzazione di rete, storage e desktop.
Per un approfondimento su tutto ciò che riguarda VMware, guarda "VMware: una guida completa."
La virtualizzazione offre alcuni vantaggi in termini di sicurezza. Ad esempio, le VM infettate da malware possono essere riportate a un punto temporale (detto snapshot) in cui non erano infette ed erano stabili; possono anche essere più facilmente eliminate e ricreate. Non sempre puoi rimuovere le infezioni da un sistema operativo non virtualizzato poiché il malware è spesso integrato in profondità nei componenti principali del sistema operativo, continuando a essere presente anche dopo i rollback di sistema.
La virtualizzazione presenta anche alcune sfide in materia di sicurezza. Se un aggressore compromette un hypervisor, potenzialmente possiede tutte le VM e tutti i sistemi operativi guest. Poiché gli hypervisor possono anche consentire alle VM di comunicare tra loro senza toccare la rete fisica, può essere difficile intercettarne il traffico e quindi rilevare attività sospette.
Anche un hypervisor di tipo 2 su un sistema operativo host è suscettibile di compromissione del sistema operativo host.
Il mercato offre una gamma di prodotti per la sicurezza della virtualizzazione in grado di scansionare le VM alla ricerca di malware e applicarvi patch, crittografare interi dischi virtuali delle VM e controllare e verificare l'accesso alle VM.
Modernizza senza soluzione di continuità i tuoi carichi di lavoro e le tue applicazioni VMware con IBM Cloud.
Ottieni un'unica vista di dati eterogenei senza spostamento di dati. Gestisci i dati con minore complessità e rischio di errori.
Semplifica il tuo cloud ibrido con la virtualizzazione dello storage. Centralizza le risorse di storage, estendi i servizi di dati e aumenta la mobilità dei dati - senza mettere a rischio i tuoi dati.
Una VM (virtual machine) è una rappresentazione virtuale, o emulazione, di un computer fisico. La virtualizzazione consente di creare più VM su un singolo computer fisico.
Gli hypervisor rendono possibile la virtualizzazione consentendo l'esecuzione di più istanze del sistema operativo l'una accanto all'altra sulle stesse risorse di elaborazione fisica.
Il cloud computing trasforma l'infrastruttura IT in un programma di utilità, consentendoti di "collegarti" a risorse e applicazioni di calcolo su Internet, senza doverle installare e gestire on-premise.