Upload
lorenzo-carnevale
View
381
Download
8
Embed Size (px)
Citation preview
Dott. Ing. Lorenzo CarnevaleCloud software engineer atUniversità degli studi di Messina, Dipartimento di Ingegneria
Cloud computingLa nuvola intelligente
Sommario● Il cloud computing nel settore dell’Information Technology (IT);● Definizione secondo il NIST:
○ Caratteristiche essenziali;○ Modelli di servizio;○ Modelli di distribuzione.
● Virtualizzazione;● Architettura di riferimento;● Esempi pratici:
○ OpenStack;○ Fiware.
3
Mercato del cloud computing
● Web / SaaS/ eCommerce● Academic / Research / Government● Information Technology● Healthcare● Cloud Hosting / MSP / Telco● Film / Media / Gaming● Manufacturing/Industrial● Retail● Finance
7
Sommario● Il cloud computing nel settore dell’Information Technology (IT);● Definizione secondo il NIST:
○ Caratteristiche essenziali;○ Modelli di servizio;○ Modelli di distribuzione.
● Virtualizzazione;● Architettura di riferimento;● Esempi pratici:
○ OpenStack;○ Fiware.
8
Definizione di cloud computing secondo il NISTIn letteratura esistono diverse definizioni valide di cloud computing ma quella a cui si farà riferimento è stata rilasciata, nel settembre 2011, dal NIST (National Institute of Standards and Technology), un agenzia del U.S. Department of Commerce che si occupa della gestione
9
delle tecnologie. Il NIST definisce il cloud computing come ”un modello per consentire ubiquità, comodità e accesso alla rete on-demand per un pool condiviso di risorse di calcolo configurabili (ad esempio network, server, storage, applicazioni e servizi) che possono essere rapidamente fornite e rilasciate senza il minimo sforzo di gestione o interazione con il fornitore del servizio”.
11
Broad Network Access Fornisce funzionalità di rete accessibili
attraverso protocolli di comunicazione standard, promuovendo l’uso di piattaforme client eterogenee (laptop, smartphone, tablet).
NIST model: Broad Network Access
12
Rapid Elasticity Capacità di espandere e ridurre risorse per uno specifico servizio, in funzione delle necessità e delle disponibilità. Ad esempio, un utente potrebbe aver bisogno di un alto numero di risorse per eseguire una specifica operazione e al termine rilasciarle.Le risorse dovrebbero essere ridotte al minimo dinamicamente per garantire un elevato livello di qualità del servizio.
NIST model: Rapid Elasticity
13
Measured Service
Il Cloud Service Provider è in grado di misurare e ottimizzare l’uso di risorse da parte dell’utente (storage, elaborazione, larghezza di banda, account utente, ecc) fornendo trasparenza sia al provider che al destinatario del servizio.
NIST model: Measured Service
14
On-Demand Self-Service
Il destinatario del servizio può usufruire delle risorse necessarie (aumento dello storage, della capacità di elaborazione, ecc) senza interazione con il Cloud Service Provider.
NIST model: On-Demand Self-Service
15
Resource Pooling
Le risorse del Cloud Service Provider (storage, elaborazione, memoria, larghezza di banda, ecc) sono organizzate per servire più destinatari usando il principio della virtualizzazione.Tali risorse fisiche sono delocalizzate su diversi datacenter e nazioni e allocate e deallocate in base alla domande dei destinatari del servizio. L'utente non ha conoscenza della loro origine.
NIST model: Resource pooling
16
Infrastructure as a Service (IaaS)
IaaS è il servizio cloud per la fornitura di infrastrutture virtuali (storage, network, risorse di calcolo su cui possono eseguirsi un sistema operativo o singole applicazioni). Il destinatario del servizio non ha controllo sull’infrastruttura a eccezioni dei sistemi operativi, dei software applicativi e dello storage.Mediante un servizio di pagamento pay-per-use, gli utenti potranno fare a meno di acquistare hardware ma richiedere a un Cloud Service Provider solo le risorse necessarie.
NIST model: IaaS
17
Platform as a Service (PaaS)
PaaS è il servizio cloud che fornisce un ambiente integrato ad alto livello per lo sviluppo, la verifica e l’installazione di applicazioni da parte degli utenti. I destinatari del servizio sono sviluppatori che non possiedono il controllo dell’infrastruttura di base ma utilizzano linguaggi di programmazione, librerie, driver, interfacce e tools supportati dal Cloud Service Provider per realizzare ulteriori servizi non pattuiti.
NIST model: PaaS
18
Software as a Service (SaaS)
SaaS è il servizio cloud che espone le applicazioni del Cloud Service Provider ai destinatari del servizio, attraverso un client interface (player, bowser, ecc), a fronte del pagamento di un canone basato sull’effettivo utilizzo (pay-per-use). E’ così esclusa la necessità di installare e mantenere applicativi sui propri device. Il destinatario del servizio non ha controllo sull’infrastruttura cloud di base, a eccezione di limitate configurazioni personalizzate.
NIST model: SaaS
19
Public
L’infrastruttura cloud è sostenuta da ditte private, enti accademici e/o istituzionali, i quali sono responsabili per il controllo dei dati e delle operazioni svolte all’interno.I servizi cloud disponibili sono venduti al pubblico, il quale è responsabile delle proprie macchine virtuali e degli applicativi su di esse in uso.
NIST model: public cloud
20
Private
L’infrastruttura cloud è costruita e controllata da un responsabile tecnico e legale (ditta e/o persona fisica/giuridica). L’obiettivo è dotare gli enti destinatari del servizio di una flessibile infrastruttura privata.Il Cloud Service Provider è responsabile per l’infrastruttura ma non per il suo controllo.
NIST model: private cloud
21
Community
L’infrastruttura cloud è sostenuta da un gruppo di organizzazioni e mira al supporto di una specifica comunità (enti/ditte)
NIST model: community cloud
22
Hybrid
L’infrastruttura cloud si compone di uno o più modelli precedenti. Questi sono visti come singole entità ma uniti tecnologie standard per generare una miriade di servizi finali, gratuiti o tramite pay-per-use.
NIST model: hybrid cloud
Sommario● Il cloud computing nel settore dell’Information Technology (IT);● Definizione secondo il NIST:
○ Caratteristiche essenziali;○ Modelli di servizio;○ Modelli di distribuzione.
● Virtualizzazione;● Architettura di riferimento;● Esempi pratici:
○ OpenStack;○ Fiware.
23
VirtualizzazionePer dar vita a un uso flessibile e dinamico delle risorse, il cloud computing fa ricorso alla tecnologia di virtualizzazione. Tale approccio consente di astrarre i tradizionali servizi IT dalle rispettive dipendenze (network, storage e hardware) abilitando l’esecuzione di più sistemi operativi virtuali su una singola macchina fisica, rimanendo però, dal punto di vista logico, distinti.
Vantaggi
24
Il sistema operativo “ospitante” (host) crea di fatto una sorta di hardware partizionato eseguendo più sistemi operativi “ospiti” (guest).
Virtualizzazione: vantaggi● più macchine virtuali possono girare in modo concorrente su un sistema fisico
condividendo le risorse della piattaforma. Le eventuali contese di risorse vengono gestite dai software di virtualizzazione che si occupano della gestione dell’ambiente (resource pooling);
● garantisce affidabilità ed efficenza nella migrazione dei servizi all’interno dell’infrastruttura, senza interazione del cliente (on-demand self-service)
● garantisce l’espansione e la riduzione di risorse, in funzione delle necessità e delle disponibilità (rapid elasticity).
25
Sommario● Il cloud computing nel settore dell’Information Technology (IT);● Definizione secondo il NIST:
○ Caratteristiche essenziali;○ Modelli di servizio;○ Modelli di distribuzione.
● Virtualizzazione;● Architettura di riferimento;● Esempi pratici:
○ OpenStack;○ Fiware.
26
Architettura cloud computing secondo il NISTSempre nel 2011, il NIST stabilisce un’architettura cloud di riferimento nello Special Publication 500-292 noto come NIST Cloud Computing Reference Architecture. L’ente americano focalizza l’interesse su ”cosa” possa fare un sistema cloud piuttosto che definire una procedura per la
27
costruzione dell’infrastruttura. Quindi non illustra l’architettura di uno specifico sistema ma fornisce strumenti per descrivere, discutere e sviluppare una architettura specifica usando un comune linguaggio di riferimento.
29
Cloud Consumer
Persona fisica o organizzazione che instaura una relazione di business con i Cloud Providers. Un Cloud Consumer usa un Cloud Service Consumer per accedere a un Cloud Service.
● Il Cloud Consumer SaaS ha accesso alle applicazioni fornite dal Cloud Provider (organization, common user, administrator). Il fatturato ricavato dipende dal numero di utilizzatori, dal tempo di utilizzo, dalla larghezza di banda e/o dalla quantità di dati memorizzati.
● Il Cloud Consumer PaaS può utilizzare strumenti per lo sviluppo (developer, tester, administrator). Il fatturato ricavato dipende dalla lavorazione, dalla conservazione del dei dati e dall’utilizzo della piattaforma.
● Il Cloud Consumer IaaS ha accesso ai componenti dell’infrastruttura virtuale (developer, administrator, IT manager)
NIST architecture: cloud consumer
30
Persona fisica, organizzazione o ente responsabile della fornitura di un Cloud Service. Acquisisce e gestisce l’infrastruttura informatica e stipula accordi per la sua fruibilità.
● Il Cloud Provider SaaS distribuisce e gestisce il ciclo di vita degli applicativi; assume la responsabilità di gestione delle applicazioni e delle infrastrutture, mentre i Cloud Consumer hanno un limitato controllo amministrativo.
● Il Cloud Provider PaaS gestisce l’infrastruttura cloud di calcolo distribuito della piattaforma erogata ed esegue gli applicativi software richiesti (IDE, developer’s tool, SDK, ecc). Il Cloud Consumer ha il controllo sui software applicativi ma limiti di accesso all’infrastruttura di base.
● Il Cloud Provider IaaS acquisisce le risorse fisiche (hardware) ed eroga una virtualizzazione di esse ai Cloud Consumer.
Cloud Provider
NIST architecture: cloud provider
31
Cloud Broker
Il Cloud Broker ha responsabilità sull’uso, le prestazioni e il delivering di un Cloud Service. Instaura relazioni di business tra i Cloud Provider e i Cloud Consumer, fornendo servizi di tre categorie:• Servizi di intermediazione, migliorando alcune capacità specifiche;• Servizi di aggregazione, integrando servizi in uno o più nuovi;• Servizi di arbitraggio.
NIST architecture: cloud broker
32
Cloud Carrier
Il Cloud Carrier è un intermediario il cui compito è fornire connettività e trasporto dei Cloud Service tra Cloud Provider e Cloud Consumer.
NIST architecture: cloud carrier
33
Cloud Auditor
Un ente di terze parti che può condurre valutazioni sui Cloud Service, sulle performance dell’infrastruttura cloud e sui sistemi di sicurezza implementato, con l’intento di esprimere un’opinione al riguardo.
NIST architecture: cloud auditor
Sommario● Il cloud computing nel settore dell’Information Technology (IT);● Definizione secondo il NIST:
○ Caratteristiche essenziali;○ Modelli di servizio;○ Modelli di distribuzione.
● Virtualizzazione;● Architettura di riferimento;● Esempi pratici:
○ OpenStack;○ Fiware.
34
OpenStack
● Open-source;● Cloud IaaS;● Private a Public Cloud;● Supporto di: Xen , VMware, KVM, ecc;● Architettura modulare con componenti correlati;● Attraverso una web-based dashboard, un command-line tool (CLI) o API
RESTful gli utenti OpenStack controllano processi, storage e network;● OpenStack.org è rilasciato sotto Apache License; 35
OpenStack roadmap
April 2015
October 2015
“Kilo” Sèrves, France is home to the Kilogram
“Liberty” - a village in theCanadian province ofSaskatchewan.
TBD 2016
“Mitaka” - is acity located inTokyoMetropolis,Japan.
TBD
Austin Summit
TBDBarcelona Summit
37
39
Portale web per l’interazione con i servizi OpenStack (lanciare istanza, assegnare indirizzo IP, configurare il controllo degli accessi). Tutte le funzionalità sono tipicamente accessibili anche mediante API RESTful e CLI.Horizon
OpenStack services: Horizon
40
Il servizio Nova è il cuore dell’architettura IaaS offerta da OpenStack. Gestisce il ciclo di vita (creazione, deploy, rimozione) di istance nell’ambiente cloud.Nova
OpenStack services: Nova
41
Abilità la connettivita della rete come servizio (NCaaS) offrendo funzionalità come DHCP, floating IP, VLAN, ecc agli utenti.
Neutron
OpenStack services: Neutron
42
Storage di dati non strutturati attraverso RESTful API. Il componente scrive oggetti e file sui dischi assicurando un immagazinamento dati ridondante, favorendo un elevato grado di fault tolerance.Lo storage OpenStack per gli archivi multimediali
Swift
OpenStack services: Swift
43
Dispositivi di storage a blocchi di tipo persistente.Supporta funzionalità di snapshot dei volumi.
Cinder
OpenStack services: Cinder
44
Il servizio Glance archivia, cataloga e rende disponibili immagini e metadati delle macchine virtuali.Nova e Heat interrogano costantemente Glance per ottenere e aggiornare le informazioni sul catalogo delle immagini.
Glance
OpenStack services: Glance
45
Servizio di autenticazione e autorizzazione. Elemento fondamentale per l’interazione tra i componenti OpenStack.mantiene la lista degli endpoint dei servizi e informazioni sugli utenti. Keystone
OpenStack services: Keystone
46
Offre contatoti utili a misurare il carico dei servizi OpenStack.
Ceilometer
OpenStack services: Ceilometer
47
Orchestra applicazioni complesse che prevedono l’uso di più risorse (frontend, backend, load balancer, ecc).
Heat
OpenStack services: Heat
48
Il servizio offre un affidabile e scalabile servizio cloud per database relazionali (SQL) e non relazionali (MongoDB).
Trove
OpenStack services: Trove
Fiware
● Nato nel Framework Programme 7 (FP7, 2007-2013), all’interno del progetto Future Internet Public-Private Partnership (FI-PPP) dell’Unione Europea, con un budget di 50.5 miliardi di euro;
● 16 acceleratori per 80 milioni di euro;● Generic Enablers (GEs).
51
54
Cloud Hosting
Lo strato fondamentale che fornisce calcolo, storage e risorse di rete su cui i servizi sono memorizzati e gestiti.
Fiware architecture: Cloud Hosting
55
Data/Context Management
Strutture per l’accesso efficace, l’elaborazione e l’analisi dei dati
Fiware architecture: Data/Context Management
Fiware architecture: Applications/Services Ecosystem and Delivery Framework
56
Applications/Services Ecosystem and Delivery Framework
Infrastruttura per creare, pubblicare, gestire e utilizzare i servizi Fiware in tutto il loro ciclo di vita, affrontando aspetti tecnici e di business.
Fiware architecture: Interface to Networks and Devices (I2ND)
57
Interface to Networks and Devices (I2ND)
Interfacce aperte a reti e dispositivi, per fornire connettività ai servizi erogati attraverso la piattaforma
58
Security
Meccanismi che garantiscono fornitura e uso dei servizi in modo affidabile, soddisfando requisiti di sicurezza e prvacy
Fiware architecture: Security
59
Advanced Web UI
Funzionalità di input interattive come la grafica 3D e la reatà virtuale
Fiware architecture: Advanced Web UI
Fonti e risorseStatistiche IT
● www.gartner.com
Definizione di cloud computing
● http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf● http://www.nist.gov/customcf/get_pdf.cfm?pub_id=909505● http://www.marcomattiucci.it/cloud_nist.php● http://www.marcomattiucci.it/cloud.php
Virtualizzazione
● http://www.starsystem.biz/virtualizzazione-server/● http://www.cloudtalk.it/cloud-privato-e-virtualizzazione-trova-le-differenze/● http://www.cloudtalk.it/tipologie-di-virtualizzazione-e-differenze-rispetto-al-cloud-computing/
60