Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema...

29
Università degli Studi di Roma “Tor Vergata” Facoltà di Ingegneria Valeria Cardellini - SD A.A. 2010/11 1 Come si dimensiona un sistema che supporta servizi con le seguenti esigenze? Milioni di richieste al giorno Crescita/decrescita del tasso di richieste pari al 100% allʼanno E, in certi casi, differenti anche per un ordine di grandezza Picchi di (milioni di) richieste stagionali Miliardi di GB da memorizzare –…

Transcript of Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema...

Page 1: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Università degli Studi di Roma “Tor Vergata”

Facoltà di Ingegneria

Valeria Cardellini - SD A.A. 2010/11 1

•  Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?"–  Milioni di richieste al giorno"–  Crescita/decrescita del tasso di richieste pari al

100% allʼanno"•  E, in certi casi, differenti anche per un ordine di

grandezza"–  Picchi di (milioni di) richieste stagionali"–  Miliardi di GB da memorizzare"–  …"

Page 2: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Valeria Cardellini - SD A.A. 2010/11 2

•  Utility computing •  On-demand computing •  Grid computing •  Autonomic computing •  Software as a Service (SaaS)

–  Una “vecchia” idea: delivery di applicazioni su Internet

•  Più recentemente: XaaS, dove X=[Hardware, Infrastructure, Platform, …] –  HaaS: Hardware as a Service –  IaaS: Infrastructure as a Service –  PaaS: Platform as a Service –  HuaaS: Human as a Service (incluso crowdsourcing)

Valeria Cardellini - SD A.A. 2010/11 3

•  Alcune definizioni meno recenti usate dalle aziende… –  Pay-as-you-go (def. di Sun) –  Adaptive enterprise (def. di HP) –  E-business on demand (def. di IBM) –  Elastic computing cloud (def. di Amazon)

•  Prima del… Cloud computing

•  Troppe definizioni… (alcune sinonimi, altre con lievi differenze): tipico di un periodo di transizione

Page 3: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Valeria Cardellini - SD A.A. 2010/11 4

•  Acqua

•  Gas

•  Elettricità

•  Telefono/Rete

… al computing come quinta utility

Valeria Cardellini - SD A.A. 2010/11 5

•  Utility computing: la potenza dei calcolatori e le applicazioni possono essere vendute secondo il modello economico dell’utilità (utility) –  Adozione del modello economico del servizio –  Illusione di avere a disposizione risorse infinite –  Tariffazione di tipo pay-as-you-go e a grana fine (ad es. per

ora) •  La vision “computer utility” non è una idea nuova! •  1961: John McCarthy

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

Page 4: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Valeria Cardellini - SD A.A. 2010/11 6

•  1969: Leonard Kleinrock, progetto ARPANET –  “As of now, computer networks are still in their infancy, but as

they grow up and become sophisticated, we will probably see the spread of “computer utilities”, which, like present electric and telephone utilities, will service individual homes and offices across the country.”

•  Alcune ridefinizioni di computer –  1984: John Gage, Sun Microsystems

•  “The network is the computer” –  2008: David Patterson, Univ. Berkeley

•  “The data center is the computer. There are dramatic differences between of developing software for millions to use as a service versus distributing software for millions to run their PCs”

Oggi: “Cloud is the computer” (Rajkumar Buyya, Univ. Melbourne)

Valeria Cardellini - SD A.A. 2010/11 7

•  Web •  Data Center •  Utility Computing •  Service Computing •  Grid Computing •  P2P Computing •  Cloud Computing •  … !  Accesso ubiquo

!  Affidabilità !  Scalabilità !  Comportamento autonomico !  Scoperta dinamica !  Composizione !  Quality of Service (QoS) !  Service Level Agreement (SLA) !  …

+

Paradigmi

Attributi

? Un business di milioni di milioni di !

Fonte: R. Buyya, “Market-Oriented Cloud Computing: …”, 2008.

Page 5: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Search trends: Cluster computing, Grid computing, Cloud computing, Distributed computing"

Microsoft to rent “Web”cloud computing spaces, Oct 28 2008"Microsotsʼs cloud computing system is growing up, Nov 17 2009"Google looks to be 'cloud-computing' rainmaker for other online business services, March 10 2010"Host Analytics Named to 2010 AlwaysOn OnDemand Top 100 List Recognizing the Leading SaaS and Cloud

Computing Companies, April 6 2010"Cloud computing and the economy, April 13 2010"Cloud computing for lean local governments, May 12 2010"

Valeria Cardellini - SD A.A. 2010/11 8

Valeria Cardellini - SD A.A. 2010/11 9

Distributed computing •  Loosely coupled •  Heterogeneous •  Single administration

Cluster computing •  Tightly coupled •  Homogeneous •  Single System Image

Grid computing •  Large scale •  Cross-organizational •  Geographical distribution •  Distributed management

Fonte: R. Buyya

Cloud computing •  Provisioned on demand •  Service guarantee •  VMs and Web 2.0-based

Page 6: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Valeria Cardellini - SD A.A. 2010/11 10

•  Breve introduzione al Grid computing per comprendere meglio somiglianze e differenze con il Cloud computing

•  Cosa è una Grid? “A computational GRID is a hardware and software infrastructure that provides dependable, consistent, pervasive, and inexpensive access to high-end computational capabilities”

•  Tre criteri per definire una GRID: 1.  Coordina risorse che non sono sottoposte a un controllo

centralizzato 2.  Usa protocolli, librerie e interfacce standard, aperte e

general-purpose 3. Garantisce Quality of Service (QoS)

Fonte: Ian Foster, “What is the Grid? A Three Point Checklist”, 2002.

Valeria Cardellini - SD A.A. 2010/11 11

•  Condividere in modo coordinato risorse all’interno di un’organizzazione virtuale (Virtual Organization, VO)dinamica e multi-istituzionale –  Cosa condividere? Risorse computazionali, dati, device e reti

appartenenti a diverse organizzazioni e posti in diverse locazioni

–  Condivisione di risorse ottenuta attraverso accessi diretti da parte degli utenti, con controllo stretto sugli accessi alle risorse

•  Sfruttare risorse inutilizzate o sotto-utilizzate mediante l’aggregazione dinamica di nodi e componenti applicativi sviluppati indipendentemente

•  Bilanciare le risorse a livello dati (Data Grid) e/o di calcolo (Compute Grid)

•  Virtualizzare le risorse •  Facilitare la collaborazione

Page 7: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Valeria Cardellini - SD A.A. 2010/11 12

•  E’ costituita da: –  un insieme di individui o istituzioni –  un insieme di risorse da condividere –  un insieme di regole per la condivisione

•  E’ una collezione di utenti che condividono regole per l’accesso a risorse di calcolo e a dati distribuiti e perseguono obiettivi comuni

•  Concetto chiave: abilità di negoziare le modalità di condivisione delle risorse tra i componenti di una VO ed il successivo utilizzo per i propri scopi

•  Le regole per la condivisione delle risorse specificano quando, dove e cosa può essere fatto

•  Occorrono quindi: –  Politiche e meccanismi per formalizzare tali regole

•  Autenticazione: stabilire l’identità degli utenti •  Autorizzazione: determinare se una operazione è coerente con

le regole di condivisione definite

Valeria Cardellini - SD A.A. 2010/11 13

•  Distribuzione geografica dei dati e degli elementi computazionali

•  Grandi quantità di dati da elaborare con enfasi sul fattore computazionale rispetto al fattore “content generation and delivery”

•  Applicazioni prevalenti: data intensive o compute intensive

•  Ma anche accesso remoto a strumentazioni molto costose: –  Realizzazione di esperimenti complessi –  Condivisione di laboratori virtuali

Page 8: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Valeria Cardellini - SD A.A. 2010/11 Fonte: R. Buyya 14

Valeria Cardellini - SD A.A. 2010/11 15

•  Bioinformatica –  Modellistica di proteine –  Progetto di nuove medicine

•  Medicina –  Riproduzione della fisiologia degli organismi –  Funzionamento del cervello (100 Petaflops)

•  Modelli atmosferici-ecologici –  Inquinamento –  Surriscaladamento

•  Fisica delle alte particelle (ricerca di eventi rari) •  Applicazioni aerospaziali •  Modelli finanziari

Page 9: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Valeria Cardellini - SD A.A. 2010/11 16

Networked Resources across Organizations

Computers Networks Data Sources Scientific Instruments Storage Systems

Local Resource Managers

Operating Systems Queuing Systems Internet Protocols Libraries & App Kernels

Distributed Resources Coupling Services

Information QoS Process

Application Development and Deployment Environment

Languages/Compilers Libraries Debuggers Web tools

Resource Management and Scheduling:

Applications and Portals

Prob. Solving Env. Scientific … Collaboration Engineering Web enabled Apps

Trading

FABRIC

APPLICATIONS

SECURITY LAYER

Security Data

CORE MIDDLEWARE

USER LEVEL MIDDLEWARE

Monitors Adaptive M

anagement

Autonom

ic/ Grid E

conomy

Valeria Cardellini - SD A.A. 2010/11 17

Globus Toolkit –  Open source –  E’ il middleware standard de

facto per sviluppare sistemi Grid

–  Include servizi e librerie per monitoraggio delle risorse, scoperta e gestione di risorse, sicurezza e autenticazione, accesso remoto ai dati, gestione degli eseguibili

–  Attualmente è orientato ai servizi (Grid service)

gLite –  Open source –  Si propone come il middleware

di nuova generazione per il Grid computing

Page 10: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Valeria Cardellini - SD A.A. 2010/11 18

•  Convergenza tra Grid e Web service –  Approccio service-oriented: “Everything is represented by a

Service: a network enabled entity that provides some capabilities through the exchange of messages.”

•  Open Grid Service Architecture (OGSA): modello basato su servizi –  Risorse computazionali, storage, reti, programmi, database,

etc, sono tutti dei servizi -> Grid Service

•  OGSA definisce specifiche per: –  Indicare come un Grid service viene creato e scoperto –  Indicare come le istanze dei Grid service sono nominate e

referenziate –  Le interfacce che definiscono un Grid service

Valeria Cardellini - SD A.A. 2010/11 19

•  Problemi di rete –  Banda e latenza non note a priori, dipendenti dal traffico e

mutevoli nel tempo –  Banda e latenza disomogenee e latenza molto più grande

rispetto a LAN –  Grado di connettività variabile nel tempo (guasti dei link)

•  Problemi di gestione –  Molteplici gestori –  Molteplici politiche di gestione non necessariamente

compatibili tra loro –  Affidabilità dei nodi non nota a priori –  Problemi di sicurezza

Page 11: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Valeria Cardellini - SD A.A. 2010/11 20

Grid computing Utility computing Basato su reti eterogenee Basato su reti eterogenee

Distribuito geograficamente Distribuito geograficamente

Risorse eterogenee Risorse eterogenee

Inter-organizzazioni: – Politiche di gestione diverse – Politiche e requisiti di sicurezza diversi – Problemi di SLA – Problemi di accounting e billing

Intra-organizzazione: – Stesse politiche di gestione – Stesse politiche e requisiti di sicurezza – Gestione di SLA “in casa” – Nessun problema di accounting e billing

Valeria Cardellini - SD A.A. 2010/11 21

•  Cosa si intende per cloud computing? •  In cosa differisce dagli altri paradigmi e in che

direzione li estende?

Page 12: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Una miriade di termini…"

Billing Storage

Virtualization

Provisioning on Demand

Web 2.0

IaaS

PaaS SaaS

Pricing

Resource Metering Utility

Computing

Security

Privacy

Public Cloud

Private Cloud

Amazon EC2

Amazon S3

Google AppEngine

Rackspace

Valeria Cardellini - SD A.A. 2010/11 22

Valeria Cardellini - SD A.A. 2010/11 23

Il termine “Computing” comprende: -  Computazione -  Logica di coordinazione -  Storage

“Cloud” è il simbolo grafico generalmente usato per rappresentare Internet

Cloud Computing

Il Cloud computing riguarda lo spostamento del computing da un singolo PC/data center ad Internet

Page 13: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

•  [Armbrust et al., 2009]: : “Cloud Computing refers to both the applications delivered as services over the Internet and the hardware and software systems in the data centers that provide those services. The services themselves have long been referred to as Software as a Service (SaaS), so we use that term. The data center hardware and software is what we will call a Cloud. … Cloud computing has the following characteristics: (1) The illusion of infinite computing resources… (2) The elimination of an up-front commitment by cloud users… (3) The ability to pay for use… as needed.”"

•  [NIST, 2009]: 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."

•  [Vaquero et al., 2009] Clouds are a large pool of easily usable and accessible virtualized resources (such as hardware, development platforms and/or services). These resources can be dynamically reconfigured to adjust to a variable load (scale), allowing also for an optimum resource utilization. This pool of resources is typically exploited by a pay-per-use model in which guarantees are offered by the infrastructure provider by means of customized SLAs. "

Valeria Cardellini - SD A.A. 2010/11 24

•  Modello di costo pay-per-use"–  Nessun impegno anticipato "

•  Capacità elastica: scale up/down su richiesta"

•  Virtualizzazione delle risorse"

•  Interfaccia self-service"

Valeria Cardellini - SD A.A. 2010/11 25

Page 14: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

•  Lʼintero stack (hw & sw) è usato su Internet"

•  Il computing diventa una vera utility usata da tutti"–  Aziende"–  Fornitori di servizi"–  Utenti finali"–  Ricercatori"

•  Gli aspetti economici assumono maggiore importanza "–  Tariffazione, determinazione dei prezzi di vendita, QoS,

SLA"Due differenze significative rispetto al Grid computing

Valeria Cardellini - SD A.A. 2010/11 26

•  Esperienza con data center di ampie dimensioni"–  Economie di scala senza precedenti"

•  Altri fattori"–  Diffusione di Internet a banda larga "–  Virtualizzazione x86 veloce"–  Modello di costo pay-per-use "–  Stack del software standard"

Valeria Cardellini - SD A.A. 2010/11 27

Page 15: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Valeria Cardellini - SD A.A. 2010/11 Data

Centers

Clusters Storage

Other Grids/Clouds

Virtualization

VM Management & Deployment

Amazon S3, EC2

OpenNebula, Eucalyptus

Mosso

Web 2.0 Interface

Programming API

Scripting & Programming Languages

Google AppEngine

Microsoft Azure

Force.com

Google Apps (Gmail, Docs,…)

Salesforce.com

QoS

Met

erin

g SL

A N

egot

iatio

n A

dmis

sion

Con

trol

Pr

icin

g an

d B

illin

g A

ccou

ntin

g

Public Cloud

Private Cloud

Scie

ntifi

c C

ompu

ting

Amus

emen

t

Fina

ncia

l App

licat

ions

Infrastructure as a Service

Platform as a Service

Software as a Service

Hybrid Cloud

Rackspace

Page 16: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Valeria Cardellini - SD A.A. 2010/11

Page 17: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Valeria Cardellini - SD A.A. 2010/11 28

•  Cloud pubblica –  L’utente finale dei servizi erogati dalla Cloud (il Cloud user) è

di tipo pubblico, accede mediante sottoscrizione –  I servizi Cloud possono essere gratuiti oppure a pagamento –  Esempi: Amazon EC2, Google AppEngine, Rackspace,

Windows Azure

•  Cloud privata –  Il Cloud user è all’interno di un’azienda (o di una qualsiasi

organizzazione non aperta ad Internet) ed usa il data center aziendale, realizzato con tecnologie tipiche del Cloud computing (virtualizzazione delle risorse e dei servizi e standardizzazione della gestione)

–  Minori vantaggi economici rispetto a cloud pubblica –  Maggiore sicurezza rispetto a cloud pubblica

Valeria Cardellini - SD A.A. 2010/11 29

•  Cloud di tipo community (o enterprise) –  Simile a Cloud privata, ma l’azienda o organizzazione ha

dimensione più ampie

•  Cloud ibrida –  Combinazione di cloud priviata e cloud pubblica –  Vantaggi di cloud pubblica + privata –  Esempio: uso di una cloud privata per fornire

un’applicazione Web in situazioni di carico normale ed uso di una cloud pubblica per gestire picchi improvvisi di carico che la cloud privata non è in gradi di gestire adeguatamente

Page 18: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Valeria Cardellini - SD A.A. 2010/11 30

Infrastructure SPs

Basic SPs

Intermediaries SPs

High-value SPs

Valeria Cardellini - SD A.A. 2010/11 31

Rackspace

Page 19: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

•  IaaS: risorse computazionali (storage, server) disponibili come servizi a richiesta –  Invece di utilizzare macchine fisiche, i clienti IaaS accedono

a server virtuali su cui installano il proprio sw, in generale dal sistema operativo in su

•  Esempi –  Akamai (NetStorage e servizi CDN) –  Amazon (Elastic Compute Cloud/EC2 e Simple Storage

Service/S3) –  FlexiScale –  GoGrid (Cloud Servers e Cloud Storage) –  Joyent (Accelerator) –  Rackspace

Valeria Cardellini - SD A.A. 2010/11 32

•  PaaS: piattaforme che consentono uno sviluppo facile e l'implementazione di applicazioni scalabili, senza la necessità di investire in (o gestire) qualsiasi infrastruttura sottostante –  Forniscono servizi di più alto livello rispetto a IaaS (ad es.

framework applicativi e strumenti di sviluppo)

•  Esempi –  Akamai (EdgeComputing) –  Amazon (SimpleDB) –  Elastra e RightScale (piattaforme per Amazon EC2) –  Google (App Engine) –  Microsoft (Azure) –  Oracle (SaaS Platform)

Valeria Cardellini - SD A.A. 2010/11 33

Page 20: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

•  SaaS: applicazioni complete per l'utente finale che sono gestite e distribuite tramite web –  E’ attualmente la categoria più ampia di soluzioni di cloud

computing

•  Esempi –  Comunicazione: Adobe Web Connect, Cisco WebEx,

Google Mail, Hotmail, Yahoo! Mai –  Produttività personale: Google Docs –  Storage di file: Dropbox, SugarSync –  E-Commerce: Demandware –  CRM (Customer relationship management): salesforce.com –  Contabilità, ERP (Enterprise Resource Planning), CRM ed

e-Commerce: NetSuite –  Risorse umane, finanza ed altre applicazioni ERP: SAP

Business ByDesign –  Risorse umane, finanza e libri paga: Workday

Valeria Cardellini - SD A.A. 2010/11 34

Usando uno IaaS provider •  Accesso a livello di codice tramite servizi Web e/o

Web API •  Risorse virtualizzate “pure”

–  CPU, memoria, storage e banda di rete

Usando un PaaS provider •  Risorse virtualizzate più framework applicativo

–  Ad esempio: RoR (Ruby On Rails), Python, .NET

•  Impone un’architettura dell’applicazione e dei dati −  Limiti su come viene costruita l'applicazione

•  Maggiori rischi di vendor lock-in

Valeria Cardellini - SD A.A. 2010/11 35

Page 21: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

•  Il Cloud user ottiene la capacità computazionale e di storage che gli serve nel momento in cui ne ha bisogno"

•  Nello scale-up e nello scale-down"–  Legata al modello pay-per-use (& pay-as-you-grow)"–  Non occorre più dimensionare lʼinfrastruttura sul picco di carico "

Valeria Cardellini - SD A.A. 2010/11 36

•  Sovra-dimensionamento dell’infrastruttura: comporta sotto-utilizzazione –  Utilizzazione dei server nei data center tradizionali

•  In genere < 20%; in casi rari 30% –  Utilizzazione delle componenti di rete nei data center tradizionali

•  In genere < 10% Costoso e con impatto negativo sull’ambiente

Valeria Cardellini - SD A.A. 2010/11 37

Page 22: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

•  Sotto-dimensionamento dell’infrastruttura: comporta forti penalità

Valeria Cardellini - SD A.A. 2010/11 38

•  Animoto su Facebook (aprile 2008)"–  Da 25000 a 750000 utenti in soli

3 giorni"–  Con un picco di 20000 nuovi

utenti allʼora"

Valeria Cardellini - SD A.A. 2010/11 39

Page 23: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

•  Numerose opportunità per lo sviluppo di nuove applicazioni, tra cui:"

•  Applicazioni Web e mobili interattive"–  Processamento non possibile sul dispositivo mobile !

computation offloading nella Cloud"–  Dispositivi mobili la cui UI è sul web anziché sul dispositivo

stesso"–  Dispositivi mobili che agiscono come sensori per lʼacquisizione

intelligente di dati"•  Analisi di enormi quantità di dati (batch processing

parallelo)"–  Basato su MapReduce e Apache Hadoop"–  Attenzione: conviene spostare i dati nella Cloud se vi è uno

speedup nellʼanalisi dei dati (non dimenticare la latenza di comunicazione!)"

•  Estensioni di software desktop di tipo computing-intensive"

Quale sarà la killer application del cloud computing?! 40

Valeria Cardellini - SD A.A. 2010/11 41

•  Data storage “in-the-cloud”: –  Ad elevata scalabilità –  Ad elevata disponibilità (fino a 99.99%) –  Accessibile anytime e anywhere tramite Web

•  Accesso programmabile mediante Web service API •  Semplice da usare •  Modello di costo pay-per-use: ad es. per l’Europa

–  Storage: $0.14/GB al mese –  Data Transfer: da $0.1/GB –  Requests: $0.01 per 1000 richieste (PUT, COPY, POST,

LIST)

•  SLA del servizio http://aws.amazon.com/s3-sla/

Page 24: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Valeria Cardellini - SD A.A. 2010/11 42

•  Capacità computazionale auto-scalabile “in the cloud” –  Possibilità di ottenere nuove istanze di server in pochi minuti –  Possibilità di scalare la capacità (up o down) a seconda dei

cambiamenti nei requisiti computazionali •  Accesso completo (come root) a una macchina

virtuale (blank) •  Interfaccia di gestione mediante semplici Web service •  Modello di costo pay-per-use differenziato per tipi di

server e software di base, ad es.: –  Standard Linux: $0.095/ora –  High-memory Linux: $0.57/ora –  High-CPU Linux: $0.19/ora

Valeria Cardellini - SD A.A. 2010/11 43

•  Servizio di content delivery –  E’ una CDN “in the cloud”

•  Delivery di contenuti statici e streaming •  Richieste redirette automaticamente verso l’edge più

vicino all’utente •  Integrato con Amazon S3 per lo storage dei contenuti

Page 25: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Valeria Cardellini - SD A.A. 2010/11 44

•  E’ la piattaforma di sviluppo e hosting di applicazioni Web a traffico elevato nella cloud di Google

•  Linguaggi di programmazione: Python e Java

Valeria Cardellini - SD A.A. 2010/11 45

•  E’ la piattaforma cloud di Microsoft per sviluppare applicazioni e servizi in ambito cloud

•  Argomento del seminario del 17 gennaio 2011

Page 26: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Valeria Cardellini - SD A.A. 2010/11 46

Alcuni progetti open source •  Forniscono strumenti per realizzare soluzioni a livello

IaaS •  Eucalyptus http://open.eucalyptus.com/

–  Eucalyptus = Elastic Utility Computing Architecture Linking Your Programs To Useful Systems

–  Compatibile con alcuni Amazon Web Services

•  Nimbus http://www.nimbusproject.org/ –  Insieme di strumenti open source che forniscono una IaaS

per cloud computing in ambito scientifico –  Compatibile con Amazon EC2

•  OpenNebula http://www.opennebula.org/ −  Adatto per Cloud pubbliche, ibride e private

•  OpenQRM http://www.openqrm.com/ –  Strumenti per la gestione di data center –  Adatto per Cloud private

•  Scalabilità, flessibilità"–  Quantità “infinita” di risorse di computazione disponibile su

richiesta"•  Accessibilità anytime e anywhere"

–  Accesso basato su Internet/Web"•  Semplicità di gestione"

–  Ad es. versioning e aggiornamento del software"

•  Eliminazione dellʼimpegno anticipato"–  I costi scalano con lʼutilizzo (infrastruttura come

percentuale di profitto e non come costo fisso iniziale)"•  Innovazione di business più rapida"•  Maggiore produttività"

•  Riduzione dellʼimpatto ambientale dei data center"

Ben

efic

i IT

Ben

efic

i di

busi

nees

Ben

efic

i per

l’am

bien

te

Valeria Cardellini - SD A.A. 2010/11 47

Page 27: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

•  Privacy e sicurezza"–  Chi accede ai miei dati nella Cloud?"–  Quanto mi fido del mio Cloud provider?"–  E riguardo a recupero, tracciamento ed integrità dei dati?"

•  Questioni politiche e legali"–  Di chi sono i dati?"–  Chi può usare i dati personali?"–  Dove sono i dati?"

•  Ad es., AWS Regions per lo storage"•  Progettazione di applicazioni scalabili fin dallʼinizio"•  Elastic: VERO; istantaneo: FALSO (almeno oggi)"•  Latenza di comunicazione"

–  La Cloud può essere distante qualche msec"–  Eʼ un paradigma adatto per sviluppare applicazioni real-

time?"•  Rischi di vendor lock-in"

Valeria Cardellini - SD A.A. 2010/11 48

•  Service Level Agreement –  Monitoraggio e controllo a carico del provider –  Cosa succede se qualcosa va male? –  Qual è il vero costo della fornitura di SLA?

•  Incertezza –  Ad es. nel caso di storage: pattern di utilizzo da parte degli

utenti, tipo di workload predominante, frequenza di accesso delle risorse, volume di accesso delle risorse, località degli accessi, durata delle risorse, dimensione delle risorse

•  Vincoli dei customer –  Richiesta per API aperte/standard –  Necessità di aggiungere continuamente valore –  Ogni applicazione è unica!

•  Energy management •  Interoperabilità tra cloud diverse

Valeria Cardellini - SD A.A. 2010/11 49

Page 28: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Challenge! Opportunity!

Availability" Multiple providers & data centers"Data lock-in" Standardization"Data confidentiality and auditability" Encryption, VLANs, firewalls; geographical data

storage"Data transfer bottlenecks" FedEx-ing disks, data backup/archival"Performance unpredictability" Improved VM support, flash memory, scheduling

VMs"Scalable storage" Invent scalable store"Bugs in large distributed systems" Invent debugger that relies on distributed VMs"Scaling quickly" Invent auto-scaler that relies on ML; snapshots"Reputation fate sharing" Offer reputation-guarding services like those for

email"Software licensing" Pay-for-use licenses; bulk use sales"

Polic

y &

Bus

ines

s G

row

th

Ado

ptio

n

Fonte: M. Armbrust et al., “Above the Clouds: A Berkeley View of Cloud Computing”, Technical Report EECS-2009-28, 2009."

Valeria Cardellini - SD A.A. 2010/11 50

Concludendo"

•  Il Cloud computing "–  Ha le potenzialità per cambiare in modo sostanziale il modo in

cui viene progettata l'architettura tecnica e di business delle aziende moderne"

–  Eʼ una tecnologia dirompente, che può determinare un conseguente “scompiglio” creativo"

•  I sistemi che supportano il Cloud computing sono estremamente complessi"–  Moltissimi server, miriadi di tecnologie, interazioni complesse

tra rete e sistema, miriadi di applicazioni con carichi eterogenei"•  Cʼè molto lavoro da fare per rendere reali tutte le

promesse del Cloud"

Valeria Cardellini - SD A.A. 2010/11 51

Page 29: Come si dimensiona un sistema che supporta servizi con le ... · • Come si dimensiona un sistema che supporta servizi con le seguenti esigenze?" ... Microsotsʼs cloud computing

Valeria Cardellini - SD A.A. 2010/11 52

•  Michael Armbrust et al., “Above the Clouds: A Berkeley View of Cloud Computing”, Technical Report EECS-2009-28, 2009. http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/

EECS-2009-28.pdf

•  R. Buyya, C.S. Yeo, S. Venugopal, J. Broberg, I. Brandic, “Cloud Computing and Emerging IT Platforms: Vision, Hype, and Reality for Delivering Computing as the 5th Utility”, Future Generation Computer Systems, Vol. 25, No. 6, pp. 599-616, June 2009. http://www.buyya.com/papers/Cloud-FGCS2009.pdf

•  IEEE ha incluso il Cloud computing tra le tecnologie top dell’ultimo decennio S. Upson, “Cloud Computing: It’s Always Sunny in the Cloud”, IEEE Spectrum, Jan. 2011. http://spectrum.ieee.org/computing/networks/cloud-computing-its-always-sunny-in-the-cloud