Questo post è disponibile anche in: Inglese

Reading Time: 3 minutes

Parlando genericamente di virtualizzazione si tende normalmente a pensare alla virtualizzazione dei sistemi, dove le risorse di un sistema fisico vengono “partizionate” per permettere l’esecuzione di diversi ambienti (macchine virtuali) su di uno stesso sistema.

Ma nella realtà esistono diversi tipi di virtualizzazione:

  • System Virtualization o Platform Virtualization: virtualizzazione che tende ad isolare il sistema virtuale dall’hardware. Si suddivide a sua volta in due tipi.
    • Server Virtualization: virtualizzazione di sistemi server (tipicamente usando sistemi server fisici).
    • Desktop Virtualization: virtualizzazione di sistemi desktop.
      • Server Hosted: macchine virtuale eseguite su sistemi server. Più nota come VDI (Virtual Desktop Infrastructure o Virtual Desktop Interface).
      • Client Hosted: macchine virtuale eseguite su sistemi client. Si può ulteriormente suddividere in soluzione non gestita (un-managed) dove l’utente finale ha il controllo dell’ambiente virtualizzato e di quanto vi è contenuto, oppure in soluzione gestita (managed) dove l’ambiente virtualizzato e/o quanto vi è contenuto è gestito (tipicamente in modo centralizzato) secondo opportune policy.
  • Process Virtualization: virtualizzazione implementata a livello dei programmi.
    • Language construction: la virtualizzazione viene utilizzata per eseguire un formato “compilato” intermedio o bytecode (come avviene in Java o nella piattaforma .NET).
    • Cross-ISA emulation: sistemi di conversione da una piattaforma ad un’altra (come è avvenuto nei sistemi Apple Mac durante le transizioni di architettura Motorola 68000 a PowerPC e successivamente ad Intel).
    • Application Virtualization: virtualizzazione delle applicazioni per renderli indipendenti dalle altre applicazioni (e dove possibile anche da alcuni elementi del sistema operativo). Sono possibili diverse tecniche che vanno dall’uso di un’ambiente ristretto (sandbox o “bolla applicativa”) o alla realizzazione di applicazioni già rilocabili ed isolabili (si pensi alle applicazioni “portable”). La fruizione, a seconda della soluzione, può avvenire in streaming ad un server centrale oppure in modalità offline (tipicamente eseguendo un singolo binario).
  • Presentation Virtualization (o Session Virtualization): virtualizzazione del livello di presentazione (anche indicata come terminalizzazione o remotizzazione del desktop utente). La fruizione può avvenire in diversi modi:
    • Desktop remoto: l’intero desktop viene remotizzato.
    • Applicazione remota (o seamless windows): solo la finestra dell’applicazione viene remotizzata.
    • WebApp: l’applicazione viene eseguita a partire da un browser (anche se poi spesso viene eseguita da un vero e proprio client nella modalità precedente).
  • User State Virtualization: virtualizzazione dello stato (o profilo) dell’utente per renderlo indipendente dalla postazione di accesso.

I diversi tipi di virtualizzazione operano fondamentalmente creando un differente numero di livelli virtualizzati.

Se un normale sistema di calcolo è caratterizzato almeno dai livelli hardware, sistema operativo ed applicazione, con i differenti tipi di virtualizzazione abbiamo:

  • Virtualizzazione di sistema: viene replicata l’intera pila, anche se la parte hardware normalmente è una partizione di quella fisica esistente.
  • Virtualizzazione delle sessioni: viene replicata solo un parte del sistema operativo (in genera quella che permette l’accesso concorrente e la realizzazione di sessioni) e le applicazioni sono in realtà condivise con quelle fisiche.
  • Virtualizzazione delle applicazioni: viene replicata una parte del sistema operativo (ad esempio per creare un virtual filesystem ed un virtual registry) e le applicazioni hanno un ambiente isolato di esecuzione.
  • User State Virtualization: viene replicata solo un parte del sistema operativo (in genera quella che permette l’accesso concorrente e la realizzazione di sessioni).

Oltre a questi tipi di virtualizzazione sarebbero da aggiungere altre tipologie, quali la network virtualization, storage virtualization, …

Andrea MauroAbout Andrea Mauro (2904 Posts)

Virtualization, Cloud and Storage Architect. Tech Field delegate. VMUG IT Co-Founder and board member. VMware VMTN Moderator and vExpert 2010-18. Dell TechCenter Rockstar 2014-15. Microsoft MVP 2014-16. Veeam Vanguard 2015-18. Nutanix NTC 2014-18. PernixPro 2014-16. Several certifications including: VCDX-DCV, VCP-DCV/DT/Cloud, VCAP-DCA/DCD/CIA/CID/DTA/DTD, MCSA, MCSE, MCITP, CCA, NPP.


Related Post:

Share