Cloud Computing: Differenza tra Modelli di Erogazione e Modelli di Servizio

Cloud Computing: Differenza tra Modelli di Erogazione e Modelli di Servizio

Il Cloud Computing, conosciuto con l’abbreviazione Cloud, è un modello per condividere un set di risorse computazionali (rete, server, storage, applicazioni ecc.) in maniera conveniente, configurabile, rapida e che necessita di una minima interazione provider-utente finale. Sfrutta in particolare i vantaggi derivanti dall’utilizzo dalle reti distribuite, utilizza risorse virtualizzate e i protocolli internet.

Affinché si possa parlare di Cloud computing è necessario che:

  • l’utente abbia la possibilità, unilaterale, di approvvigionarsi di risorse computazionali
    automaticamente, senza che ci sia la necessità di una interazione umana con il provider di servizi Cloud.
  • le risorse siano accessibili via rete mediante standard che consentono l’utilizzo di piattaforme client eterogenee (smartphone, laptop ecc.).
  • le risorse computazionali del provider siano messe in comune per servire più utenti, utilizzando uno schema multi-cliente, che gestisca risorse fisiche e virtuali, dinamicamente, in accordo con le indicazioni degli utenti.
  • le risorse siano in grado di essere allocate rapidamente ed in modo flessibile, in alcuni casi automaticamente, per adattarsi, velocemente, alle variabili richieste degli utenti.
  • i sistemi controllino automaticamente ed ottimizzino l’utilizzo delle risorse mediante strumenti di misura basati su adeguati livelli di astrazione. L’utilizzo delle risorse deve poter essere monitorato, controllato ed elaborato, sia dal provider del servizio sia dagli utenti finali.

Citando l’ENISA (European Network and Information Security Agency) il Cloud Computing è un nuovo modo di erogare servizi IT, non una nuova tecnologia. La flessibilità e l’efficienza delle architetture Cloud sono rese possibili da meccanismi ormai consolidati quali:

  1. Astrazione: il Cloud Computing astrae i dettagli dell’implementazione a utenti e sviluppatori;
    infatti le applicazioni sono in funzione su un sistema fisico che non è specificato; i dati sono contenuti in luoghi non specificati; l’amministrazione del sistema è affidata ad altri e gli utenti vi accedono ovunque.
  2. Virtualizzazione: il Cloud Computing virtualizza i sistemi attraverso un pooling di risorse condivise. I sistemi possono essere distribuiti da una infrastruttura centralizzata. I costi sono stimati in base ai consumi; è attivo il multi-tenancy e le risorse sono facilmente scalabili.

Il questa sezione invece verranno analizzate le due diverse classi di Cloud: quelli basati sui modelli di erogazione, che si riferiscono alla gestione e locazione dell’infrastruttura, e quelli basati sui modelli di servizio, che consistono in particolari tipi di servizi accessibili da una piattaforma Cloud.

Modelli di Erogazione

Cloud Computing: Differenza tra Cloud Pubblico, Privato, Ibrido e Comunitario

Sempre richiamando la definizione proposta dal NIST, i sistemi Cloud, secondo i modelli di erogazione, si dividono in:

  1. Cloud Pubblico: disponibile per un uso pubblico o per un grande gruppo industriale; il Cloud
    pubblico è gestito da un provider che offre servizi Cloud ed è accessibile attraverso internet. I servizi possono essere offerti in maniera gratuita, con set di risorse limitate, oppure a consumo. Tra i vantaggi troviamo: una gestione semplice che non prevede un esborso di denaro in quanto hardware, applicazioni e costi di connessione sono a carico del provider, una scalabilità del sistema senza limiti e una migliore gestione delle risorse derivante dal modello on-demand.
  2. Cloud Privato: è chiamato anche Cloud interno o Cloud aziendale. Può essere gestito
    dall’impresa stessa o da una di terze parti ed essere ubicata in sede o fuori sede. Offrendo servizi di hosting ad un numero limitato di utenti protetti da sistemi firewall, viene incontro alle organizzazioni che hanno bisogno di un maggiore controllo sui propri dati rispetto a quello che possono ottenere utilizzando un servizio di terze.
  3. Cloud Ibrido: combina Cloud privati e pubblici, dove ognuno mantiene la propria identità nonostante sia unito agli altri. Può offrire un accesso ai dati ed alle applicazioni di tipo standardizzato o proprietario e viene generalmente offerto con due soluzioni: un provider dispone di un Cloud privato e costituisce una partnership con un provider che gestisce un Cloud pubblico, o viceversa, un provider che gestisce Cloud pubblici costituisce una partnership con un provider che fornisce piattaforme su Cloud privati. Un Cloud Ibrido è un ambiente di Cloud computing in cui l’organizzazione fornisce e gestisce alcune risorse in- house mentre altre vengono esternalizzate. Idealmente l’approccio ibrido consente alle aziende di trarre vantaggio dalla scalabilità e dal rapporto costo-beneficio che un ambiente di Cloud pubblico offre senza esporre applicazioni critiche e dati privati all’accesso di terze parti, rendendoli quindi meno vulnerabili.
  4. Cloud Comunitario: l’infrastruttura è condivisa da più organizzazioni e supporta una comunità
    specifica che ne condivide alcuni ambiti (ad esempio, la mission, i requisiti di sicurezza, le policy e le considerazioni di conformità). Esso può essere gestito dalle organizzazioni stesse o da una terza parte e può essere on-premise o off-premise.

Un Cloud privato quindi differisce da uno pubblico non solo per il fatto che viene usato abitualmente sfruttando reti interne, garantendo quindi un maggior livello di sicurezza, ma anche perché viene utilizzato da centinaia a migliaia di nodi, anziché da decine di migliaia come avviene in quello pubblico.
Si contrappone un approccio single-tenancy del Cloud privato a quello multi-tenancy del Cloud pubblico e il modello di pricing si basa sul concetto di capacità utilizzata e non su quello di uso.

Il Cloud ibrido invece include caratteristiche di entrambe: un’azienda potrebbe decidere di mantenere nel Cloud privato applicazioni del core business e dati sensibili, mentre in quello pubblico i servizi “non core” meno vulnerabili dal punto di vista della sicurezza.

Modelli di Servizio

Cloud Computing: Differenza tra Cloud IAAS, PAAS e SAAS

Nei modelli di servizio le infrastrutture Cloud sono una espressione della tipologia di infrastruttura che viene erogata. Differenti provider offrono Cloud con differenti servizi associati. Tutti i modelli di servizio assumono la forma: Xaas (<Something> as a Service).

I tre modelli descritti nel modello NIST, conosciuti come “modello SPI” sono:

  1. Infrastructure as a Service (IAAS): mette a diposizione virtual machine, storage virtuale, infrastrutture virtuali e altre risorse hardware di cui i clienti possono usufruire. Il provider che fornisce il servizio IaaS gestisce tutta l’infrastruttura mentre il cliente si occupa del suo sviluppo che include: il sistema operativo, le applicazioni e le interazioni utente-macchina. Le sue caratteristiche includono: un servizio di tipo “Utility Computing”, gestione automatica delle attività di tipo amministrativo, scalabilità, virtualizzazione dei desktop, connettività internet.
  2. Platform as a Service (PAAS): offre virtual machine, sistemi operativi, applicazioni, servizi, framework di sviluppo e strutture di controllo. Il cliente può sviluppare le sue applicazioni utilizzando l’infrastruttura Cloud o le applicazioni programmate per mezzo di linguaggi e strumenti supportati dal provider. Il provider gestisce l’infrastruttura Cloud, i sistemi operativi ed il software di accesso. Il cliente invece installa e gestisce le applicazioni che sviluppa. Tra i vantaggi troviamo: la possibilità di aggiornare o cambiare frequentemente le caratteristiche del sistema operativo; diversi team di sviluppo, distribuiti geograficamente, possono lavorare insieme ad un progetto; i servizi possono essere ottenuti da diverse fonti che attraversano i confini nazionali. I costi iniziali e di mantenimento possono essere ridotti grazie all’utilizzo dei servizi di un infrastruttura gestita da un solo gestore rispetto all’utilizzo di servizi offerti da diversi hardware che spesso soffrono di problemi di compatibilità. Di contro si potrebbe incappare nel rischio di “lock-in” quando si usano servizi o linguaggi di sviluppo proprietari.
  3. Software as a Service (SAAS): è un ambiente completamente operativo con applicazioni, sistema gestione e interfaccia utente. Le applicazioni sono offerte al cliente attraverso una interfaccia (solitamente un web browser) e la competenza dell’utente è limitata all’inserimento, alla gestione e all’interazione dei dati. Tutto ciò che utilizza a partire dall’applicazione per arrivare all’infrastruttura è a carico del provider. Tra i benefici di una soluzione di questo genere troviamo: una semplice amministrazione, aggiornamenti automatici, un sistema di patch automatici forniti dal provider del servizio e una totale compatibilità derivante dall’utilizzo dalla stessa versione del software per tutti gli utenti del sistema, quindi una facile collaborazione e un’accessibilità globale garantita dall’utilizzo dei servizi web.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *