Cloud computing - La nuvola intelligente

61
Dott. Ing. Lorenzo Carnevale Cloud software engineer at Università degli studi di Messina, Dipartimento di Ingegneria Cloud computing La nuvola intelligente

Transcript of Cloud computing - La nuvola intelligente

Dott. Ing. Lorenzo CarnevaleCloud software engineer atUniversità degli studi di Messina, Dipartimento di Ingegneria

Cloud computingLa nuvola intelligente

2IBM 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.

3

Gartner curve 2010

4

5

Gartner curve 2012

6

Gartner curve 2014

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”.

10

NIST model

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.

28

NIST architecture

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

Utenti OpenStack

36

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

38

OpenStack services

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

49

Il servizio fornisce cluster Hadoop.

Sahara

OpenStack services: Sahara

50

OpenStack conceptualarchitecture

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

Partner Fiware

52

53

Fiware architecture

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

61

[email protected]

www.linkedin.com/in/lorenzocarnevale

www.slideshare.net/LorenzoCarnevale