Introduzione al
Cloud Computing




 Castelfranco Veneto, 28 Maggio 2012




                         Michele Stecca
Agenda


• Un po’ di storia…
• Cos’è il Cloud Computing?
• Vantaggi e rischi legati all’uso
  del Cloud Computing
• Classificazioni
  –Service models
  –Deployment models
Un po’ di storia (1/4)
Obiettivo “finale”: l’utility computing
• La potenza di calcolo e le applicazioni sono fruibili
  in modalità on-demand con tariffazione a consumo
  come accade, per esempio, per l’elettricità
• Il concetto risale agli anni ’60 ma oggigiorno vi
  sono tecnologie che potrebbero permettere di
  perseguire tale obiettivo

      “ If computers of the kind I have advocated become the
     computers of the future, then computing may someday be
   organized as a public utility just as the telephone system is a
  public utility... The computer utility could become the basis of a
                     new and important industry. ”

     John McCarthy, speaking at the MIT Centennial in 1961
Un po’ di storia (2/4)

Anni ‘90 / prima metà anni 2000: il Grid Computing
  • Paradigma di computazione distribuita   Molti
    elaboratori connessi in rete collaborano per
    l’esecuzione di alcuni “programmi”.
  • Si concentra sulla condivisione della potenza di
    calcolo (CPU).
  • Lo sviluppatore ha a disposizione un “Virtual
    Computer” composto da un numero (spesso
    sconosciuto) di calcolatori.
Un po’ di storia (3/4)
Alcuni esempi di progetti basati sull’idea del
 Grid Computing
Un po’ di storia (4/4)
• A partire dalla seconda metà degli anni 2000 l’interesse sul
  il Grid Computing è diminuito progressivamente …
Introduzione al Cloud (1/6)
• Una possibile definizione (del NIST): ‘Cloud
  Computing’ is a model for enabling convenient,
  on-demand network access to a shared pool of
  configurable computing resources – networks,
  servers, storage, applications, services – that can
  be rapidly provisioned and released with minimal
  management effort or service provider interaction.
• Principali caratteristiche:
  –   Utility-based pricing (pay-as-you-go pricing model).
  –   Resource pooling.
  –   Location independence.
  –   Scalability.
  –   Reliability.
  –   Security.
  –   Elasticity.
Introduzione al Cloud (2/6)
Principali vantaggi legati all’utilizzo del Cloud
  Computing:
• Cost Reduction.
• Transforming Capital Expenditure, CAPEX, to
  Operating Expenditure, OPEX.
• Flexibility.
• Improved Time to Market.
• ‘Green’ approach.

Diverse classificazioni dei sistemi Cloud:
• Service models
• Deployment models
Introduzione al Cloud (3/6)
Over-Under provisioning nei data center




         (Source: Amazon Web Services web site)
Introduzione al Cloud (4/6)
Grande spinta commerciale sull’adozione del Cloud
  Computing…
Introduzione al Cloud (5/6)
• Alcuni rischi        legati      all’utilizzo     del    Cloud
  Computing
  – Affidabilità della rete IP (che è best-effort per definizione)
  – Sicurezza e gestione dei dati (vedi prossima slide)
  – Determinazione degli SLA – Service Level Agreement
  – Rischio di Lock-in
  – Performance (in particolare per quanto riguarda i tempi di
    accesso ai dischi)
  – Licenze (per esempio DBMS Oracle)
  – Disponibilità da parte delle aziende di “affidare” i propri dati
    sensibili a delle terze parti
  – Presenza di alcune “limitazioni” imposte dai Cloud provider a
    causa del limitato livello di maturità di questa tecnologia …
Introduzione al Cloud (6/6)
Il problema con i dati sensibili (in Europa)
• La legge “EU Data Protection Directive 95/46/EU” impone
    dei vincoli sulla gestione dei dati sensibili in Europa. Uno dei
    punti di questa legge prevede la “libera circolazione dei dati”
    all’interno dell’Unione. I dati posso anche andare “fuori”
    dall’Unione purchè le leggi sulla privacy dello stato ospitante
    i dati siano “approvate” dall’Unione Europea.
• PROBLEMA: gli Stati Uniti (ovvero dove stanno la maggior
    parte dei Cloud provider) non sono in regola a causa del
    Patriot Act.
• Attualmente è un problema aperto (tentativo di soluzione:
    Safe Harbor - framework di “adattamento” legislativo tra US
    e EU).
Service models (1/7)
Classificazione dei sistemi di Cloud Computing in base
  alla modalità di utilizzo dei servizi Cloud da parte degli
  utenti.




                                         (Source: www.openadc.org)
Service models (2/7)
Service models: il punto di vista degli utenti
Service models (3/7)
Come scelgo il prodotto Cloud che fa per me?
Service Models (4/7)
• Infrastructure as a Service: il provider mette a
  disposizione una infrastruttura hardware che gli
  utilizzatori del servizio (= system administrator)
  possono sfruttare per attivare/disattivare macchine
  virtuali (o altre risorse infrastrutturali come, per
  esempio, storage).
• Esempi:
   – Amazon Web Services
   – OpenStack (ma non è provider!)
   – Seeweb*
   – Nuvola Italiana (Telecom Italia)
   – Eucalyptus (ma non è provider!)
   –…
Service Models (5/7)
• Platform as a Service: viene offerta una piattaforma
  (per esempio un HTTP Container) su cui gli
  utilizzatori del servizio (= sviluppatori) possono
  sviluppare le proprie applicazioni senza doversi
  occupare dei dettagli di basso livello (OS, scalabilità,
  ecc.).
• Esempi:
   – Google App Engine (HTTP Servlet e Python)
   – Microsoft Azure (.NET)
   – Nuvola Italiana (Telecom Italia)
   – Heroku (Ruby)
   –…
Service Models (6/7)
• Software as a Service: le applicazioni rese
  disponibili agli utilizzatori del servizio (= utenti finali)
  vengono fruite in remoto in modalità on-demand
  senza la necessità di installare alcun software dal
  lato client.
• Esempi:
   – Google Apps
   – Microsoft Office 365
   – Salesforce (Customer Relationship Management
     - CRM)
   – Business by Design di SAP (Enterprise Resource
     Planning - ERP)
   N.B. Occhio al ChromeBook!
Service models (7/7)
Un altro punto di vista…




   Source “Migration of Mobicents Sip Servlets on a Cloud Platform” by T. Leruitte
Deployment models
• Private Cloud: un’azienda crea il proprio data center
  “in-house” e lo gestisce in modo agile, elastico, ecc.
  Solo i dipendenti dell’azienda possono utilizzare tale
  sistema.
• Public Cloud: l’infrastruttura Cloud è accedibile da
  qualunque utente connesso ad Internet il quale può
  utilizzarla per erogare servizi/applicazioni informatiche
  senza la necessità di acquistare hardware.
• Hybrid Cloud: l’infrastruttura Cloud è distribuita in parte
  nel data center dell’azienda e in parte in un qualche
  Cloud pubblico.
• Community Cloud: un insieme di soggetti che, legati tra
  di loro per un qualche motivo, condividono delle
  infrastrutture e/o dei servizi (per es. Pubblica
  Amministrazione).
Esempio applicativo: MapReduce




• Esempio di architettura elastica: Map-Reduce (Hadoop)
• Si vuole velocizzare l’esecuzione di algoritmi compute-intensive
  mediante parallelizzazione
• Problematiche implementative:
   – Definire il corretto schema di parallelizzazione
Considerazione sul Cloud


• In molti casi, per poter sfruttare appieno i vantaggi del
  Cloud gli applicativi devono essere modificati.
Q&A
           Grazie per l’attenzione!


Contatti
E-mail:
  m.stecca@cipi.unige.it
Twitter:
 @steccami

Introduzione Cloud Computing

  • 1.
    Introduzione al Cloud Computing Castelfranco Veneto, 28 Maggio 2012 Michele Stecca
  • 2.
    Agenda • Un po’di storia… • Cos’è il Cloud Computing? • Vantaggi e rischi legati all’uso del Cloud Computing • Classificazioni –Service models –Deployment models
  • 3.
    Un po’ distoria (1/4) Obiettivo “finale”: l’utility computing • La potenza di calcolo e le applicazioni sono fruibili in modalità on-demand con tariffazione a consumo come accade, per esempio, per l’elettricità • Il concetto risale agli anni ’60 ma oggigiorno vi sono tecnologie che potrebbero permettere di perseguire tale obiettivo “ If computers of the kind I have advocated become the computers of the future, then computing may someday be organized as a public utility just as the telephone system is a public utility... The computer utility could become the basis of a new and important industry. ” John McCarthy, speaking at the MIT Centennial in 1961
  • 4.
    Un po’ distoria (2/4) Anni ‘90 / prima metà anni 2000: il Grid Computing • Paradigma di computazione distribuita Molti elaboratori connessi in rete collaborano per l’esecuzione di alcuni “programmi”. • Si concentra sulla condivisione della potenza di calcolo (CPU). • Lo sviluppatore ha a disposizione un “Virtual Computer” composto da un numero (spesso sconosciuto) di calcolatori.
  • 5.
    Un po’ distoria (3/4) Alcuni esempi di progetti basati sull’idea del Grid Computing
  • 6.
    Un po’ distoria (4/4) • A partire dalla seconda metà degli anni 2000 l’interesse sul il Grid Computing è diminuito progressivamente …
  • 7.
    Introduzione al Cloud(1/6) • Una possibile definizione (del NIST): ‘Cloud Computing’ is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources – networks, servers, storage, applications, services – that can be rapidly provisioned and released with minimal management effort or service provider interaction. • Principali caratteristiche: – Utility-based pricing (pay-as-you-go pricing model). – Resource pooling. – Location independence. – Scalability. – Reliability. – Security. – Elasticity.
  • 8.
    Introduzione al Cloud(2/6) Principali vantaggi legati all’utilizzo del Cloud Computing: • Cost Reduction. • Transforming Capital Expenditure, CAPEX, to Operating Expenditure, OPEX. • Flexibility. • Improved Time to Market. • ‘Green’ approach. Diverse classificazioni dei sistemi Cloud: • Service models • Deployment models
  • 9.
    Introduzione al Cloud(3/6) Over-Under provisioning nei data center (Source: Amazon Web Services web site)
  • 10.
    Introduzione al Cloud(4/6) Grande spinta commerciale sull’adozione del Cloud Computing…
  • 11.
    Introduzione al Cloud(5/6) • Alcuni rischi legati all’utilizzo del Cloud Computing – Affidabilità della rete IP (che è best-effort per definizione) – Sicurezza e gestione dei dati (vedi prossima slide) – Determinazione degli SLA – Service Level Agreement – Rischio di Lock-in – Performance (in particolare per quanto riguarda i tempi di accesso ai dischi) – Licenze (per esempio DBMS Oracle) – Disponibilità da parte delle aziende di “affidare” i propri dati sensibili a delle terze parti – Presenza di alcune “limitazioni” imposte dai Cloud provider a causa del limitato livello di maturità di questa tecnologia …
  • 12.
    Introduzione al Cloud(6/6) Il problema con i dati sensibili (in Europa) • La legge “EU Data Protection Directive 95/46/EU” impone dei vincoli sulla gestione dei dati sensibili in Europa. Uno dei punti di questa legge prevede la “libera circolazione dei dati” all’interno dell’Unione. I dati posso anche andare “fuori” dall’Unione purchè le leggi sulla privacy dello stato ospitante i dati siano “approvate” dall’Unione Europea. • PROBLEMA: gli Stati Uniti (ovvero dove stanno la maggior parte dei Cloud provider) non sono in regola a causa del Patriot Act. • Attualmente è un problema aperto (tentativo di soluzione: Safe Harbor - framework di “adattamento” legislativo tra US e EU).
  • 13.
    Service models (1/7) Classificazionedei sistemi di Cloud Computing in base alla modalità di utilizzo dei servizi Cloud da parte degli utenti. (Source: www.openadc.org)
  • 14.
    Service models (2/7) Servicemodels: il punto di vista degli utenti
  • 15.
    Service models (3/7) Comescelgo il prodotto Cloud che fa per me?
  • 16.
    Service Models (4/7) •Infrastructure as a Service: il provider mette a disposizione una infrastruttura hardware che gli utilizzatori del servizio (= system administrator) possono sfruttare per attivare/disattivare macchine virtuali (o altre risorse infrastrutturali come, per esempio, storage). • Esempi: – Amazon Web Services – OpenStack (ma non è provider!) – Seeweb* – Nuvola Italiana (Telecom Italia) – Eucalyptus (ma non è provider!) –…
  • 17.
    Service Models (5/7) •Platform as a Service: viene offerta una piattaforma (per esempio un HTTP Container) su cui gli utilizzatori del servizio (= sviluppatori) possono sviluppare le proprie applicazioni senza doversi occupare dei dettagli di basso livello (OS, scalabilità, ecc.). • Esempi: – Google App Engine (HTTP Servlet e Python) – Microsoft Azure (.NET) – Nuvola Italiana (Telecom Italia) – Heroku (Ruby) –…
  • 18.
    Service Models (6/7) •Software as a Service: le applicazioni rese disponibili agli utilizzatori del servizio (= utenti finali) vengono fruite in remoto in modalità on-demand senza la necessità di installare alcun software dal lato client. • Esempi: – Google Apps – Microsoft Office 365 – Salesforce (Customer Relationship Management - CRM) – Business by Design di SAP (Enterprise Resource Planning - ERP) N.B. Occhio al ChromeBook!
  • 19.
    Service models (7/7) Unaltro punto di vista… Source “Migration of Mobicents Sip Servlets on a Cloud Platform” by T. Leruitte
  • 20.
    Deployment models • PrivateCloud: un’azienda crea il proprio data center “in-house” e lo gestisce in modo agile, elastico, ecc. Solo i dipendenti dell’azienda possono utilizzare tale sistema. • Public Cloud: l’infrastruttura Cloud è accedibile da qualunque utente connesso ad Internet il quale può utilizzarla per erogare servizi/applicazioni informatiche senza la necessità di acquistare hardware. • Hybrid Cloud: l’infrastruttura Cloud è distribuita in parte nel data center dell’azienda e in parte in un qualche Cloud pubblico. • Community Cloud: un insieme di soggetti che, legati tra di loro per un qualche motivo, condividono delle infrastrutture e/o dei servizi (per es. Pubblica Amministrazione).
  • 21.
    Esempio applicativo: MapReduce •Esempio di architettura elastica: Map-Reduce (Hadoop) • Si vuole velocizzare l’esecuzione di algoritmi compute-intensive mediante parallelizzazione • Problematiche implementative: – Definire il corretto schema di parallelizzazione
  • 22.
    Considerazione sul Cloud •In molti casi, per poter sfruttare appieno i vantaggi del Cloud gli applicativi devono essere modificati.
  • 23.
    Q&A Grazie per l’attenzione! Contatti E-mail: m.stecca@cipi.unige.it Twitter: @steccami