Si ringrazia Michelangelo Uberti, Marketing Manager Par-Tec, per questo articolo.
Chi approccia per la prima volta il mondo del cloud deve fare i conti con una serie di termini e concetti base che ritroverà in tutte le soluzioni proposte da vendor e provider. Come spiegato da Par-Tec nei suoi numerosi workshop formativi, la comprensione dei modelli di servizio e dei modelli di erogazione rappresenta il primo passo verso il cloud computing.
La Pizza-as-a-Service
Nel 2014, Albert Barron, che in quel periodo ricopriva il ruolo di Executive Software Client Architect di IBM, ha utilizzato una metafora che permette di spiegare l’evoluzione delle piattaforme cloud partendo dall’alimento più amato al mondo: la pizza.
- Chi decide di fare la pizza in casa deve preoccuparsi di ogni singolo elemento, dalla preparazione dell’impasto fino all’apparecchiamento del tavolo. Lo stesso accade con l’IT tradizionale, dove le aziende devono gestire ogni singolo aspetto, con tutti i costi e le complicazioni che questo può comportare.
- Quando si compra una pizza surgelata non è più necessario occuparsi della prima fase della preparazione ma resteranno a carico dell’utente tutte quelle successive. Analogamente, nell’Infrastructure-as-a-Service il cloud provider gestisce alcune delle componenti infrastrutturali di base.
- Quando si ordina la pizza con un servizio di consegna, basta apparecchiare la tavola e organizzarsi con le bevande. In un modo simile, l’utente deve rilasciare le proprie applicazioni (le stoviglie) in una Platform-as-a-Service.
- Infine, quando si sceglie di andare in pizzeria, è sufficiente sedersi a tavola, mangiare e pagare per ciò che si è consumato. Questo è esattamente ciò che accade con il Software-as-a-Service, in cui si paga per fruire di un servizio creato e gestito da qualcun altro.
Per quanto efficace, questa metafora presenta dei problemi. Molti esperti hanno fatto notare che il paragone “infrastruttura pronta – pizza precotta” crea una falsa aspettativa perché i due modelli impongono comunque una discreta capacità progettuale. Inoltre, potrebbe ricordare il classico outsourcing in cui un terzo lavora al posto del cliente su uno stack identico a quello tradizionale. Ai fini didattici, questa metafora è perfetta ma, in termini professionali, è possibile far riferimento ad un modello leggermente più evoluto.
Approccio XaaS
Il modello Everything-as-a-Service si concentra sul crescente grado di personalizzabilità della soluzione (in questo caso della pizza).
- Nello scenario Fatta in casa ci si deve preoccupare anche di aspetti che hanno ben poco a che vedere con la preparazione della pizza. Ad esempio, è necessario attivare il contratto del gas e preoccuparsi dell’installazione del forno.
- Nel caso della Cucina-as-a-Service, il cloud provider fornisce una cucina attrezzata che, parlando in termini IT, coincide con l’hardware e tutte le facilities di datacenter. Il Cloud Engineer specializzato sullo strato IaaS opera come un bravo pizzaiolo capace di usare tutti gli strumenti e gli ingredienti a disposizione per farci una pizza completamente personalizzata.
- Con il modello Cottura-as-a-Service si ha anche una serie di ingredienti già pronti. Ciò comporta un minore grado di personalizzabilità – ad es. l’impasto è già stato fatto con determinate farine – ed è comunque necessario essere capaci di completare l’assemblaggio della pizza. In questo caso il pizzaiolo assomiglia più ad uno sviluppatore che ad un sistemista.
- Con la Pizza-as-a-Service non si ha più un pizzaiolo in-house e il grado di personalizzabilità è limitato all’aggiunta (o alla rimozione) di specifici ingredienti in fase di ordine. Questo è ciò che accade quando si sottoscrive un servizio SaaS in cui le uniche personalizzazioni riguardano il tema dell’interfaccia o poche altre preferenze di sistema.
I modelli di servizio
Quali sono quindi i modelli di servizio disponibili in ambito cloud computing?
- Nell’IT tradizionale le aziende devono gestire l’intero stack, dalla rete alle applicazioni. Si tratta ovviamente di un approccio non-cloud, citato esclusivamente a fini esemplificativi.
- Nell’Infrastructure-as-a-Service il cloud provider gestisce le componenti infrastrutturali che vanno dal ferro allo strato di virtualizzazione. Numerosi servizi cloud di tipo IaaS si basano su progetti open source come OpenStack: diversi telco provider italiani hanno scelto la versione enterprise (Red Hat OpenStack Platform) avvalendosi del supporto di un system integrator specializzato come Par-Tec.
- Nel Platform-as-a-Service viene fatto un ulteriore salto in alto nella pila, perché al cliente finale rimangono in carico soltanto le applicazioni ed i relativi dati. Piattaforme open source come OKD e la sua controparte commerciale (Red Hat OpenShift) hanno accelerato l’adozione in ambito enterprise dei Linux Containers e della metodologia DevOps.
- Infine, nel Software-as-a-Service il cloud provider gestisce l’intero stack e al cliente finale non resta che fruire del servizio contrattualizzato senza preoccuparsi di alcunché. Questo è il tipico caso di chi utilizza un servizio di videoconferenza.
Ogni azienda può usare contemporaneamente più modelli, anche da fornitori diversi: lo IaaS comprato da Amazon Web Services o Google Cloud, un PaaS basato su OpenShift che gira su un cloud IBM e infine la posta in SaaS su Office365 di Microsoft.
Tra IaaS e PaaS: il CaaS
Diversi anni fa sono nate delle soluzioni che si pongono in una posizione intermedia tra infrastruttura e piattaforma.
È il caso dei Container-as-a-Service (CaaS), delle soluzioni che forniscono all’utente la possibilità di sviluppare e distribuire applicazioni sotto forma di container. A differenza delle PaaS, non includono funzionalità come l’orchestrazione, il life-cycle management dei container e l’automazione (one-click deploy).
Anche se rappresentato solo in questo silo, lo strato “container” è tipicamente presente anche in tutti gli altri.
Modelli di erogazione
A prescindere dal modello di servizio – IaaS, PaaS o SaaS – esistono tre principali modelli di erogazione.
Un Public Cloud è un tipo di cloud in cui le componenti infrastrutturali non prevedono un uso esclusivo ma sono condivise ed aperte al pubblico. Ad ogni cliente viene assegnato un tenant all’interno del quale può operare in perfetta autonomia, ovviamente nei limiti di quanto acquistato. La peculiarità è che le risorse afferenti al tenant coinvolgono componenti infrastrutturali – hypervisor, rete, storage etc. – condivise con i tenant di altri clienti.
Il Private Cloud prevede invece che le risorse gestite dal cloud provider siano dedicate al cliente. È errore comune pensare che un Private Cloud debba necessariamente essere on-premise, cioè ospitato nel datacenter del cliente e gestito dal suo IT. In realtà è possibile avere un proprio Private Cloud ospitato e interamente gestito da un cloud provider.
Infine, c’è il caso dell’Hybrid Cloud, dove vengono messe a fattor comune risorse dedicate (spesso on-premise) e condivise, indifferentemente interne o gestite da terzi. È un approccio particolarmente in voga che consente di rispondere ad alcune esigenze specifiche, in particolare:
- legislative, per rispondere alla necessità di erogare il servizio in territori dove non è possibile avere un proprio datacenter;
- dimensionali, per poter gestire dei picchi di richieste per le quali il proprio cloud non è dimensionato;
- di sicurezza, perché si preferisce ospitare all’interno i servizi di back-end con i propri dati e all’esterno solo i servizi di front-end.
Comments are closed.