Quante tipologie di cloud computing esistono?

Il cloud computing è il fenomeno del momento: stiamo andando verso una tipologia di rete che sarà sempre più popolata da servizi cloud, sia nell’ottica finale, per la fruizione dei contenuti online, sia in quella infrastrutturale; gli hosting provider stanno convertendo le loro infrastrutture per renderle aderenti al modello “cloud”, partendo quindi dalla virtualizzazione dei server, il primo step necessario. Non tutti i nostri clienti sono però così informati per districarsi tra articoli, informazioni e offerte del settore cloud, per questo l’articolo di oggi è dedicato alle tipologie di servizi cloud computing ad oggi esistenti.

Di seguito la figura della Cloud Stack, ovvero dei differenti livelli coperti da ogni tipologia:

Faremo distinzione tra 3 grandi famiglie:

SaaS: Software as a Service

SaaS è uno dei termini più “vecchi” della sfera del cloud computing e indica una applicazione che viene offerta al cliente tramite browser, senza la necessità di installare alcun software sul PC, e ha un modello di fatturazione solitamente “per utente”, ovvero un canone mensile che viene applicato al singolo utente e al suo account: una azienda che acquista una soluzione SaaS pagherà quindi n licenze se ha n utenti. Questo tipo di servizio oggi è diffusissimo, basti pensare al CRM di SalesForce.com o ad altri software come Google Analytics o come FreshBooks.com. Sono tutti esempi di applicazioni che vengono fornite direttamente dall’azienda che le crea, sono utilizzabili tramite browser e consentono spesso di avere API per interfacciarsi ad esse e integrarle anche all’interno dei software della compagnia presso cui si utilizzano.

La caratteristica principale dei servizi SaaS è la loro completa autonomia operativa: i clienti non devono preoccuparsi di nessun aspetto tecnico, ma devono solamente utilizzare l’applicazione. Sarà il fornitore del servizio a occuparsi della “scalabilità” della stessa, dei server e della sicurezza necessaria ad erogare il servizio; ad oggi i servizi SaaS sono anche quelli più remunerativi nel mondo del cloud computing, visti i loro alti margini di guadagno rispetto alle categorie che andremo a vedere di seguito.

PaaS: Platform as a Service

Si trova esattamente a metà nella pila dei servizi cloud. PaaS significa l’erogazione al cliente finale di una intera piattaforma cloud, alla quale lui ha accesso tramite un determinato framework: un esempio lampante è rappresentato da Google AppEngine o da Microsoft Azure, in entrambi questi servizi il cliente può eseguire codice all’interno della piattaforma utilizzando le funzionalità e le API della stessa, ma senza doversi preoccupare di gestire i server che le eseguono nè avendo alcuna idea di come questi siano stati installati e vengano gestiti.

Il cliente accede ad un vero e proprio framework distribuito che può essere utilizzato per scrivere le sue applicazioni, per replicarle e facilitarne il funzionamento anche al crescere delle visite. Il cloud computing di tipo PaaS è infatti pensato soprattutto per gli sviluppatori che vogliono scrivere le loro applicazioni dotandole di una infrastruttura di cloud computing completamente managed: è il software alla base di questa che si occupa di aumentare le risorse o diminuirle in base alle richieste della nostra applicazioni, mentre da parte degli sviluppatori non è necessario alcun intervento sul sistema, nè per installare nuovi componenti (non possibile, dal momento che non si ha accesso ai server come amministratori) nè per gli aggiornamenti (gestiti in autonomia dal provider).

Nell’ultimo periodo si sono diffuse molte piattaforme PaaS, tra cui le più importanti dedicate a linguaggi come Ruby on Rails (un esempio è Heroku) oppure a PHP (un esempio è PHPFog).

HaaS: Hardware as a service

In questo caso parliamo di un vero e proprio accesso, con privilegi di amministratore, ad una architettura cloud: i clienti possono creare più istanze virtuali (senza limiti di numero) e usufruire delle risorse della infrastruttura cloud per far funzionare le loro macchine. Il modello di Amazon EC2 è il più famoso e quello che meglio si adatta a questa definizione: non vi è alcun limite di utilizzo in questa tipologia di servizio, il cliente può utilizzare il server liberamente, installando il sistema operativo che preferisce e utilizzandolo in unione ad altre istanze virtuali per bilanciare il carico delle sue applicazioni online.

Per capire HaaS bisogna però aggiungere qualche dettaglio: le piattaforme cloud sono pensate per consentire ai clienti di chiedere risorse in tempo reale, passando da 10 a 1000 istanze in pochi minuti, e soprattutto fornendo loro strumenti che permettano di gestirle. Per questo solitamente i provider di soluzioni HaaS forniscono servizi come il Load Balancing, lo storage cloud e strumenti per la gestione del networking all’interno della propria rete nell’infrastruttura cloud.

E’ attualmente la tipologia di servizio più difficile da realizzare, per via degli altissimi investimenti richiesti. In HostingSolutions.it abbiamo avviato da tempo una conversione a VMware di molte delle nostre macchine, andando verso un modello cloud, il nostro server Cloud è in tal senso un prodotto che si avvicina al modello HaaS. Nel mondo del cloud computing (come indicato anche nella figura iniziale) si parla spesso di IaaS al posto di HaaS, Infrastructure as a Service: vogliamo mantenere semplice questo articolo e possiamo considerare equivalenti questi due modelli, almeno nel loro target.

Quale scegliere?

Il modello SaaS è quello utilizzato solitamente da tutti gli utenti, siano essi privati o aziende, per via anche del gran numero di applicazioni esistenti. Il modello HaaS è invece destinato a chi ha competenze nella gestione di server e ha necessità di avere potenza di calcolo disponibile per le proprie applicazioni, anche nel caso queste presentino picchi di utilizzo! Infine il modello PaaS, quello che forse può apparire come il più interessante, è destinato quasi esclusivamente agli sviluppatori e ai programmatori che vogliono trovare una soluzione scalabile (in termini cloud) per la propria applicazione, senza doversi preoccupare di gestire i server.

Tutto chiaro sulla famiglia del Cloud Computing? Avremo altri articoli dedicati al cloud, ma se qualcosa non è chiaro, chiedete pure con un commento qui sotto! A presto!