IaaS, PaaS e SaaS

Con la diffusione sempre più capillare del cloud, sentiamo spesso parlare di infrastrutture, piattaforme e software erogabili on demand. Ma qual’è la differenza tra IaaS, PaaS e SaaS?

In primis, è la tipologia di servizio erogabile a fare la differenza.

Prima ancora, è importante avere chiaro i componenti principali di una piattaforma cloud sulla quale si appoggiano i provider per distribuire i servizi on demand.

Spazio, anche chiamato storage, composto da un NAS (Network Attached Storage), da una SAN (Storage Attached Network) o diversamente da una struttura/architettura? complessa ad hoc
Nodi di calcolo che gestiscono la virtualizzazione dei processi
Controller, per la migrazione dei dati
Dal punto di vista concettuale, IaaS, SaaS e PaaS possono essere considerati come tre livelli di astrazione, diversificati a seconda del tipo di servizio offerto e dal tipo di utente. Dunque, è possibile mettere in relazione tali modelli: un servizio offerto da un IaaS supporta un servizio PaaS, che a sua volta supporta un servizio SaaS.

Più nello specifico, i tre servizi erogabili per definizione sono:

Software-as-a-Service
E’ un modello che racchiude applicativi e sistemi software, accessibili da un qualsiasi tipo di dispositivo (computer, smartphone, tablet, ecc.), attraverso il semplice utilizzo di un’interfaccia client. In questo modo, l’utilizzatore non deve preoccuparsi di gestire le risorse e l’infrastruttura, in quanto controllati dal provider che li fornisce.
Esempi: G Suite

Platform-as-a-Service (PaaS)
E’ un modello nel quale vengono situati i servizi di piattaforme online, grazie al quale un utente, di solito uno sviluppatore, può effettuare il deployment di applicazioni e servizi web che intende fornire. In questo caso, l’utilizzatore può sviluppare ed eseguire le proprie applicazioni attraverso gli strumenti forniti dal provider, il quale garantisce il corretto funzionamento dell’infrastruttura sottostante.
Esempi: Amazon Relational Database Service (RDS), Amazon DynamoDB, Amazon API Gateway, Google Cloud App Engine, Google Cloud SQL, Google Cloud Datastore, ecc.

In questo caso, l’utilizzatore può sviluppare ed eseguire le proprie applicazioni attraverso gli strumenti forniti dal provider, il quale garantisce il corretto funzionamento dell’infrastruttura sottostante.
Esempi: Amazon Relational Database Service (RDS), Amazon DynamoDB, Amazon API Gateway, Google Cloud App Engine, Google Cloud SQL, Google Cloud Datastore, ecc.
Esempi: Amazon Elastic Cloud Compute (EC2), Amazon Simple Storage Service (S3), Amazon Virtual Private Cloud (VPC), Google Cloud Engine, Google Cloud Storage, ecc.

IaaS
Infrastructure-as-a-service (IaaS) è la più semplice delle tre categorie da definire, in quanto è sostanzialmente la stessa indipendentemente dal fornitore che si sceglie. In poche parole IaaS è un’offerta con la quale un vendor di terze parti fornisce un’infrastruttura IT altamente automatizzata e scalabile (archiviazione, hosting, elaborazione dati, networking) e fa pagare solo per quello che si utilizza.

Quindi, piuttosto che possedere risorse come licenze software o server, le aziende possono affittare in modo flessibile le risorse in base alle loro esigenze.

PaaS
Platform-as-a-service (PaaS) è probabilmente il più difficile tra i tre modelli cloud da definire in modo chiaro. L’idea alla sua base è fornire una piattaforma con gli strumenti e le funzionalità necessarie per sviluppare e distribuire le applicazioni in modo sicuro (middleware, gestione di database, analytics o un sistema operativo).

Una piattaforma come servizio dovrebbe fornire a uno sviluppatore tutto ciò di cui ha bisogno per creare e distribuire un’applicazione senza dover effettuare autonomamente il provisioning dell’infrastruttura sottostante. I fornitori di soluzioni PaaS sono di fatto le più grandi aziende tecnologiche al mondo e questo perché devono offrire una vasta gamma di funzionalità per i loro clienti.

SaaS
Software-as-a-service (SaaS) indica un software ospitato da un fornitore di terze parti al quale accedere via web (normalmente tramite un semplice log-in). Questo servizio viene generalmente pagato con un abbonamento per singolo utente (o singola postazione) e ciò differisce dal vecchio modello di acquisto e installazione manuale del software su una macchina o un server.

SaaS è molto rilevante per applicazioni specifiche come l’email o i software di gestione delle relazioni con i clienti (CRM). Chiunque abbia usato un’app Google come Gmail o Google Docs o un servizio di cloud storage come Dropbox, ha già avuto esperienza di SaaS. I principali fornitori SaaS a livello globale includono Microsoft con Office 365 e pionieri del software aziendale come Salesforce con la sua soluzione CRM SaaS e il software HR di Workday basato sul cloud.

Terminologia di base di un servizio Iaas: Per comprendere questa tecnologia bisogna capire le funzionalita’ che non essendo sotto nostra gestione diretta sono gestite da chi sotto forma di contratto ce le vende.
Ad esempio la parte dei server fisici, e virtuali, viene gestita dal Service Provider in questione che ci vende un servizio chiamato cloud computing istances che in maniera trasparente gestisce a basso livello la creazione di nuove istanze di un server utili a raggiungere obiettivi quali : ridondanza, failover, load balancing, calcolo distribuito, etc

Ci sono poi i casi ad esempio il calcolo distribuito dove si deve far girare una applicazione distribuita, sfruttando un cluster di computer, per raggiungere la otenza computazionale necessaria, e quindi noleggiamo un certo numero di server, su cui facciamo girare parallelamente, distribuitamente, lo stasso applicativo, e qui il gestore ci vendera’ la Cloud Compueting istance a seconda dei server che necessitano.
Lo stesso discorso si applica alla gestione dello storage, nel senso che abbiamo dei block storage, che possiamo acquistare, che sono collegati ad una non specifica unita’ di calcolo, che viene visto e montato come una unita’ di rete, o come un disco di qualsiasi tipo, riducendo cosi la preoccupèazione nel caso dovessimo, nel caso che auementasse il traffico di dover collegare un nuovo disco piu’ grande,
Si e’ parlato in precedenza di Load Balancing, ecco quindi che e’ chiaro che una maggiore richiesta computazionele e’ generata da un maggior traffico sul sito ed e’ quindi chiaro che avro’ bisogno di allargare significativamente, per un periodo di tempo anche la banda, pagando questa volta una banda piu’ larga al gestore