Differenza tra On-Premise, RaaS, CaaS e FaaS

Differenza tra On-Premise, RaaS, CaaS e FaaS

Cloud computing

Il cloud computing consiste nella distribuzione on-demand delle risorse IT tramite Internet, con una tariffazione basata sul consumo. L’introduzione del cloud è giustificata principalmente da tre fattori che si sono fatti strada nel corso degli ultimi anni, ovvero la possibilità, da parte dei computer, di offrire potenza e risorse di calcolo sempre maggiori, l’apertura della quasi totalità delle aziende verso il web e la richiesta, da parte degli utenti, di servizi sempre più reattivi e affidabili. Quando le prime aziende cominciarono a percepire la necessità di affacciarsi al mondo del web e di mantenere un sistema distribuito, cercarono di costruire e mandare avanti un proprio data center interno, preoccupandosi di tutti gli aspetti gestionali, dal problema dell’ospitare fisicamente decine o centinaia di server, contando anche l’onere di doverli installare e manutenere, fino alla configurazione e al mantenimento di tutti gli strumenti software necessari e delle loro operazioni. Risulta evidente come, una soluzione simile, denominata on-premise, con la crescita esponenziale dei servizi offerti, caratterizzati da vincoli di disponibilità e velocità sempre più restrittivi, risultò presto insufficiente e inefficiente. I costi di acquisto e manutenzione erano troppo elevati, i sistemi troppo complessi, e vi erano inoltre seri problemi legati alla scalabilità, poiché si era fisicamente limitati dalla potenza computazionale posseduta, senza la possibilità di distribuire il carico su risorse supplementari.

Volendo elencare le caratteristiche principali del cloud, si hanno le seguenti:

  • Risorse virtualizzate pressoché illimitate, fornite on-demand pagando in base alle capacità desiderate.
  • Ambiente affidabile e altamente disponibile, controllato da un contratto di tipo SLA.
  • Possibilità di aumentare con elasticità le risorse a disposizione in tempo reale, senza dover allocare in anticipo una quantità maggiore al necessario.
  • Elevata scalabilità a fronte di traffico intenso.
  • Sicurezza e protezione controllata dei dati garantite dall’utilizzo di strumenti affidabili e consolidati.
  • Costi di gestione prossimi allo zero.

Differenza tra on-premise, RaaS, CaaS e FaaS

Modelli di cloud computing

Il cloud incarna l’idea, molto generica, di RaaS (Resource as a Service), dove per “service” si intende l’astrazione di un processo logico, di una risorsa o di un’applicazione, che nasconde i dettagli implementativi. In particolare, questa concezione porta alla definizione di alcuni modelli, o tipologie di cloud computing, che portano il nome rispettivamente di IaaS (Infrastructure as a Service), PaaS (Platform as a Service) e SaaS (Software as a Service). Ognuno di questi modelli va ad agire su un livello diverso dello stack che parte dall’infrastruttura hardware fino ad arrivare al piano applicativo.
Partendo dal livello più basso, si trova il modello IaaS, il quale astrae gli elementi fondamentali di base dell’infrastruttura IT del cloud e consente l’accesso a risorse virtualizzate relative al networking, alla computazione e allo spazio di storage dei dati. Risalendo i livelli si trova poi il servizio PaaS, grazie al quale le organizzazioni non devono più gestire l’infrastruttura di basso livello, come hardware e sistemi operativi.

Questo servizio si occupa della gestione della distribuzione delle applicazioni, fornendo una serie di strumenti utili a sviluppatori e ingegneri del software, i quali potranno concentrarsi su caratteristiche di alto livello, senza doversi dedicare ad attività quali l’approvvigionamento delle risorse, la pianificazione della capacità, l’applicazione di patch o qualsiasi altro tipo di attività onerosa che possa interessare l’esecuzione delle applicazioni.
Infine, nella parte più alta dello stack, il modello SaaS va ad offrire, agli utilizzatori finali, un prodotto completo che viene eseguito e gestito dal provider di servizi. Grazie alla soluzione SaaS non è più necessario preoccuparsi neanche delle modalità di gestione del servizio, oltre che dell’infrastruttura sottostante. L’utente può concentrarsi esclusivamente sull’uso di un software particolare, quale potrebbe essere un client di posta elettronica accessibile via web, senza il bisogno di installare o configurare nulla sulla propria macchina. La Figura seguente permette di visualizzare lo stack appena descritto, evidenziando la netta separazione di responsabilità esistente tra i tre modelli. Questi vengono inoltre messi a confronto con lo stack previsto in uno scenario on-premise, in cui ogni livello è di responsabilità dell’ente proprietario del servizio.

Separazione delle responsabilità nelle tipologie di cloud computing

Le tre tipologie descritte sono ormai presenti e consolidate da diverso tempo. Molto più recenti sono invece due modelli che vanno a porsi in posizione intermedia tra i tre appena citati. Il primo tra questi è chiamato CaaS (Container as a Service) e nasce come servizio atto a semplificare il processo di costruzione e deployment di un’applicazione a container, scalabile e sicura, in data center on-premise o in cloud. Viene tipicamente posto a cavallo tra IaaS e PaaS, in quanto, seppur fornendo allo stesso modo un’infrastruttura facilmente scalabile e ridimensionabile on-demand, differisce dal primo per l’approccio alla virtualizzazione, con un passaggio da macchine virtuali complete a micro-istanze che girano in container isolati. Sostanzialmente nel CaaS si incontrano la flessibilità del modello IaaS e il livello di astrazione del modello PaaS, con l’aggiunta di un livello di controllo delle risorse, e quindi anche di costi più elevati.

Il secondo nuovo modello si pone in un piano intermedio tra PaaS e SaaS, ed è spesso offerto come feature supplementare nelle principali implementazioni PaaS. Questo prende il nome di FaaS (Function as a Service), viene introdotto con il progetto Lambda di Amazon e va ad identificarsi come uno degli elementi cardine di quel moderno approccio che più comunemente è indicato come serverless computing. Con l’ingresso delle FaaS si tenta di prendere molti aspetti che già prima erano offerti dalle PaaS, facendo un passo avanti in termini di astrazione, scalabilità e riduzione dei costi. La Figura seguente va quindi ad ampliare lo spettro delle tipologie cloud presenti al momento, ponendo l’accento sul livello di astrazione che, con ognuna di esse, si riesce a raggiungere.
In realtà all’appello manca un ultimo modello, denominato BaaS (Backend as a Service), che è descritto in un altro articolo a confronto con il modello FaaS, essendo i due spesso accomunati.

Separazione delle responsabilità nei nuovi modelli di cloud computing

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *