Cloud computing e virtualizzazione non sono la stessa cosa. Sebbene come concetti vengano confusi a volte l'uno con l'altro, cloud computing e virtualizzazione sono due metodologie di calcolo distinte solo leggermente correlate. Le aziende utilizzano entrambi per fornire flessibilità e scalabilità nei propri dipartimenti IT: il cloud computing per aumentare l'accessibilità ad applicazioni e database interni ed esterni, la virtualizzazione per ridurre al minimo gli hardware fisici e ottimizzare il processo DevOps. La virtualizzazione può far parte di una configurazione di cloud computing, ma il cloud computing non implica necessariamente la virtualizzazione.
Per capire meglio in che modo differiscono, analizziamo più nel dettagli questi due concetti.
La virtualizzazione è un concetto semplice che possiede però un'ampia gamma di usi. Di base, la virtualizzazione è il processo di creazione di una macchina simulata o virtuale (il guest), un sistema informatico emulato che esiste esclusivamente nel "regno" dei software e che opera all'interno di una macchina fisica (l'host). La macchina guest dispone di memoria, CPU, spazio di storage e un sistema operativo, tutti definiti dal software e non dall'hardware. Le macchine virtuali sono disponibili in tutte le dimensioni e hanno parametri configurabili per supportare carichi di lavoro e casi d'uso diversi: alcune volte sono create per emulare hardware più vecchi e obsoleti, altre offrono un approccio strategico alla gestione delle risorse.
Per funzionare, le virtual machine hanno bisogno di un software chiamato hypervisor, che funge da resource manager e da interfaccia tra host e guest. L'hypervisor assegna la memoria necessaria, la potenza di elaborazione e lo spazio di storage per la virtual machine. Inoltre, gestisce le applicazioni e lo stato generale della virtual machine mentre è attiva. Le applicazioni all'interno di una virtual machine sono completamente separate dalla machine host, pertanto gli host non possono interagire in alcun modo con i file dei guest e viceversa.
Oltre alle virtual machine, i container offrono un altro modo per gestire la virtualizzazione. I container e le virtual machine vengono a volte confusi e sono simili sotto certi aspetti, ma possiedono funzioni diverse. Un container è un ambiente di runtime dedicato e standalone per una sola applicazione, mentre una virtual machine fornisce un ambiente basato su software. Sebbene una virtual machine possa essere utilizzata in modo specifico per accedere a una sola applicazione, ha la capacità necessaria per fare molto di più. Se hai bisogno di eseguire solo un'applicazione, un container potrebbe essere un'opzione più adatta alle risorse rispetto a una virtual machine.
La virtualizzazione offre molti vantaggi, tra cui un'allocazione più chiara delle risorse e i silos robusti tra le risorse software. Per una persona, un esempio di caso d'uso potrebbe essere l'installare un sistema operativo separato su un computer fisico (ad esempio, Linux su un computer Windows). Per un'azienda, la virtualizzazione, tra i vari vantaggi, può anche fornire un percorso più semplice verso il consolidamento dei server.
Per cloud computing si intende qualsiasi applicazione, database, storage o servizio di networking che è online e a cui si accede tramite Internet. Esistono tre tipi principali di servizi di cloud computing: software as a service, infrastructure as a service e platform as a service.
Oggigiorno quasi tutti utilizzano il cloud computing. Ogni volta che utilizzi qualsiasi tipo di servizio online, come la TV in streaming, lo storage di backup delle foto e le applicazioni di social media, stai utilizzando una forma di cloud computing. A livello aziendale, i servizi di cloud computing possono includere l'infrastruttura cloud, le applicazioni basate su cloud, quali l'ERP, e il disaster recovery e il backup basati sul cloud.
La virtualizzazione può far parte del cloud, ma il cloud computing stesso è un'intera infrastruttura costruita per supportare l'accesso online a applicazioni, servizi e dati. Se un provider permette l'accesso a risorse, potenza di elaborazione e/o applicazioni attraverso un percorso online, sta facendo uso del cloud computing. Potrebbe essere semplice come un unico server che offre un'applicazione personalizzata a un piccolo gruppo, come una classe o un gruppo di colleghi. Su una scala molto più ampia, un servizio di piattaforma come Zoom ha bisogno che funzioni, dati e ridondanza vengano distribuite tra un gran numero di server che lavorano insieme.
Il cloud computing fornisce molti vantaggi, tra cui:
Il cloud computing può utilizzare la virtualizzazione per molti scopi diversi, dal supportare applicazioni simulate su diversi sistemi operativi al creare silos tra le risorse per massimizzare l'efficienza. Sebbene sia possibile implementare cloud senza virtualizzazione, la virtualizzazione è uno strumento fondamentale utilizzato per supportare molte piattaforme cloud, in particolare quelle create per un pubblico più ampio.
Per fare esperienza pratica con il cloud computing, comincia oggi stesso la prova gratuita di Oracle Cloud.