Il cloud computing è un modo di fruire (ma anche di fornire) di risorse di calcolo (per una defizione più formale vedere The NIST Definition of Cloud Computing).
Per questa ragione esistono differenti tipi di cloud in base a quale tipo di risorsa viene fornita. A macrolivelli possiamo identificare almeno tre grosse tipologie di cloud:
-
Infrastructure as a service (IaaS): in questo caso le risorse fornite sono normalmente VM e risorse di un virtual datacenter (come ad esempio storage e networking), ovviamente sono fornite anche funzioni di gestione. Un esempio di questo tipo di cloud è Amazon EC2.
-
Platform as a service (PaaS): in questo caso viene fornita una piattorma sulla quale sviluppare applicazioni, che include normalmente un sistema operativo, librerie, framework, linguaggi di programmazione e tutto quello che potrebbe service a realizzare un’applicazione multi-tiers (inclusi normalmente anche i database e i presentation server). Un esempio di questo tipo di cloud è Microsoft Azure.
-
Software as a service (SaaS): in questo caso viene fornita direttamente un’applicazione e/o un servizio (o un insieme di applicazioni/servizi). Un esempio di questo tipo di cloud è Microsoft Office 365 oppure Google Apps.
In realtà poi esistono tanti altri tipi di servizi (alcuni in realtà riconducibili ai precedenti), come pure è possibile pensare di fornire l’intero stack usando un modello basato su All as a Service (XaaS), o più propriamente su IT as a Service (ITaaS).
Questi diversi tipi di cloud, implicano anche responsabilità e compiti di gestione differenti tra il provider e il fruitore dei servizi cloud:
- nell’IT tradizionale tutto è in compito allo staff IT interno (tralasciamo formule di outsourcing di servizi che potrebbero rientrare, almeno dal punto di vista formale, come tipi di servizi cloud)
- con un approccio IaaS la gestione “interna” parte dal livello del sistema operativo in su (escludendo quelle attività di configurazione e provisioning a livello virtualization)
- con il PaaS si parte dal livello data (escludendo quelle attività di configurazione e provisioning a livello runtime e/o middleware)
- con il SaaS normalmente non ci sono attività di manutenzione e gestione, escludendo quelle attività di configurazione e provisioning a livello di applicazione e/o servizio
Naturalmente sono da considerare altre attività, come ad esempio quelle di migrazione ad una soluzione cloud.
Oltre alla classificazione in base al tipo di risorsa/servizio, è possibile classificare i tipi di cloud in base a come avviene l’accesso alle risorse (o al dove sono posizionate):
- Private Cloud: le risorse sono tutte interne ad un’organizzazione
- Public Cloud: le risorse sono tutte esterne ad un’organizzazione
- Hybrid Cloud: le risorse sono parte interne e parte esterne
Nel caso di cloud privati, provider e fruitore ricadono nella stessa azienda/organizzazione (benché potrebbero appartenere a divisioni/gruppi diversi). In questo caso ovviamente alcune considerazioni precedentemente fatte sui ruoli di gestione vanno rivisti.