cloud computing: i vantaggi della gestione dati on-demand - t2i... · cloud computing is a model...

68
Cloud computing: i vantaggi della gestione dati on-demand Claudio Silvestri [email protected]

Upload: others

Post on 23-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Cloud computing: i vantaggi della gestione

dati on-demand

Claudio Silvestri [email protected]

Page 2: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Verso il Cloud Computing

•  Premessa •  Definizione •  Obiettivi •  Fattori abilitanti •  Terminologia

Page 3: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Evoluzione

Pochi cambiamenti epocali nella storia della tecnologia informatica.

Molti piccoli cambiamenti. I cambiamenti epocali sono resi possibili

dall’accumulo di cambiamenti minori (ma è difficile riconoscerli prima che siano in stadio avanzato)

Page 4: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Evoluzione

Es: ENIAC ! smartphone ARPANET ! internet CERN html/http ! modern WWW

(500*109 GB, 2009, raddoppia ogni 18 mesi)

Page 5: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Impatto

I cambiamenti ITC epocali hanno avuto effetti

significativi sulla vita quotidiana, sull’organizzazione della società, sul modo di gestire le imprese

Page 6: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Es: giornali Graduale diminuzione del peso della carta stampata Inizialmente unico canale per la diffusione delle

informazioni. Multiple edizioni per giorno. Canali alternativi: radio, TV Edizioni del mattino. Focus su analisi degli avvenimenti. Nuovo canale: WWW Spostamento degli investimenti pubblicitari Nuovo canale: dispositivi mobili Nuovi modelli di business. Sparizione di alcuni giornali. Tutto questo prima del cloud computing

Page 7: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Es: giornali

Verso l’estrazione delle notizie, non solo la consegna.

•  Serve maggiore potenza di calcolo per fornire le notizie rilevanti per l’utente

Problema: gestire la scarsità •  Come gestire al meglio le risorse disponibili? Come

ottenerne di nuove?

Page 8: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Visione: migliore, più veloce, più economico

Obiettivo: Computing—computation, storage,

communication—is relatively free, scales up or down as needed, scales as much as needed, operates itself, and always works.

Utopia?

Page 9: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Evoluzione

I era: computer II era: internet III era: cloud computing

Page 10: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

I era (‘50-’90)

•  Attenzione all’interno delle aziende •  Inizialmente grandi sistemi centralizzati, poi

sistemi distribuiti •  Infrastrutture associate alle applicazioni

(applicazione importante= infrastruttura costosa)

•  Ascesa dei DB e dei sistemi di storage

Page 11: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

II era

Internet Accesso universale Ubiquità Smart-devices hanno reso l’utilizzo dei servizi

largamente diffuso anche tra ‘non-tecnici’ Maggior contributo della seconda era: la rete

Page 12: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

II era

L’infrastruttura continua ad essere: •  costosa •  difficile da mantenere •  Sovradimensionata (affidabilità)

Page 13: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Durante la I e II era

Corsa alla scalabilità: •  Da hardware indipendente ad hardware collegato in

rete, processori singoli a processori multipli. •  Maggiore complessità derivante dal parallelismo •  Yahoo: <1000 siti nel 1994, <10000 nel 1995,

successivamente raddoppiava ogni 53 giorni

Corsa al risparmio •  Utilizzo di ‘commodity computers’ •  Affidabilità?

Page 14: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

III era

Google (inizialmente) ‘vince’ la corsa all’indicizzazione WWW •  Automazione raccolta •  Infrastruttura basata su elementi poco costosi ed

inaffidabili (singolarmente) •  Gestione dati distribuita •  Automatizzazione gestione sistema •  Malfunzionamenti parzialmente tollerabili

Offerta all’esterno dei servizi e delle risorse

Page 15: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

III era

Amazon: •  Infrastruttura IT classica •  Esposizione singoli servizi all’esterno •  Decomposizione delle applicazioni in servizi •  Virtualizzazione

Offerta all’esterno dei servizi e delle risorse

Page 16: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

III era

Computing—computation, storage, communication—is relatively free, scales up or down as needed, scales as much as needed, operates itself, and always works.

L’utopia si sta lentamente realizzando

Page 17: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Fattori abilitanti •  Hardware economico: compensato da applicazioni

affidabili •  Velocità rete •  Virtualizzazione •  Architetture software: composizione componenti, SOA •  Storage: evoluzione DB, approcci innovativi, evoluzione

infrastrutture storage •  Accesso pervasivo •  Società: aspettative (eg: Google sempre disponibile e

con risposte ad ogni domanda)

Page 18: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Definizioni

cloud computing Cloud computing is on-demand access to virtualized IT resources that are housed outside of your own data center, shared by others, simple to use, paid for via subscription, and accessed over the Web.

As a service? Cloud private?

Page 19: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Definizioni Cloud computing is a model for enabling convenient, on-

demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics, three delivery models, and four deployment models.

Commodity hardware? Pochi blocchi base?

Page 20: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Definizioni Cloud computing is a type of computing that provides simple, on-

demand access to pools of highly elastic computing resources. These resources are provided as a service over a network (often the Internet), and are now possible due to a series of innovations across computing technologies, operations, and business models. Cloud enables the consumers of the technology to think of computing as effectively limitless, of minimal cost, and reliable, as well as not be concerned about how it is constructed, how it works, who operates it, or where it is located.

Cloud computing is a style of computing where computing resources

and are easy to obtain and access, simple to use, cheap, and just work.

Page 21: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Caratteristiche essenziali

•  Scalabilità Elasticità •  Ubiquità dell’accesso •  Virtualizzazione totale: semplicità, più server

virtuali devono apparire un solo server •  Consistenza: pochi (anche 3 o 4) blocchi

base •  Commodity hardware •  Affidabilità •  Multi-azienda e multi-applicazione

Page 22: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Layer principali

Page 23: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Tipologie

•  Privata •  Pubblica •  Verticale (community) •  Ibrida

Page 24: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Posizione

•  Container •  Raffreddamento: verso nord (sud) •  Bassa densità

Page 25: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Cloud Computing

Page 26: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Cloud e dintorni

Il cloud computing deve funzionare nel mondo reale

•  Co-esitenza di apparecchiature di generazioni diverse integrate in vario modo

Relazioni tra componenti dell’infrastruttura: •  SOA •  web services •  grid computing •  clusters

Page 27: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Service oriented architecture (SOA)

1980-90: software applicativo monolitico, dipendenze circolari, integrazione stretta. Sviluppo Object oriented ha permesso di aumentare l’indipendenza dei componenti.

Risultato: largo numero di componenti semplici Più facili da sviluppare e mantenere

Page 28: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Service oriented architecture (SOA)

OO: vengono rimosse le dipendenze inutili. Il software continua ad essere strettamente integrato

Difficoltà a distribuire il software su più

computer Passo successivo: SOA

Page 29: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Service oriented architecture (SOA)

Servizio: -  Meccanismo formale di invocazione -  Utilizzo remoto attraverso una rete

Contratto di servizio: -  QoS -  SLA (uptime, response time, disponibilità, ...)

Page 30: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Service oriented architecture (SOA)

Diversi approcci per l’individuazione e l’utilizzo di servizi: formali/informali, controllati/flessibili

In ogni caso, i servizi sono maggiormente

indipendenti tra di loro Non imposta come un servizio viene

implementato, purché siano rispettati i termini (ma non viene indicato il carico massimo…).

Page 31: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Service oriented architecture (SOA)

Es: •  un settore dell’azienda sviluppa un servizio •  pianifica l’uso delle risorse e lo avvia •  altri cominciano ad utilizzarlo…

Se il servizio si basa su un’infrastruttura tradizionale ci saranno problemi di capacità… nella migliore delle ipotesi

Page 32: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Service oriented architecture (SOA)

Un governo attento dei servizi minimizza la possibilità che si presenti questo tipo ti problemi.

Tuttavia…. La scalabilità di un’applicazione è influenzata

dalla scalabilità dell’infrastruttura sulla quale funziona

Page 33: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Service oriented architecture (SOA)

SOA si presta ad essere utilizzata su una infrastruttura cloud based

Le applicazioni cloud si prestano ad essere

descritte come servizi

Page 34: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Web services e SOA

WS sono solo un particolare aspetto di SOA WS-* : •  ecosistema di protocolli •  Barriera di ingresso: livello di complessità

Page 35: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Web services e SOA

Web services ReST: •  Maggiore indipendenza •  Curva di apprendimento migliore •  Più largamente adottati:

•  Amazon nel 2003 forniva entrambi: 85% utilizzo ReST

Page 36: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

WEB 2.0

Larga diffusione dei web services: (Amazon, eBay, Google, Yahoo)

•  Scalabilità •  Flessibilità / Dinamicità •  Accessibilità universale •  Possibilità di mescolare contenuti e servizi da varie

fonti •  Favorisce la collaborazione

Nuovi modelli di business (es: freemium)

Page 37: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Application servers

•  Diffusione e declino (in alcuni settori) di application server eccessivamente ‘pesanti’

•  Affermazione di piattaforme che permettono di ignorare i requisiti dell’application server

Platform as a Service

Page 38: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Applicazioni più semplici

Utilizzo diretto web services

Page 39: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Consistenza ‘alla fine’

Maggiore libertà nella gestione dello stato BASE

Basically Available, Soft state, Eventual consistency

vs ACID

atomicity, consistency, isolation, durability

Page 40: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Linguaggi dinamici

Minori tempi di sviluppo per applicazioni semplici

Page 41: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Accesso ai dati

Le applicazioni cloud possono continuare ad

accedere ai database pre-esistenti Scalabilità ?

Page 42: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Fine di mainframe/server/clusters?

NO Integrazione e interazione via servizi

Page 43: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Fine Data centers ?

NO •  Gestione cloud private più semplice •  Sicurezza, continuità controllo •  Latenza •  Cultura aziendale

Page 44: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Cloud Computing: architettura

Page 45: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Modello architetturale: obiettivo

Progettare la struttura del sistema utilizzando

dei pattern riusabili in modo da soddisfare le esigenze individuate durante la fase di analisi

Page 46: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Componenti

Modello cloud Modello di distribuzione Architettura cloud

Page 47: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Componenti

Modello cloud: Allineamento di obiettivi strategici e possibili pattern Es1: applicazione CRM fornita come servizio (SaaS)

(CRM=Customer Relationship Management) Es2: migliorare l’utilizzo dei server aziendali utilizzando

un cloud interno (Iaas)

Modello di distribuzione Architettura cloud

Page 48: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Componenti

Modello cloud Modello di distribuzione

Cloud interna/esterna? Cloud privata/pubblica/verticale? Soluzioni ibride? Scelta di servizi da più fornitori?

Architettura cloud

Page 49: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Componenti

Modello cloud Modello di distribuzione Architettura cloud

Quali servizi? Dipendenze tra servizi? Come interagiscono tra loro? Come possono essere utilizzati dall’esterno?

Page 50: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Standard ??

Evoluzione rapida Per alcune parti dell’architettura esistono

standard maturi (es: per SaaS Javascript) per altri solamente standard allo stato di bozza

Importante considerare i rischi di adozione

degli standard…

Page 51: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Quali standard? Quando?

Page 52: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Modello di riferimento

Cloud enablement model Componenti tecnologici di base

Cloud deployment model Distribuzione componenti tecnologici di base

Cloud governance model Gestione del funzionamento,

della sicurezza e dei rischi

Cloud ecosystem model Vista d’insieme, affidabilità

Page 53: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Cloud secondo NIST

Page 54: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Modello logico L’architettura logica del cloud mantiene i medesimi livelli dell’architettura ITC usuale, ma tutti i livelli sono virtuali

Page 55: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Cloud enablement model

Cinque componenti: alla base le infrastrutture fisiche

Page 56: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Cloud enablement model

Livello fisico: Risorse fisiche utilizzate per supportare la virtualizzazione

•  Elaborazione •  Memorizzazione •  Comunicazione •  Sicurezza Server, dischi, SAN, switch e router, firewall,….

(omesso nel modello completo)

Page 57: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Cloud enablement model

Livello di virtualizzazione: Virtualizzazione dell’hardware

•  Macchine virtuali •  Dischi virtuali •  Reti private virtuali

Page 58: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Cloud enablement model

Livello del sistema operativo cloud: funzionalità di base

•  Bilanciamento del carico •  Monitoraggio •  Attivazione servizi (provisioning) •  Virtualizzazione applicazioni

Page 59: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Cloud enablement model

Virtualizzazione applicazioni

Page 60: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Cloud enablement model

Livello piattaforma: Funzionalità per lo sviluppo di applicazioni, hosting, supporto di contenitori, messaging, gestione code Es: GAE, Amazon Sottolivelli: •  middleware •  piattaforma

Page 61: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Cloud enablement model

Livello piattaforma / Sottolivello middleware: Strumenti per costruire applicazioni: app server, queue server, messaging, web server… Livello piattaforma / Sottolivello piattaforma: Strumenti pre-integrati

Page 62: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Cloud enablement model

Livello piattaforma

Differenza tra sottolivelli: integrazione (piattaforma ‘chiavi in mano’)

Page 63: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Cloud enablement model

Livello business: Applicazioni e servizi livello utente Es: GMail, DropBox, MemoPal, … Software, Knowledge, Data, …. …..as a Service (*aaS: SaaS, KaaS, DaaS,…)

Page 64: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Cloud deployment model

Internal / private cloud Utilizzo razionale delle risorse Maggiore flessibilità ed elasticità (nei limiti delle risorse disponibili)

Page 65: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Cloud deployment model

External/ public cloud •  Terze parti indipendenti (pro? contro?) •  Accesso via web. Self-service. •  Documentazione, comunità, API caricamento dati,

supporto tecnico •  SLA e contratti di servizio •  Varietà tipo di virtualizzazione •  Varietà risorse disponibili (es: Amazon: elaborazione,

storage, queue server, DB, content delivery, map/reduce)

Page 66: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Cloud deployment model

Hybrid/Integrated cloud Scelte basate (anche) su analisi dei rischi

Page 67: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Utilizzo

Page 68: Cloud computing: i vantaggi della gestione dati on-demand - T2i... · Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable

Utilizzo per categoria utente