Virtualization
sfondo nero e blu
Cos'è la virtualizzazione?

La virtualizzazione è un processo che consente un utilizzo più efficiente dell'hardware del computer fisico ed è alla base del cloud computing.

Il software di virtualizzazione crea 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 denominati macchine virtuali (virtual machine, VM). Ogni macchina virtuale esegue il proprio OS (operating system - 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 return of investment nell'hardware di un'organizzazione.

Oggi la virtualizzazione è una pratica standard nell'architettura IT aziendale. È anche la tecnologia che guida l'economia del cloud computing. La virtualizzazione consente ai provider cloud di erogare servizi agli utenti con l'hardware fisico esistente; consente agli utenti del cloud di acquistare solo le risorse informatiche di cui hanno bisogno quando ne hanno bisogno e di ridimensionare tali risorse in modo conveniente man mano che i loro carichi di lavoro crescono.

Per un'ulteriore panoramica di come funziona la virtualizzazione, guarda il nostro video "Virtualization Explained":

Prodotti in evidenza

IBM Cloud Virtual Servers


Vantaggi della virtualizzazione

La virtualizzazione offre diversi vantaggi agli operatori di data center e ai provider di servizi:

  • Efficienza delle risorse: Prima della virtualizzazione, ogni server applicativo richiedeva la propria CPU fisica dedicata: il personale IT acquistava e configurava un server separato per ogni applicazione che desiderava eseguire. (L'IT ha preferito un'applicazione e un sistema operativo (SO) per computer per motivi di affidabilità.) Invariabilmente, ogni server fisico veniva sottoutilizzato. Al contrario, la virtualizzazione dei server consente di eseguire diverse applicazioni, ciascuna sulla propria VM con il proprio sistema operativo, su un singolo computer fisico (in genere un server x86) senza sacrificare l'affidabilità. Ciò consente il massimo sfruttamento della capacità di elaborazione dell'hardware fisico.
  • Gestione semplificata: La sostituzione dei computer fisici con le VM definite tramite software semplifica l'utilizzo e la gestione delle politiche scritte nel software. Ciò consente di creare flussi di lavoro automatizzati per la gestione dei servizi IT. Ad esempio, gli strumenti di distribuzione e configurazione automatizzati consentono agli amministratori di definire raccolte di macchine virtuali e applicazioni come servizi, in modelli software. Ciò significa che possono installare questi servizi ripetutamente e in modo coerente senza dispendiose perdite di tempo. e impostazioni manuali soggette ad errori. Gli amministratori possono utilizzare i politiche di sicurezza della virtualizzazione per imporre determinate configurazioni di sicurezza in base al ruolo della macchina virtuale. Le politiche possono inoltre aumentare l'efficienza delle risorse consentendo di ritirare le macchine virtuali inutilizzate per risparmiare spazio e potenza di calcolo.
  • Tempi di inattività minimi: Gli arresti anomali del sistema operativo e delle applicazioni possono causare tempi di inattività e interrompere la produttività degli utenti. Gli amministratori possono eseguire più macchine virtuali ridondanti una accanto all'altra e, in caso di problemi, eseguirne il failover. L'esecuzione di più server fisici ridondanti è più costosa.
  • Provisioning più rapido: L'acquisto, l'installazione e la configurazione dell'hardware per ogni applicazione richiedono molto tempo. A condizione che l'hardware sia già installato, il provisioning delle macchine virtuali per eseguire tutte le applicazioni è notevolmente più veloce. Puoi persino automatizzarlo utilizzando il software di gestione e integrarlo nei flussi di lavoro esistenti.

Per un ulteriori dettagli sui potenziali vantaggi, vedi "5 Vantaggi della virtualizzazione."


Soluzioni

Diverse aziende offrono soluzioni di virtualizzazione che coprono attività specifiche del data center o scenari di virtualizzazione desktop incentrati sull'utente finale. 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.


Macchine virtuali (VM)

Le macchine virtuali (VM) sono ambienti virtuali che simulano un'elaborazione fisica in forma software. Normalmente comprendono diversi file contenenti la configurazione della VM, l'archiviazione per il disco rigido virtuale e alcune istantanee della VM che ne preservano lo stato in un determinato momento.

Per una panoramica completa sulle VM, vedi "Cos'è una Macchina Virtuale?"


Hypervisor

Un hypervisor è il livello software che coordina le VM. Funge da interfaccia tra la VM e l'hardware fisico sottostante, garantendo che ciascuno abbia accesso alle risorse fisiche necessarie per l'esecuzione. Garantisce inoltre che le macchine virtuali non interferiscano l'una con l'altra incidendo sullo spazio di memoria o sui cicli di calcolo reciproci.

Esistono due tipi di hypervisor:

  • Tipo 1 o hypervisor "bare-metal" interagisce con le risorse fisiche sottostanti, sostituendo del tutto il sistema operativo tradizionale. Si presentano più comunemente in scenari con server virtuale.
  • Tipo di Hypervisor 2 viene eseguito come applicazione su un sistema operativo esistente. Più comunemente utilizzati sui dispositivi endpoint per eseguire sistemi operativi alternativi, comportano un sovraccarico delle prestazioni perché devono utilizzare il sistema operativo host per accedere e coordinare le risorse hardware sottostanti.

Hypervisors: A Complete Guide” fornisce una panoramica completa di tutto ciò che riguarda gli hypervisor.


Tipi di virtualizzazione

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:

  • Virtualizzazione desktop
  • Virtualizzazione di rete
  • Virtualizzazione dello storage
  • Virtualizzazione dei dati
  • Virtualizzazione delle applicazioni
  • Virtualizzazione del data center
  • Virtualizzazione della CPU
  • Virtualizzazione della GPU
  • Virtualizzazione Linux
  • Virtualizzazione cloud

Virtualizzazione desktop

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:

  • Virtual desktop infrastructure (VDI) esegue più desktop in VM diverse su un server centrale e li trasmette agli utenti che accedono su dispositivi thin client. In questo modo, VDI consente a un'organizzazione di fornire ai propri utenti l'accesso a una varietà di sistemi operativi da qualsiasi dispositivo, senza installare sistemi operativi su alcun dispositivo. Vedi "Cos'è la Virtual Desktop Infrastructure (VDI)?" per informazioni dettagliate.
  • Virtualizzazione del desktop locale esegue un hypervisor su un computer locale, consentendo all'utente di eseguire uno o più sistemi operativi aggiuntivi su quel computer e passare da un sistema operativo all'altro secondo le necessità e senza modificare nulla del sistema operativo principale.

Per ulteriori informazioni sui desktop virtuali, vedi “Desktop-as-a-Service (DaaS).”

Virtualizzazione di rete

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 elementi e funzioni hardware (ad esempio connessioni, switch, router, ecc.) e li astrae in un 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.

Alcuni tipi di virtualizzazione della rete includono software-defined networking (SDN), che virtualizza l'hardware che controlla l'instradamento del traffico di rete (chiamato "control plane") e la network function virtualization (NFV), che virtualizza uno o più dispositivi hardware che forniscono una funzione di rete specifica (ad esempio un firewall, un sistema di bilanciamento del carico o un analizzatore di traffico), rendendo questi dispositivi più facili da configurare, fornire e gestire.

Virtualizzazione dello storage

La virtualizzazione dello storage consente l'accesso e la gestione di tutti i dispositivi di storage sulla rete, siano essi installati su singoli server o unità di storage autonome, come un singolo dispositivo di storage. In particolare, la virtualizzazione dello storage raggruppa tutti i blocchi di storage in un unico pool condiviso dal quale possono essere assegnati a qualsiasi VM sulla rete in base alle esigenze. 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, consulta "Cos'è lo Storage Cloud?"

Virtualizzazione dei dati

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 traduce la richiesta o la query di dati di un'applicazione secondo necessità 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.

Virtualizzazione delle applicazioni

La virtualizzazione delle applicazioni esegue il software applicativo senza installarlo direttamente sul sistema operativo dell'utente. Ciò differisce dalla virtualizzazione del desktop completa (menzionata in precedenza) perché solo l'applicazione< viene eseguita in un ambiente virtuale: il sistema operativo sul dispositivo dell'utente finale viene eseguito come di consuetudine. Esistono tre tipi di virtualizzazione dell'applicazione: 

  • Virtualizzazione dell'applicazione locale: L'intera applicazione viene eseguita sul dispositivo endpoint ma viene eseguita in un ambiente di runtime anziché sull'hardware nativo.
  • Streaming dell'applicazione: L'applicazione risiede su un server che, quando necessario, invia piccoli componenti del software da eseguire sul dispositivo dell'utente finale.
  • Virtualizzazione dell'applicazione basata su server: L'applicazione viene eseguita interamente su un server che invia solo la sua interfaccia utente al dispositivo client.

Virtualizzazione del data center

La virtualizzazione del data center astrae la maggior parte dell'hardware di un data center nel software, consentendo in modo efficace a un amministratore di dividere un singolo data center fisico in più data center virtuali per clienti diversi.

Ogni client può accedere alla propria IaaS (infrastructure as a service), che verrebbe eseguita sullo stesso hardware fisico sottostante. I data center virtuali offrono un facile accesso all'elaborazione basata su cloud, consentendo a un'azienda di configurare rapidamente un ambiente di data center completo senza acquistare hardware per l'infrastruttura.

Virtualizzazione della CPU

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.

Virtualizzazione della GPU

Una GPU (graphical processing unit) è uno speciale processore multi-core che migliora le prestazioni di elaborazione complessive sostituendo l'elaborazione grafica o matematica per impieghi gravosi. La virtualizzazione della GPU consente a più VM di utilizzare tutta o parte della potenza di elaborazione di una singola GPU per video più veloci, intelligenza artificiale (AI) e altre applicazioni grafiche o matematiche.

  • GPU pass-through rende l'intera GPU disponibile per un singolo sistema operativo guest.
  • vGPU condivise dividere i core GPU fisici tra diverse GPU virtuali (vGPU) per l'utilizzo da parte di VM su server.

Virtualizzazione Linux

Linux include il proprio hypervisor, chiamato macchina virtuale basata su kernel (kernel-based virtual machine, KVM), che supporta le estensioni del processore di virtualizzazione di Intel e AMD in modo da poter creare macchine virtuali basate su x86 dall'interno di un sistema operativo host Linux.

Essendo un sistema operativo open source, Linux è altamente personalizzabile. Puoi creare macchine virtuali che eseguono versioni di Linux personalizzate per carichi di lavoro specifici o versioni con protezione avanzata per applicazioni più sensibili.

Virtualizzazione cloud

Come riportato in precedenza, il modello di cloud computing dipende dalla virtualizzazione. Virtualizzando server, storage e altre risorse fisiche del data center, i provider di cloud computing possono offrire diversi servizi ai clienti, inclusi i seguenti: 

  • Infrastructure as a service (IaaS): Risorse server, storage e di rete virtualizzate che è possibile configurare in base ai relativi requisiti.  
  • Platform as a service (PaaS): Strumenti di sviluppo, database e altri servizi basati su cloud virtualizzati che è possibile utilizzare per creare applicazioni e soluzioni basate su cloud
  • Software as a service (SaaS): Applicazioni software utilizzate sul cloud. SaaS è il servizio basato su cloud astratto dall'hardware.

Se desideri saperne di più su questi modelli di servizi cloud, consulta la nostra guida: "IaaS vs. PaaS vs. SaaS.”


Virtualizzazione e containerizzazione

La virtualizzazione del server riproduce un intero computer nell'hardware, che quindi esegue un intero sistema operativo. Il sistema operativo esegue una applicazione. Ciò risulta più efficiente dell'assenza di virtualizzazione, ma duplica comunque il codice e i servizi non necessari per ogni applicazione che si desidera eseguire.

I contenitori hanno un approccio alternativo. Condividono un kernel del sistema operativo sottostante, eseguendo solo l'applicazione e ciò da cui questa dipende, come le librerie software e le variabili di ambiente. Ciò rende la maggior parte dei contenitori più piccoli e rapidi da distribuire.

Per approfondire i concetti di contenitore e containerizzazione, vedi “Containers: A Complete Guide” e “Containerization: A Complete Guide.”

Consulta il post del del blog "Containers vs. VMs: What's the difference?" per un confronto più dettagliato.

Nel seguente video, Sai Vennam descrive le nozioni base della containerizzazione e le differenze rispetto alla virtualizzazione via VM:


VMware

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 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: A Complete Guide.”

 


Sicurezza

LA virtualizzazione offre alcuni vantaggi di protezione. Ad esempio, le VM infette da malware possono essere ripristinate a un momento (chiamato istantanea) in cui la VM non era infetta ed era stabile; possono anche 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, persistendo oltre ai rollback del sistema.

La virtualizzazione presenta anche alcune sfide di protezione. Se un utente malintenzionato viola un hypervisor, entra in possesso potenzialmente di tutte le macchine virtuali e 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 è esposto alla 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.


Virtualizzazione e IBM

IBM Cloud offre una gamma completa di soluzioni di virtualizzazione basate su cloud, che spaziano dai servizi di cloud pubblico alle offerte di cloud privato e ibrido. Puoi utilizzarlo per creare ed eseguire un'infrastruttura virtuale  e anche sfruttare i servizi che vanno dall'AI basata su cloud alla migrazione del carico di lavoro VMware con IBM Cloud for VMware Solutions.

Registrati oggi stesso per un account IBM Cloud.


Soluzioni correlate

Soluzioni Cloud for VMware

Modernizza senza soluzione di continuità i tuoi carichi di lavoro e le tue applicazioni VMware con IBM Cloud.


Soluzioni per la virtualizzazione dei dati

Ottieni un'unica vista dei dati più eterogenei senza spostamento di dati. Gestisci i dati con minore complessità e rischio di errore.


Soluzioni per la virtualizzazione dello storage

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.