Cloud Computing: i termini da conoscere

cloud

Il termine “cloud” è indubbiamente tra i più popolari degli ultimi anni perchè ormai entrato a fare parte anche del vocabolario dei non addetti ai lavori – ed il cui utilizzo è forse troppo spesso abusato. Come abbiamo visto nel post di venerdì scorso, il settore del cloud computing pubblico continua a crescere anche in Italia, replicando quanto avviene (anche se non con le medesime cifre) a livello globale.

I motivi del successo del cloud sono vari ma possono essere riassunti in due parole: tempo e denaro. Appoggiarsi ad una qualsiasi piattaforma cloud significa poter disporre nel minore lasso di tempo possibile delle risorse necessarie all’avvio di un nuovo progetto o ad un cambio di strategia aziendale (i cloud server Hosting Solutions sono ad esempio online in meno di 60 secondi), senza il bisogno di avviare il lunghissimo iter che passa dall’ordinazione della componentistica fino a al setup dell’infrastruttura – e diversi mesi di testing hardware e software. Ciò si traduce anche in un sostanziale taglio dei costi perchè l’impresa non deve occuparsi di gestire e provvedere alla manutenzione di una propria infrastruttura (con tutto quel che è annesso a tale pratica come il personale tecnico e via dicendo).

Nel post di oggi vedremo di mostrare concretamente quali sono i benefici offerti dal cloud presentando alcune modalità di fruizione e definizioni/termini ad esse inerenti.

Software as a Service (Application as a Service o SaaS)

A questo primo gruppo appartengono tutte quelle applicazioni che, in un certo senso, hanno inaugurato l’epoca del cloud computing moderno. E’ possibile utilizzare, solitamente da browser, determinate applicazioni che risiedono sulla piattaforma del provider prescelto. Nella categoria non rientrano solo applicazioni enterprise ma anche quelle utilizzate ogni giorno da “semplici utenti” come la posta elettronica, i calendari, gli editor di documenti elettronici (un esempio è la nota suite SaaS offerta da Google e comprendente gmail, google calendar  etc.).

Il vantaggio immediato delle applicazioni SaaS è quello di poter utilizzare app di livello enterprise senza effettuare l’acquisto e l’installazione di costoso software enterprise. Le modalità di fruizione via web ed il modello di sottoscrizione conveniente hanno inoltre reso possibile anche a piccole e medie imprese di accedere a soluzioni in passato acquistabili solo da grandi compagnie.

Infastructure as a Service (IaaS)

Definizione con la quale si indica in generale l’utilizzo on demand di capacità computazionale (ma non solo) fruibile via Internet e proveniente dal data center del provider prescelto. Ad esempio tutti i clienti che utilizzano un cloud server Hosting Solutions stanno “noleggiando” una parte della capacità computazionale messa a disposizione dai nostri data center. Rispetto alle altre modalità di fruizione via cloud,  l’IaaS offre accesso diretto alla macchina fisica ed al software in essa installata, senza ricorrere ad elementi “intermedi” come l’interfaccia utente.

E’ bene ricordare che via IaaS è possibile mettere a disposizione degli interessati qualsiasi componente presente in un data center (storage, database etc.).

I vantaggi della formula IaaS sono presto detti: possibilità di sfruttare costose risorse computazionali ad un prezzo accessibile e senza la necessità di provvedere alla gestione/manutenzione della macchina (sarà lo staff tecnico del provider ad occuparsene).

Storage as a Service (STaaS)

I servizi che rientrano nella categoria storage as a service (come Amazon  Simple Storage Service) consentono di accedere in remoto a degli hard disk fisici per sfruttarne lo spazio di archiviazione per vari scopi. In generale sono una delle colonne portanti del cloud e dalle quali dipendono anche altre tipologie di servizi – del resto la necessità di archiviare dei dati è una costante del mondo informatico. Tra i principali vantaggi di questa soluzione ricordiamo:

  • la possibilità di aumentare o diminuire le dimensioni dell’archivio in base alle proprie necessità e pagando esclusivamente per lo spazio utilizzato. Si tratta quindi di una soluzione ideale per l’archiviazione di ingenti quantità di dati (oltre i 500GB) o per il backup di file importanti.
  • Manutenzione dell’hardware a carico del provider. Accedendo da remoto ad un hard disk messo a disposizione dal provider di turno significa, in caso di problemi/guasti, il non dover provvedere alla manutenzione o alla sostituzione di quest’ultimo. Tutte queste operazioni saranno infatti a carico del provider.
  • Disaster Recovery. Il recupero di file o directory eliminate in passato (per errore o volutamente) è parte integrante del servizio. L’azienda non deve quindi incaricare alcun addetto ai lavori per seguire l’importante task.

Database as a Service (DBaaS)

Come per il precedente servizio, si ha accesso ad una risorsa (il database) che non risiede nella propria infrastruttura locale e che sottrae l’azienda ai costi hardware, software e di manutenzione. E’ possibile disporre del database in base alle esigenze del momento creando tabelle ed accedendo ai dati mediante l’interfaccia fornita, condividendo l’accesso con altri utenti.

Le classiche funzioni offerte da un database locale sono quindi presenti ma, in base al provider prescelto, si potrebbero avere a disposizione anche particolari funzioni aggiuntive (come quelle offerte da Microsoft e Oracle). E per quanto riguarda le prestazioni? In linea di massima i tempi di latenza offerti dai principali provider risultano buoni ma è bene essere consapevoli che, rispetto a soluzioni completamente locali, vi è sempre qualche compromesso da accettare.

Platform as a Service (PaaS)

Una piattaforma isolata e completa, accessibile come sempre da remoto, che consente di sviluppare applicazioni, interfacce e mette a disposizione anche storage, database e possibilità di effettuare operazioni di testing. Google App Engine è ad esempio tra le soluzioni più popolari per lo sviluppo di applicazioni nel cloud. In relazione all’ecosistema PaaS, i seguenti termini assumono il corrispettivo significato:

  • deploy: test, raggruppamento e “consegna” delle applicazioni sviluppate. Ciò significa hostare le applicazioni che saranno accessibili “visualmente” da browser o come servizio web;
  • development: l’esecuzione di una serie di task (design, sviluppo, testing etc.) al di fuori della piattaforma ma impiegando strumenti disponibili on-demand;
  • design: design dell’applicazione e delle interfacce utente;
  • integration: si riferisce al processo di integrazione tra app sviluppate via PaaS ed altre applicazioni SaaS o “locali” (on-premise);
  • storage: rendere disponibile, su richiesta delle applicazioni, database o spazio di archiviazione file necessario al corretto funzionamento dell’app.
  • operations: si riferisce alle task che devono essere effettuate per applicazioni destinate ad operare per un lungo periodo: backup, ripristino, gestione degli imprevisti etc.