La virtualizzazione delle applicazioni è un approccio software che separa le applicazioni dal sistema operativo (OS) di un dispositivo, consentendo agli utenti di eseguirle senza installare nulla sul proprio dispositivo.
La virtualizzazione delle applicazioni influenza quotidianamente il nostro modo di utilizzare il computer. Lo streaming di un film su Netflix, l'accesso remoto al software aziendale o la riproduzione di videogiochi basati su cloud si basano tutti su applicazioni virtualizzate.
Con i metodi tradizionali di distribuzione e gestione del software, le applicazioni vengono installate direttamente sui singoli dispositivi, il che non consente la scalabilità. La virtualizzazione delle app risolve questo problema consentendo a più utenti di accedere al software installato su un server centrale, da qualsiasi luogo, senza restrizioni sulla posizione o sul tipo di dispositivo (desktop, laptop, tablet, dispositivi mobili).
In ambito aziendale, questa tecnologia di virtualizzazione delle applicazioni semplifica la gestione IT, migliora la sicurezza e consente il lavoro da remoto. Poiché le applicazioni guidate dal cloud sono diventate centrali nel funzionamento delle organizzazioni, la gestione centralizzata delle applicazioni riduce il workload IT e accelera la distribuzione del software tra le forze di lavoro distribuite.
Secondo Grand View Research, il mercato globale della virtualizzazione delle applicazioni aveva un valore di 3,43 miliardi di USD nel 2023. Si prevede che raggiungerà 8,40 miliardi di USD entro il 2030, con un tasso di crescita annuale composto (CAGR) del 14,3%.¹ L'adozione del cloud computing e il passaggio al lavoro da remoto sono i principali motori di questa crescita.
Resta al passo con le tendenze più importanti e interessanti del settore relative ad AI, automazione, dati e oltre con la newsletter Think. Leggi l' Informativa sulla privacy IBM.
Comprendere come funziona la virtualizzazione delle applicazioni inizia con la comprensione della virtualizzazione stessa, la tecnologia fondamentale che la rende possibile.
La virtualizzazione utilizza un software noto come hypervisor (ad esempio, Microsoft Hyper-V) per creare uno strato di astrazione sull'hardware del computer. Questo approccio permette ad app e workload di girare indipendentemente su macchine virtuali (VM), come le VM fornite da VMware.
Storicamente, le applicazioni comunicano direttamente con il sistema operativo host (tipicamente Linux) sull'hardware del computer. La virtualizzazione delle applicazioni cambia questo rapporto. Un livello di virtualizzazione si trova tra l'app e il sistema operativo, intercettando le richieste e fornendo l'ambiente di esecuzione di cui l'applicazione ha bisogno, senza mai toccare direttamente il sistema sottostante.
Preparare un'applicazione per la consegna virtuale richiede un processo chiamato sequenziamento. I team IT impacchettano applicazioni e i loro file, impostazioni, dipendenze e voci di registro in un'unica immagine portatile. Queste immagini vengono poi inviate da un server centrale a qualsiasi dispositivo autorizzato. E poiché ogni applicazione viene eseguita nel proprio ambiente virtuale isolato (o sandbox), rimane confinata, senza poter interferire con altre applicazioni o con il sistema operativo sottostante.
Anche se la virtualizzazione delle applicazioni può sembrare simile alla containerizzazione, le due tecnologie sono diverse. I container impacchettano l'intero ambiente di esecuzione, comprese le librerie del sistema operativo, mentre la virtualizzazione delle applicazioni mantiene l'app separata dal sistema operativo.
Le applicazioni virtualizzate possono funzionare interamente su un server remoto con gli utenti che accedono solo all'interfaccia dal loro dispositivo. Possono anche essere eseguite localmente su un dispositivo client con risorse memorizzate localmente (o memorizzate in cache), a seconda dell'approccio di implementazione.
La virtualizzazione delle applicazioni può essere realizzata in diversi modi:
A differenza della virtualizzazione dei server, che crea più macchine virtuali su un unico server fisico, questo approccio esegue l'applicazione interamente su un server in un data center. Successivamente invia solo l'interfaccia utente al dispositivo client. Gli utenti interagiscono con l'app come se fosse installata localmente, mentre tutta l'elaborazione avviene sul server.
Questo metodo è l'approccio aziendale più comune, che conferisce ai team amministrativi IT un'autorità centralizzata sulla distribuzione e sugli aggiornamenti del software. Inoltre, supporta gli ambienti thin client e desktop per utenti remoti, riducendo i costi complessivi dell'hardware. Nel settore sanitario, ad esempio, il personale clinico può accedere al software delle cartelle cliniche da qualsiasi dispositivo della rete senza installare nulla localmente.
Con lo streaming delle applicazioni, l'app risiede su un server che invia piccoli componenti software al dispositivo dell'utente finale su richiesta tramite un software di virtualizzazione delle applicazioni. Recupera solo ciò che è necessario, quando è necessario.
In questo caso, l'intera applicazione viene eseguita sull'endpoint, ma all'interno di un tempo di esecuzione piuttosto che direttamente sull'hardware nativo.
Questa soluzione funziona bene in situazioni in cui gli utenti necessitano di accesso offline o operano in aree con connessioni di rete inaffidabili. Ad esempio, un lavoratore da remoto che accede a un'app da una località con internet discontinuo potrebbe affidarsi a questo metodo.
Non tutta la virtualizzazione delle applicazioni funziona allo stesso modo. La virtualizzazione completa comprende l'intero ambiente di applicazione, offrendo il massimo grado di isolamento e compatibilità. Le organizzazioni che operano in settori altamente regolamentati, come i servizi finanziari e la sanità, spesso utilizzano questa strategia per soddisfare rigorosi requisiti di sicurezza e conformità.
La virtualizzazione parziale isola solo componenti specifici, condividendo alcune risorse con il sistema ospite. Questo approccio più leggero funziona bene quando non è necessario un isolamento completo e l'efficienza delle risorse è la priorità, come in ambienti aziendali su larga scala che gestiscono centinaia di applicazioni tra team distribuiti.
L'intelligenza artificiale (AI) e i workload ad alta intensità di grafica hanno reso la virtualizzazione delle GPU un aspetto importante della distribuzione dell'applicazione e dell'infrastruttura AI.
Invece di dotare ogni dispositivo di hardware grafico dedicato, le organizzazioni possono condividere risorse GPU virtualizzate tra più utenti e applicazioni da un server centrale. Questo approccio rende pratico eseguire workload ad alta intensità di calcolo, inclusa l'inferenza AI e la visualizzazione dei dati, su dispositivi edge che altrimenti non avrebbero l'hardware necessario per supportarli.
Per le organizzazioni che eseguono workload di AI su larga scala, mantenere l'elaborazione centralizzata supporta anche l'AI storage, riducendo il flusso di dati tra i dispositivi.
La virtualizzazione delle applicazioni aiuta le organizzazioni a realizzare il valore aziendale attraverso i seguenti benefici:
La virtualizzazione delle applicazioni e la virtualizzazione del desktop sono tipologie di virtualizzazione correlate, ma funzionano in modo diverso.
L'infrastruttura desktop virtuale (VDI) è il tipo più comune di approccio alla virtualizzazione dei desktop, offrendo a ogni utente una macchina virtuale dedicata con un proprio sistema operativo. La virtualizzazione delle applicazioni bypassa completamente questo livello, riducendo la richiesta di risorse infrastrutturali.
Vale la pena notare che queste due tecnologie non si escludono a vicenda. Molte organizzazioni utilizzano la virtualizzazione delle applicazioni come parte di una strategia di virtualizzazione desktop più ampia. Ad esempio, un'azienda retail potrebbe utilizzare la virtualizzazione per offrire agli agenti del call center un desktop virtuale completo. Può quindi utilizzare la virtualizzazione delle applicazioni per fornire un'unica app di fatturazione al personale sul campo sui propri dispositivi.
La virtualizzazione delle applicazioni supporta una serie di casi d'uso specifici per business e tecnologia, inclusi i seguenti esempi:
Il lavoro ibrido e da remoto ha cambiato il modo in cui i dipendenti interagiscono con le applicazioni aziendali. La virtualizzazione delle applicazioni consente agli utenti di accedere alle applicazioni da laptop personali, tablet o dispositivi mobili tramite iniziative bring your own device (BYOD), da qualsiasi luogo. Questo approccio non richiede che l'IT gestisca ogni singolo dispositivo.
La virtualizzazione delle applicazioni consente agli utenti di accedere alle applicazioni da laptop personali, tablet o dispositivi mobili tramite iniziative bring your own device (BYOD), da qualsiasi luogo. Questo metodo funziona senza richiedere al reparto IT di gestire ogni singolo dispositivo.
Molte organizzazioni dipendono da applicazioni legacy esistenti oltre che da quelle cloud-native. Invece di costose riscritture, la virtualizzazione delle applicazioni preserva il software più vecchio eseguendolo in un ambiente isolato accanto alle applicazioni più recenti. Questo approccio supporta iniziative di modernizzazione delle applicazioni.
DevOps e altri team possono lanciare ambienti di applicazione virtualizzati che si estendono su diversi sistemi operativi e configurazioni senza necessità di hardware sottostante. Questo approccio accelera i cicli di test e riduce i problemi legati all'ambiente durante tutto il ciclo di sviluppo e aiuta i team a consegnare le app più velocemente per migliorare le esperienze utente.
La maggior parte delle applicazioni SaaS si affida alla virtualizzazione per ospitare e distribuire il software via Internet a qualsiasi dispositivo. Le organizzazioni di oggi utilizzano la virtualizzazione delle applicazioni insieme a strumenti SaaS per estendere l'accesso ad applicazioni che non sono ancora cloud-native. Questo approccio semplifica il passaggio a modelli di distribuzione cloud supportati da provider come Amazon Web Services (AWS), IBM Cloud, Microsoft Azure e Google Cloud.
Le organizzazioni adottano la virtualizzazione delle applicazioni attraverso una serie di piattaforme e strumenti software. Di solito scelgono una soluzione basandosi sull'infrastruttura esistente, sui requisiti di sicurezza e sulle esigenze di scalabilità della loro implementazione.
Le soluzioni comuni includono Citrix Virtual Apps and Desktops, che fornisce la distribuzione centralizzata delle app su tutti i dispositivi e Microsoft App-V, uno strumento di packaging e distribuzione basato su Windows. Piattaforme più ampie, come IBM Fusion e VMware, supportano la virtualizzazione delle applicazioni nell'ambito di strategie più ampie di hybrid cloud e modernizzazione delle applicazioni .
Sbloccare operazioni più resilienti e veloci unificando storage, protezione e workload di orchestrazione per AI, VM e container.
Ottimizza e scala il workload tra ambienti virtuali e fisici con una virtualizzazione efficiente e flessibile.
Competenze tecniche complete per i tuoi server e storage IBM® Systems.
1 Application Virtualization Market (2024–2030), Grand View Research, 2024