I diversi modelli di servizio cloud

Non tutti i cloud sono uguali. E non tutti i cloud provider offrono gli stessi servizi. Esistono diversi modi per configurare e utilizzare un cloud, il che negli ultimi anni ha generato una proliferazione di acronimi oscuri e confusi. Termini come "SaaS" o "DaaS" sono oggi di uso comune, ma il loro significato non è generalmente chiaro o ben compreso. Paragoni come "IaaS vs. PaaS vs. SaaS" sono privi di significato senza aver prima compreso ogni acronimo.

Questo è ciò che chiariremo in questo articolo. Iniziamo spiegando il significato di questi acronimi.
Esistono diversi modelli di servizio utilizzati nel cloud computing. Questi si differenziano per il modo in cui i servizi cloud sono impostati, per il loro funzionamento e per il modo in cui possono essere integrati in un'infrastruttura esistente (ciò che viene comunemente definito "infrastruttura ibrida"). Il cloud computing comprende molte risorse e servizi virtuali, come database, reti virtuali, load balancer, applicazioni serverless e altro ancora. Non tutte le organizzazioni hanno bisogno o vogliono utilizzare ogni tipo di servizio e risorsa cloud.

Altre organizzazioni preferiscono avere uno o più di questi servizi in sede e integrare dal cloud solo ciò che non hanno o vogliono gestire. Ogni organizzazione può scegliere di implementare ciò che è appropriato per le proprie esigenze, e non di più. Ogni organizzazione può quindi seguire un modello di cloud computing per l'utilizzo di queste risorse e servizi.

I termini SaaS, IaaS o PaaS si riferiscono proprio a questi modelli. Essi definiscono le modalità di utilizzo del cloud e la sua gestione da parte dell'azienda.

L'acronimo "aaS" sta per "as a Service" e significa che una specifica risorsa viene ottenuta da un cloud provider come servizio. Le rispettive offerte dei cloud provider differiscono in termini di risorse cloud fornite e del grado di gestione che il team IT di un'azienda deve effettuare per i servizi acquistati.

Conosciamo quindi gli acronimi più importanti dei modelli di cloud computing: IaaS, PaaS e SaaS.

cloud

IaaS

IaaS (Infrastructure as a Service) è il modello cloud più semplice. Offre una virtualizzazione delle risorse hardware come reti, server, spazio di archiviazione e macchine. In questo modo, i server e i cavi di rete fisici vengono trasferiti nel cloud e i produttori di cloud li gestiscono per te.

In genere, i produttori di cloud IaaS offrono server virtuali condivisi su hardware fisico o su server dedicati. Scegliere IaaS significa scegliere e fare il provisioning di queste strutture hardware virtuali tramite una dashboard o la riga di comando, per poi integrarle nell'infrastruttura on-premise o scaricare i carichi di lavoro locali sul cloud.

Dashboard Azure VM

Vantaggi e casi d'uso di IaaS

Lo IaaS può essere considerato il caso d'uso originale del cloud, quando la crescente fame di hardware stava portando i costi a livelli inaccettabili per molte aziende. L'Infrastructure as a Service ha rappresentato un modo più economico per disporre di hardware più potente e di una maggiore scalabilità che non sarebbe stata possibile aggiungendo semplicemente risorse ai propri data center. L'adozione di un modello IaaS ha contribuito a ridurre il carico di lavoro degli amministratori IT locali, scaricando parte del lavoro grezzo necessario per far crescere e ottimizzare un'infrastruttura. La scalabilità è quindi il primo fattore che spinge le organizzazioni a scegliere lo IaaS.

La flessibilità nell'allocazione delle risorse è un altro fattore. A differenza dell'hardware fisico, affidarsi a server e reti virtuali significa aumentare notevolmente la flessibilità nella scelta di cosa e dove far crescere l'infrastruttura. Il provisioning di una macchina virtuale è a portata di clic. La riduzione dei costi iniziali per l'aggiunta di nuovo hardware rappresenta una svolta per molte piccole aziende. I produttori di cloud fanno pagare gli ambienti IaaS in base al numero di host o all'utilizzo, il che può risultare più economico, ma certamente non è così semplice come l'acquisto di un rack di server hardware, con un prezzo chiaro. I risparmi sui costi sono un argomento discutibile, ma i vantaggi in termini di scalabilità e flessibilità sono evidenti.

Le infrastrutture basate su IaaS riducono i ritardi nel provisioning ed evitano lo spreco di risorse. Non è raro che si verifichino spese eccessive per l'hardware vero e proprio, che possono essere evitate utilizzando lo IaaS.

Ciò che lo IaaS non evita è la manutenzione e la garanzia della sicurezza e del ripristino delle applicazioni e dei dati. L'utente è ancora responsabile della corretta installazione e dell'esecuzione di tutto ciò che serve ai server virtuali e il monitoraggio accurato delle infrastrutture IaaS è fondamentale. L'intero stack software, a partire dal sistema operativo, viene lasciato a voi per essere gestito ed eseguito, il che non rappresenta un grande vantaggio in termini di risparmio di tempo e di lavoro per i tuoi specialisti IT.

L'IaaS è tuttavia il punto di accesso più semplice al cloud computing. Scaricando solo la parte hardware dell'infrastruttura, significa che c'è meno da personalizzare e preparare per l'esecuzione su risorse cloud rispetto ad altri modelli. IaaS vs PaaS vs SaaS è spesso una scelta che dipende dalla rapidità con cui si vuole avviare l'infrastruttura ibrida e da quanto si vuole mantenere il controllo. IaaS offre il massimo livello di controllo di tutti questi modelli e, se questa è una priorità, è la scelta più ovvia.

Monitoraggio IaaS

Rispetto agli ambienti PaaS e SaaS, il monitoraggio IaaS lascia all'utente la maggior parte dell'onere. Questo perché la maggior parte dell'infrastruttura è nelle tue mani, da configurare e mantenere. Il che significa anche monitorare.

Il monitoraggio IaaS consente di controllare l'infrastruttura sottostante, come le macchine virtuali, lo storage e le reti. Il monitoraggio in una configurazione IaaS comporta quindi la raccolta delle consuete metriche relative allo stato di salute e alle prestazioni delle infrastrutture: utilizzo di CPU e memoria, traffico di rete, I/O su disco, tassi di errore, picchi di utilizzo di ogni risorsa e così via.

Anche le metriche del sistema operativo dovrebbero essere al centro del monitoraggio IaaS. Poiché avrete il controllo diretto del sistema operativo installato sulle macchine virtuali IaaS, il monitoraggio dei suoi servizi, del firewall e delle applicazioni in esecuzione è una parte fondamentale dei tuoi sforzi di monitoraggio. Per ogni applicazione distribuita in un ambiente IaaS, è necessario raccogliere anche le sue metriche, come il tempo di risposta, il tasso di errore e l'utilizzo generale delle risorse.

Infine, i log delle applicazioni e del sistema operativo sono fondamentali per raccogliere ulteriori informazioni su problemi potenziali e attuali. Avendo il controllo completo su come sono installati e configurati, è possibile organizzare la raccolta dei registri come si desidera, con un software specifico o utilizzando uno dei tanti strumenti di monitoraggio del cloud disponibili. Monitorare un'infrastruttura IaaS è possibile e consigliabile, anche se parte di essa è gestita dal cloud provider.

PaaS

Mentre IaaS è il modello "bare-bones", PaaS (Platform as a Service) è un gradino sopra. IaaS comprende solo la virtualizzazione dell'hardware, mentre PaaS aggiunge anche il sistema operativo. Con il PaaS i fornitori di cloud offrono server completi, compreso il software minimo per far funzionare l'hardware sottostante, e tolgono la manutenzione del sistema operativo dalle spalle degli amministratori IT. Anche gli aggiornamenti del sistema operativo sono gestiti automaticamente dai fornitori di cloud. Con il PaaS i server virtuali vengono forniti in un pacchetto completo, pronti per essere utilizzati per i casi d'uso richiesti.

Scegliere PaaS rispetto a IaaS significa avere una soluzione leggermente più completa per le operazioni in cloud. Il compito di configurare i server e le reti in base alle proprie esigenze e di installare tutte le applicazioni necessarie per il funzionamento dell'organizzazione. Rispetto allo IaaS, il PaaS ha solo un vantaggio marginale, ma può essere auspicabile lasciare ad altri la complessità della gestione di un sistema operativo.

Dashboard AWS EC2

Vantaggi e casi d'uso del PaaS

Il PaaS è un modo estremamente rapido per avviare le applicazioni e i microservizi. Con server e reti pronte per il lancio, è sufficiente impostare il proprio software e copiare i dati necessari per essere operativi.

La scelta di una macchina virtuale con un sistema operativo in linea con quello utilizzato in sede semplifica l'integrazione delle risorse PaaS nella rete ibrida. Analogamente, il trasferimento di tutti i server locali nel cloud è più semplice con il PaaS.

Utilizzando il PaaS si mantiene la stessa elevata scalabilità dello IaaS, pur rinunciando a un certo controllo sulla sicurezza e sulla configurazione dei server e delle reti cloud. I fornitori di cloud hanno il compito di garantire la manutenzione e la sicurezza dell'infrastruttura, che ora coinvolge il sistema operativo, a differenza di quanto accade con lo IaaS. Rinunciando a un po' di controllo, si ottiene l'accesso a una piattaforma di sviluppo completa, pronta per il provisioning in pochi minuti, il che rappresenta il vantaggio maggiore quando si considera IaaS vs PaaS vs SaaS.

Un possibile svantaggio è che, passando la scelta del sistema operativo e dello stack applicativo ai produttori di cloud, si ha meno voce in capitolo nella configurazione. Sebbene tutti i produttori di cloud abbiano una vasta gamma di sistemi operativi per le loro offerte PaaS, si tratta comunque di un numero limitato. È difficile replicare esattamente esigenze e configurazioni specifiche con il PaaS e il rischio di vendor lock-in può essere un problema, a seconda del fornitore di servizi cloud.

Monitoraggio PaaS

Con il PaaS, l'onere dell'ambiente di runtime e del sistema operativo è a carico del cloud provider. Questo non elimina la possibilità di monitorare le macchine virtuali e le applicazioni PaaS, ma riduce solo l'influenza dell'utente sulle modalità di impostazione e configurazione.

Anche in questo caso si applicano le consuete metriche disponibili nel monitoraggio IaaS. Anche il monitoraggio del sistema operativo e dei log delle applicazioni è importante nel monitoraggio PaaS ed è un passo necessario per una strategia di monitoraggio completa. Di solito i produttori di PaaS fanno analizzare sia le metriche che i log in una soluzione di monitoraggio integrata, oppure una soluzione esterna può fare entrambe le cose.

La differenza fondamentale è che, rinunciando a parte dello stack software su cui girano le macchine virtuali PaaS, si possono avere più limiti nel monitoraggio. Dipende dallo specifico cloud provider scelto, ma in generale l'installazione di un agente di monitoraggio non è sempre così semplice come nelle soluzioni IaaS e le metriche fornite dall'API sono limitate. I tipi di sistemi operativi e gli ambienti di runtime disponibili non sono così vasti come nel caso delle infrastrutture IaaS, dove si è liberi di configurarle senza quasi alcun vincolo.

Pertanto, anche se il monitoraggio di PaaS è perfettamente fattibile, è possibile che ci siano più limitazioni rispetto a IaaS. Dal punto di vista dei dati, le metriche da raccogliere non differiscono sostanzialmente dallo IaaS. È solo il modo in cui vengono raccolti che può essere più limitante.

SaaS

Il SaaS (Software as a Service) è l'ultimo gradino della scala immaginaria dei modelli cloud più comuni. Le aziende che offrono servizi cloud gestiscono tutto con SaaS, lasciando all'utente solo l'utilizzo. L'infrastruttura di base, compreso il sistema operativo e le applicazioni, viene lasciata ai fornitori di cloud, mentre solo il software finale viene messo a disposizione dell'utente.

Le applicazioni SaaS, come Google Workspace o Microsoft Office 365, sono ciò che alimenta la maggior parte del lavoro collaborativo al giorno d'oggi. Sono accessibili ovunque, gratuitamente o con un abbonamento, e consentono ai team di collaborare in paesi e fusi orari diversi. In termini di IaaS vs PaaS vs SaaS, quest'ultimo è solo un'applicazione cloud, rispetto a un'infrastruttura virtuale da gestire.

Dashboard di AWS Lambda

Vantaggi e casi d'uso del SaaS

Il vantaggio principale del SaaS è la sua semplicità. Le applicazioni SaaS sono pronte all'uso non appena si effettua l'accesso. La configurazione e la personalizzazione sono possibili, ma siamo lontani dalle possibilità offerte da un modello IaaS o PaaS. Se si cerca il minor tempo necessario per implementare un sistema operativo, il SaaS regna su qualsiasi altro modello di cloud.

Lo svantaggio principale è che il controllo sull'infrastruttura e sull'organizzazione di un cloud SaaS è minimo. Il monitoraggio SaaS e i relativi strumenti di monitoraggio SaaS consentono un accesso limitato, se non nullo, e i due termini sono più spesso utilizzati per strumenti di monitoraggio implementati come applicazioni SaaS.

Con il SaaS c'è un rischio maggiore di vendor lock-in, poiché quasi tutta l'infrastruttura è lasciata alla decisione del cloud provider. Di solito questo non è un problema, perché il caso d'uso principale del modello SaaS è proprio quello di lasciare che il servizio cloud imposti tutto e si preoccupi il meno possibile di monitorare, configurare e proteggere l'applicazione. Se si sceglie il modello SaaS, non si vuole concentrare l'attenzione su nulla che non siano le funzioni e le caratteristiche effettive dell'applicazione.

Monitoraggio SaaS

Con le applicazioni SaaS, la visibilità dell'infrastruttura sottostante è scarsa. Non sono disponibili nemmeno dashboard di monitoraggio per raccogliere informazioni su ciò che accade sotto il cofano. Lo scopo degli ambienti SaaS è quello di sollevare dalle spalle dell'utente gran parte dell'onere di configurazione e manutenzione, e questo limita fortemente il monitoraggio.

La maggior parte delle applicazioni SaaS è quindi una scatola finita, pronta all'uso, ma che non consente alcun monitoraggio. Ci si può affidare a ciò che riporta l'API del fornitore del cloud, che può essere sufficiente per la maggior parte dei casi, ma è ben al di sotto di ciò che può essere monitorato con un'infrastruttura PaaS o IaaS. Il monitoraggio SaaS risponde a un livello di servizio di prestazioni dell'applicazione e di esperienza dell'utente. Il controllo di metriche quali tempi di risposta, tassi di errore, disponibilità, tempi di caricamento delle pagine, tassi di successo delle transazioni e simili è l'unico livello di monitoraggio disponibile in una configurazione SaaS.

Se l'applicazione SaaS si integra con altri sistemi o API, è possibile monitorare i punti di integrazione per verificare la latenza, i tassi di errore e la coerenza dei dati. Al di fuori di questi aspetti, la profondità con cui è possibile monitorare gli ambienti IaaS e PaaS non è possibile da raggiungere con SaaS.

Conclusione

Abbiamo visto come rispondere alla domanda IaaS vs PaaS vs SaaS e abbiamo spiegato alcuni esempi IaaS vs PaaS vs SaaS con particolare attenzione al monitoraggio. La maggior parte dei modelli di cloud che abbiamo discusso differisce per l'uso che se ne intende fare, per quanto si vuole controllare e gestire e per quanto si vuole lasciare che i fornitori di cloud lo impostino per noi.

Dal caso più elementare di IaaS a quello più automatizzato di SaaS, ci sono molti casi d'uso intermedi per i servizi cloud che potrebbero adattarsi meglio alle tue esigenze rispetto a IaaS, PaaS o SaaS. Negli ultimi anni si è sviluppata una proliferazione di acronimi per denominare anche il caso d'uso più straordinario, generando sicuramente molta confusione, anche tra gli esperti. Senza dubbio in futuro appariranno altri acronimi di questo tipo.

Indipendentemente dal caso d'uso e dall'acronimo ad esso collegato, il monitoraggio di un'infrastruttura cloud è uno sforzo necessario. Indipendentemente dalla fiducia riposta nel fornitore di cloud, errori, interruzioni e attacchi esterni possono sempre verificarsi. L'utilizzo di una soluzione completa di monitoraggio del cloud, come Checkmk, può coprire il monitoraggio di qualsiasi modello di cloud discusso, oltre al monitoraggio effettuato dai fornitori di cloud. Questo secondo livello di controlli e avvisi è fondamentale per garantire la continuità della tua infrastruttura aziendale basata sul cloud.

FAQ

Che cos'è il FaaS nel cloud computing?

FaaS è l'acronimo di "Function as a Service" e fornisce un ambiente pronto per lo sviluppo su cui è possibile distribuire ed eseguire applicazioni personalizzate. È un passo avanti rispetto al PaaS, in quanto lascia al cloud provider la configurazione e la gestione dell'hardware, del sistema operativo e dell'ambiente di runtime. Il FaaS viene generalmente scelto quando è necessario distribuire codice solo per un'attività specifica, piuttosto che creare un'intera infrastruttura serverless.

Che cos'è il DaaS nel cloud computing?

DaaS (Desktop as a Service) è il modello scelto quando è necessario fornire agli utenti finali o ai lavoratori interni un'infrastruttura desktop virtuale (VDI) pronta all'uso. Con questo modello cloud, un sistema operativo con applicazioni preconfigurate viene messo a disposizione degli utenti autorizzati tramite Internet, per un accesso immediato e una disponibilità a livello mondiale. Quando si parla di SaaS vs PaaS vs IaaS vs DaaS, quest'ultimo scarica la necessità di configurare i desktop di lavoro effettivi su un servizio cloud.

Che cos'è il CaaS nel cloud computing?

I CaaS (Containers as a Service) sono ambienti cloud pronti per la distribuzione e l'esecuzione di applicazioni containerizzate. Con CaaS, l'hardware e il sistema operativo sono lasciati alla scelta e alla gestione del cloud provider e l'ambiente è preparato per accettare applicazioni da eseguire in container, come con Docker o Kubernetes. Si tratta di un modello di cloud leggermente inferiore a PaaS, con un caso d'uso più specifico, simile a FaaS ma orientato all'orchestrazione di container e applicazioni.

Che cos'è il MaaS nel cloud computing?

MaaS (Monitoring as a Service) è il modello cloud in cui uno strumento di monitoraggio, come uno strumento di monitoraggio SaaS, viene offerto come servizio, esterno alla propria infrastruttura. In questo modo il monitoraggio e la gestione dei sistemi IT, delle reti e delle applicazioni sono forniti da un fornitore di terze parti, di solito con un modello di abbonamento.

Che cos'è lo XaaS nel cloud computing?

XaaS (Everything as a Service o Anything as a Service) è un termine generico che definisce l'offerta cloud completa di un'azienda. Comprende tutti i modelli precedentemente discussi come Paas, SaaS, IaaS, DaaS e altri ancora, in un unico termine. Non si tratta di un modello cloud separato, ma di un termine che raggruppa tutti i modelli offerti da un provider cloud.