introduzione al cloud computing - ce.uniroma2.it · introduzione al cloud computing ... –...

57
Introduzione al Cloud Computing Università degli Studi di Roma Tor VergataDipartimento di Ingegneria Civile e Ingegneria Informatica Corso di Sistemi Distribuiti e Cloud Computing A.A. 2017/18 Valeria Cardellini

Upload: lamthuan

Post on 18-Feb-2019

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Introduzione al Cloud Computing

Università degli Studi di Roma “Tor Vergata” Dipartimento di Ingegneria Civile e Ingegneria Informatica

Corso di Sistemi Distribuiti e Cloud Computing A.A. 2017/18

Valeria Cardellini

Page 2: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

A simple problem

Valeria Cardellini - SDCC 2017/18 1

•  A very simple cloud computing application: video playback

•  How to scale?

•  “Classic” solution: multithreaded application that exploits multicore parallelism

•  Cons: –  Design can be complex –  Single failure impacts

many users

1

Page 3: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

A simple problem (2)

•  A simpler cloud-hosted solution: a single-threaded video server instantiated once per user and running in a virtual machine or a container

•  Pros: –  Dramatically simpler

design –  If a player crashes, only

a single user is affected

Valeria Cardellini - SDCC 2017/18 2

2

Page 4: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Valeria Cardellini - SDCC 2017/18

3

The real problem: scale and complexity

•  How to realize a system/service with the following requirements?"–  Million requests per day to serve"–  Increase/decrease in the request rate of one order

of magnitude (or even more) in a quite short period"–  Exabytes to store (1 EB = 260 = 1018 bytes)"

•  There is a problem of scale of services! •  And scale changes every well known problem

in computer research and industry

Page 5: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

A taste of scale: scenario in 2017 •  More than 2G smartphone users •  More than 3.4G Internet users

Valeria Cardellini - SDCC 2017/18

4

•  iTunes: 2M available apps, over

140G apps downloaded from 2008 •  YouTube: 300 hours of video

uploaded every minute, 6G hours of video watched each month

•  Twitter: 500M tweets per day •  Akamai: 15-30% of the world’s

Web traffic, delivers more than 30Tbps daily

•  Google: 5.5G search queries daily (10K in 1998!), over 2T per year

•  WhatsApp: 55G messages daily, 4.5G photos daily, 100M voice calls daily

•  Dropbox: 500M MAU, 1.2G files saved daily, 4K files edited every second

•  Netflix: 100M worldwide subscribers, 35% of traffic on North America fixed networks

Page 6: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Valeria Cardellini - SDCC 2017/18 5

Some “old” and partial answers •  Utility computing •  On-demand computing •  Grid computing •  Autonomic computing •  Software as a Service (SaaS)

–  An “old” idea: application delivery on Internet

•  … before cloud computing (2006)

•  Many definitions: a transition period –  Difficult to see where the cloud paradigm

would have taken us in the long term

•  Now the picture is clearer –  The cloud represents one step towards

the solution of the scale problem

Page 7: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Valeria Cardellini - SDCC 2017/18 6

The origin: from 4 fundamental utilities…

•  Water

•  Gas

•  Electricity

•  Telephony/Network

… to computing as the fifth utility

Page 8: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Valeria Cardellini - SDCC 2017/18

7

Utility computing

•  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-per-use e a grana fine (ad es. su

base oraria) •  Ma 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 9: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Valeria Cardellini - SDCC 2017/18

8

Utility computing (2)

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

Page 10: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Towards cloud computing

Valeria Cardellini - SDCC 2017/18

9

•  2006: Jeff Bezos, Amazon: “Let us use our spare resource for making profit by offering them as services to the public” –  In August 2006 Amazon launched Elastic Compute Cloud

(EC2) and a paired online storage service called Simple Storage Service (S3)

–  Basic idea: let users rent data storage and computer server time from Amazon like a utility

–  Cloud computing was finally born

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

Page 11: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Valeria Cardellini - SDCC 2017/18

10

Paradigmi di computing e attributi: realizzare la vision “computer utility”

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

−  Affidabilità −  Scalabilità ed elasticità −  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 12: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Valeria Cardellini - SDCC 2017/18

11

How do computing paradigms differ?

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

Source: R. Buyya

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

Page 13: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Valeria Cardellini - SDCC 2017/18

12

Cloud computing?

•  What does it mean? •  How does it differ from other computing paradigms? •  How does it extend other computing paradigms?

Page 14: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Many technologies, concepts and ideas"

Containers Storage

Virtualization

Provisioning on demand

Scalability

IaaS

PaaS

SaaS Prici

ng

Utility computing

Security

IT outsourcing

Public Cloud

Private Cloud

Cloud bursting

Virtual

data

centers

Privacy & Trust

No capital investments

Valeria Cardellini - SDCC 2017/18

13

Cloud federation

Page 15: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Valeria Cardellini - SDCC 2017/18

14

Cloud computing

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 16: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

A myriad of definitions… •  [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, 2011]: Cloud computing is a model for enabling ubiquitous, 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. (16th definition!)!

•  [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 - SDCC 2017/18

15

Page 17: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

… that share some essential characteristics •  Pay-per-use pricing model"

–  No large up-front acquisition cost"

•  Broad network access""•  Rapid elasticity "

–  Elasticity: ability for customers to quickly request, receive, and later release as many resources as needed"

–  Allows for on-demand scale in/out!

•  Resources virtualization"–  Resources: storage, processing, memory, network bandwidth,

and even data centers"

•  On-demand self-service"–  Human interaction with each service provider is not required"

Valeria Cardellini - SDCC 2017/18

16

Page 18: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Key attributes of Cloud services

•  Shared, standard service •  Solution packaged •  Self-service •  Elastic resource scaling •  Elastic, use-based pricing •  Published service interface/API

Source: IDC's Worldwide IT Cloud Services Taxonomy, 2015

Valeria Cardellini - SDCC 2017/18 17

Page 19: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Cloud computing: perché ora?

•  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 - SDCC 2017/18

18

Page 20: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Valeria Cardellini - SDCC 2017/18

19

Deployment models

Page 21: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Valeria Cardellini - SDCC 2017/18

20

Deployment models: public and private

•  Public cloud –  Cloud infrastructure: provisioned for open use by the general

public (multi tenancy) –  Owned, managed, and operated by a business, academic,

or government organization, or some combination of them –  Exists on the premises of the cloud provider –  Services can be free or fee-based

•  Private/enterprise cloud –  Cloud infrastructure: provisioned for exclusive use by a

single organization comprising multiple consumers (e.g., business units)

–  Owned, managed, and operated by the organization, a third party, or some combination of them

–  Exists on or off premises –  Pros: stronger security, customization –  Cons: lower economic advantages, scalability more

laborious

Page 22: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Valeria Cardellini - SDCC 2017/18

21

Deployment models: hybrid

•  Hybrid cloud –  Cloud infrastructure: composition of two or more distinct

cloud infrastructures (private or public) that remain unique entities, but are bound together by standardized or proprietary technology that enables data and application portability

–  Mixed use of private and public clouds –  Why? E.g., cloud bursting

•  Cloud bursting –  Use a dynamic hybrid cloud (private + public clouds) to

manage variable workload when private cloud capacity is insufficient

•  Private cloud used to provide the application under average workload

•  Plus a public cloud used to manage load spikes that the private cloud is unable to sustain

Page 23: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Example of Cloud bursting

Valeria Cardellini - SDCC 2017/18

22

•  ticketmaster.com uses hybrid cloud to handle Black Friday-level traffic during big event launches

•  Daily traffic rank trend for ticketmaster.com (global rank: 1059)

Public cloud

Private cloud Source: www.alexa.com

Pos

ition

in g

loba

l ran

k

Page 24: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Valeria Cardellini - SDCC 2017/18

23

Popularity of deployment models •  “Sustained workloads requiring control and

compliance tend to be allocated to private clouds, while elastic workloads go to public cloud providers” (Cisco and IDC)

Page 25: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Data Centers Clusters Storage

Other Grids/Clouds

Virtualization

VM Management & Deployment

Amazon S3, EC2

OpenNebula, Eucalyptus, OpenStack

Mosso Rackspace

Valeria Cardellini - SDCC 2017/18

24

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

SLA

Neg

otia

tion

Adm

issi

on C

ontr

ol Pr

icin

g an

d B

illin

g

Acc

ount

ing

Public Cloud

Private Cloud

Scie

ntifi

c C

ompu

ting

Amus

emen

t

Fina

ncia

l App

licat

ions

Platform as a Service

Software as a Service

Hybrid Cloud

Infrastructure as a Service

Cloud stack

Page 26: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Service models: SaaS

•  Software as a Service (SaaS) –  Customer capability

•  To use the SaaS provider’s applications running on a cloud infrastructure

•  Applications accessible from various client devices through the Web or provider APIs

–  Customer control or management •  No control over underlying cloud infrastructure

– Network, servers, operating systems, storage, or even individual application capabilities

•  Possible exception: limited user-specific application configuration settings

Valeria Cardellini - SDCC 2017/18

25

Page 27: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Service models: PaaS

•  Platform as a Service (PaaS) –  Customer capability

•  To develop, deploy and test onto the cloud infrastructure consumer-created or consumer-acquired applications realized using programming languages and tools supported by the PaaS provider

–  Customer control or management •  No control over underlying cloud infrastructure

– Network, servers, operating systems, storage •  Control over deployed applications and possibly

application hosting environment configurations

Valeria Cardellini - SDCC 2017/18

26

Page 28: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Service models: IaaS

•  Infrastructure as a Service (IaaS) –  Customer capability

•  To provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software (including operating systems and applications)

–  Customer control or management •  No control over underlying cloud infrastructure •  Control over operating systems, storage, deployed

applications •  Possibly limited control of selected networking

components (e.g., host firewalls)

Valeria Cardellini - SDCC 2017/18

27

Page 29: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Wrapping up the service models

Valeria Cardellini - SDCC 2017/18

28

Page 30: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

IaaS examples •  IaaS: compute, storage and network resources as on-

demand services •  Examples

–  Akamai (Intelligent Platform) –  Alibaba Cloud (e.g., Elastic Compute Service) –  Aruba Cloud –  Amazon Web Services (e.g., EC2 and S3)

•  In 2017 the largest Cloud IaaS provider, followed by Google, Microsoft and IBM

–  CityCloud –  CloudSigma –  DigitalOcean –  Google Cloud Platform (e.g., Compute Engine and Cloud Storage) –  IBM Bluemix (e.g., Virtual Servers and Object Storage) –  Microsoft Azure (e.g., Virtual Machines and Storage) –  Rackspace (e.g., Cloud Servers and Cloud Files)

Valeria Cardellini - SDCC 2017/18

29

Page 31: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

PaaS examples •  PaaS: platforms that allow customers to develop, run

and manage scalable applications, without the complexity of building and maintaining the underlying infrastructure –  Include application frameworks and development tools –  Rapidly growing in popularity, especially Containers as a

Service (CaaS)

•  Examples –  Apprenda –  AWS Elastic Beanstalk –  Google App Engine –  Heroku, RightScale (platforms for Amazon EC2) –  IBM Bluemix Application Services –  Joyent (e.g., Triton for CaaS) –  Microsoft Azure Cloud Services –  Oracle Cloud Platform

Valeria Cardellini - SDCC 2017/18

30

Page 32: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

SaaS examples •  SaaS: applications made available to customers over

the Internet –  Still the largest cloud market

•  Examples –  Communication & collaboration: Adobe Connect, Cisco

WebEx, Google Mail, Yahoo! Mail –  Personal productivity: Google Drive, Google Calendar –  File storage: Dropbox, Symform, SugarSync –  E-commerce: Demandware –  CRM (Customer Relationship Management):

salesforce.com –  Accounting, ERP (Enterprise Resource Planning), CRM and

e-commerce: NetSuite –  Human resources, finance and other ERP apps: SAP

Business ByDesign, Workday

Valeria Cardellini - SDCC 2017/18

31

Page 33: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

IaaS e PaaS a confronto

Usando un IaaS provider •  Risorse virtualizzate “pure”

–  CPU, memoria, storage, banda di rete, load balancer, … –  Incluso sistema operativo –  “T-shirt” size

Usando un PaaS provider •  Risorse virtualizzate più framework applicativo

–  Ad esempio: RoR (Ruby On Rails), Python, .NET –  Servizi aggiuntivi, ad es. scaling automatico senza doverlo

configurare (e.g., AWS Elastic Beanstalk)

•  Vincoli sull’architettura dell’applicazione e dei dati •  Maggiori rischi di vendor lock-in

Valeria Cardellini - SDCC 2017/18

32

Page 34: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Types of service providers (SP)

Infrastructure SPs

Basic SPs

Intermediaries SPs

High-value SPs

Valeria Cardellini - SDCC 2017/18

33

Rackspace

Page 35: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Who use clouds? •  Cloud computing is the back-end infrastructure used

by the largest companies to provide popular and successful Internet services that are: –  Scalable and elastic –  Affordable –  Reliable –  Secure

•  Some examples: Netflix, Instagram, Vine, Foursquare, Shazam and Dropbox use commercial clouds

•  According to RightScale 2016 State of the Cloud Report: –  Hybrid cloud remains the preferred strategy –  Public cloud leads in breadth of enterprise adoption –  Private cloud leads in workloads

Valeria Cardellini - SDCC 2017/18

34

Page 36: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

A key Cloud benefit: elasticity •  Elasticity is the degree to which a system is able to adapt

to workload changes by provisioning and de-provisioning resources in an autonomic manner, such that at each point in time the available resources match the current demand as closely as possible

N.R. Herbst et al., “Ready for Rain? A View from SPEC Research on the Future of Cloud Metrics”, Tech. Rep. SPEC-RG-2016-01, 2016."

Valeria Cardellini - SDCC 2017/18

35

Page 37: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Soluzioni tradizionali: sovra-dimensionamento •  Sovra-dimensionamento dell’infrastruttura:

comporta sotto-utilizzazione –  Utilizzazione dei server nei data center tradizionali

•  In genere < 20%; in casi rari 30% •  Data center di Google: compresa tra 10% e 50% (nel 2007)

–  Utilizzazione delle componenti di rete nei data center tradizionali •  In genere < 10% Costoso e con impatto negativo sull’ambiente

Valeria Cardellini - SDCC 2017/18

36

Page 38: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

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

Soluzioni tradizionali: sotto-dimensionamento

Valeria Cardellini - SDCC 2017/18

37

Page 39: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Elasticity: example of Cloud scale-out

•  Animoto app on Facebook (april 2008)"–  From 25K to 750K users just in

3 days"–  A peak of 20K new users in one

hour"

Valeria Cardellini - SDCC 2017/18

38

Page 40: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Which metrics to measure elasticity?

•  Consider over-provisioning and under-provisioning

•  Some elasticity metrics (open research question!) -  Accuracy: the sum of areas of over-provisioning (O) and under-

provisioning (U) for the duration of the measurement period T

-  Timing: total amount of time spent in the over-provisioning (B) and under-provisioning (A) states over the measurement period T

Valeria Cardellini - SDCC 2017/18

39

Page 41: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Service Level Agreement (SLA)

•  Formal agreement (contract) between a provider and a consumer of a service

•  Composed of one or more SLO (Service Level Objective): –  A SLO is a condition on a

measure of a specific QoS parameter (e.g., maximum response time, mean response time, availability)

•  Includes penalty and/or compensation in case of SLA violation

Valeria Cardellini - SDCC 2017/18

40

Page 42: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

SLA life cycle

Valeria Cardellini - SDCC 2017/18

41

Runtime monitoring of the service

Source: Sun Microsystems Internet Data Center Group

Page 43: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Example: SLA offered by Cloud provider •  Service Commitment

AWS will use commercially reasonable efforts to make Amazon EC2 available with a Monthly Uptime Percentage of at least 99.95% during any monthly billing cycle. In the event Amazon EC2 does not meet the Service Commitment, you will be eligible to receive a Service Credit as described below.

–  Monthly Uptime Percentage 99.95% = 21 min 55 sec of downtime per month

•  Service Commitment and Service Credits Service Credits are calculated as a percentage of the total charges paid by you (excluding one-time payments such as upfront payments made for Reserved Instances).

We will apply any Service Credits only against future Amazon EC2 payments otherwise due from you… To receive a Service Credit, you must submit a claim…

Valeria Cardellini - SDCC 2017/18

42

Amazon EC2: http://aws.amazon.com/ec2-sla"

Page 44: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Example: SLA offered by Cloud provider (2)

•  Service Commitment AWS will use commercially reasonable efforts to make Amazon S3 available with a Monthly Uptime Percentage of at least 99.9% during any monthly billing cycle. In the event Amazon S3 does not meet the Service Commitment, you will be eligible to receive a Service Credit as described below.

- Monthly Uptime Percentage 99.9% = 43min 49sec of downtime per month

•  Definitions –  “Error Rate” means: (i) the total number of internal server errors returned by

Amazon S3 as error status “InternalError” or “ServiceUnavailable” divided by (ii) the total number of requests during that five minute period. We will calculate the Error Rate for each Amazon S3 account as a percentage for each five minute period in the monthly billing cycle. The calculation of the number of internal server errors will not include errors that arise directly or indirectly as a result of any of the Amazon S3 SLA Exclusions (as defined below).

–  “Monthly Uptime Percentage” is calculated by subtracting from 100% the average of the Error Rates from each five minute period in the monthly billing cycle.

Valeria Cardellini - SDCC 2017/18

43

Amazon S3: http://aws.amazon.com/s3-sla"

Page 45: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Cloud SLA issues •  Other SLA examples:

https://cloud.google.com/compute/sla https://www.rackspace.com/information/legal/cloud/sla

•  Some issues on Cloud SLAs: -  SLA jargon -  Lack of guarantees in terms of service performance

•  Especially response time: Cloud customer wants end-to-end response time, but the network is not controlled by Cloud provider

•  Weak uptime guarantee: on a per data center basis (i.e., AWS region) instead of per instance basis

-  Service credits only for future payments -  Burden of detecting SLA violation on Cloud customer -  Non-negotiable or customizable SLA -  SLA violation reporting time period -  Difficult to compare SLAs of different providers due to lack of

standardization in Cloud services S. Basat, “Cloud SLAs: Present and Future”, ACM SIGOPS Oper. Syst. Rev. 46(2), 2012.

Valeria Cardellini - SDCC 2017/18

44

Page 46: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Copyright © 2012, Elsevier Inc. All rights reserved. 1 - 45

Cloud applications

•  Scientific/technical applications •  Business applications

•  Consumer/social applications

Scientific and technical applications

Business applications

Consumer/social applications

45 Valeria Cardellini - SDCC 2017/18

Page 47: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Example of Cloud applications

•  Shazam samples music and identifies what the song is by matching it to its database of audio fingerprints –  On the client side: the app captures an audio snippet,

transforms it into a fingerprint and sends the latter to Shazam –  On the server side: Shazam checks if this fingerprint matches

with one of its fingerprints •  Precomputed search indexes of fingerprints are used to speed up the

search, with a fine-grained match to improve accuracy

–  During high-traffic events Shazam have used AWS and Google Cloud Platform (for its backend tier made of GPU instances) https://aws.amazon.com/premiumsupport/shazam_event/ https://cloud.google.com/customers/shazam

Valeria Cardellini - SDCC 2017/18

46

Page 48: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Copyright © 2012, Elsevier Inc. All rights reserved. 1 - 47

Petabytes doubling & doubling

Cloud applications: Big data

47

Big data challenges (3 Vs): -  Volume (amount of data)

-  Velocity (speed of data in and out) -  Variety (range of data types and sources)

Big data: any collection of data sets so large and complex that it becomes difficult to process using traditional data processing applications

•  A variety of cloud services for Big Data"

•  Do not forget that data should be moved to cloud (latency is not zero!)

Valeria Cardellini - SDCC 2017/18

Page 49: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

New scenario: fog/edge computing

48 Valeria Cardellini - SDCC 2017/18

•  How to manage computing- and data-intensive mobile apps (e.g., speech recognition, NLP, assisted vision, augmented reality)? -  Cloud-only solutions can be impractical due to latency -  Idea: offload computation and storage to a nearby, one-

hop micro data center (i.e., cloudlet) located at the network edge

•  Edge computing: similar to fog computing but fog works with cloud

Page 50: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Fog computing definitions •  “Fog Computing is a highly virtualized platform that

provides compute, storage, and networking services between end devices and traditional Cloud computing data centers, typically, but not exclusively located at the edge of network.” (Bonomi et al., 2012)

•  “A horizontal, system-level architecture that distributes computing, storage, control and networking functions closer to the users along a cloud-to-thing continuum.” (OpenFog consortium, 2017)

Valeria Cardellini - SDCC 2017/18

49

Page 51: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Riassumendo: principali benefici del Cloud •  Scalabilità, elasticità, flessibilità"

–  Quantità “infinita” di risorse disponibile su richiesta"•  Accessibilità anytime e anywhere"

–  Accesso basato su Internet/Web"•  Agilità organizzativa ed operativa"•  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 dell’ICT in ottica di sostenibilità"

Ben

efic

i IT

Ben

efic

i di

busi

nees

B

enef

ici p

er

l’am

bien

te

Valeria Cardellini - SDCC 2017/18

50

Page 52: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Criticità per Cloud customer •  Privacy e sicurezza"

–  Chi accede ai miei dati nel cloud?"–  Quanto mi fido del cloud provider?"–  E riguardo a recupero, tracciamento ed integrità dei dati?"

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

•  Ad es., AWS Regions per lo storage"•  Storm clouds?"

–  “You have zero privacy anyway. Get over it.” (Scott McNealy, SUN CEO, 2009)

–  “If you have something that you don’t want anyone to know, maybe you shouldn’t be doing it in the first place.... The reality is that search engines do retain information... It could become available later...” (Eric Schmidt, Google CEO, 2009)

Valeria Cardellini - SDCC 2017/18

51

Page 53: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Criticità per cloud customer (2) •  Latenza di comunicazione"

–  Distanza di qualche msec da cloud provider "–  Applicazioni real-time?"

•  Rischi di vendor lock-in –  Ad es. data lock-in: difficoltà di migrare dati ed applicazioni in

caso di cambio del cloud provider –  Mancano ancora standard per interoperabilità dei dati e delle

applicazioni

•  Mancanza di capacità di negoziazione e gestione di SLA –  Definizione di SLA (anche basati sull’end-user experience):

spesso generici, soprattutto per public cloud –  Monitoraggio di SLO: spesso a carico del cloud customer (vedi

SLA di AWS) •  Mancanza di standardizzazione nei servizi offerti

–  Inclusi standard specifici per il Cloud per definire e negoziare SLA (ad es. WS-Agreement ma per SOA) "

Valeria Cardellini - SDCC 2017/18

52

Page 54: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Issues for Cloud customers: scalability and elasticity

•  The two faces of scalability and elasticity –  The number of machines and resources you can

get from a cloud provider is virtually infinite –  Is your application able to scale similarly?

•  Rethink application design for the Cloud!

–  Is your Cloud provider able to support real elasticity?

•  That is, to automatically provision and deprovision computing resources on demand (without any manual reconfiguration) as workloads and priorities change, while maintaining availability and performance in a context-aware environment

Valeria Cardellini - SDCC 2017/18

53

Page 55: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Issues for cloud customers: cloud infrastructure outage

•  News on February 28, 2017: AWS S3 goes down for 4 hours, taking Slack, Quora, Trello and several media sites down with it –  Due to human error, see http://amzn.to/2fJhcfg

Valeria Cardellini - SDCC 2017/18

54

•  For the biggest cloud outages of 2017 (so far) see CRN slideshows at http://bit.ly/2xasP6v

Page 56: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Criticità per cloud provider •  Gestione di SLA

–  Quanto costa fornire servizi con SLA? –  Effetto a cascata causato dalla violazione di SLA ad un

determinato livello dello stack cloud •  Incertezza e variabilità nella richiesta di servizio

–  Es. per servizi di storage: pattern di utilizzo, tipo di workload predominante, frequenza e volume di accesso alle risorse, località degli accessi, dimensione e durata delle risorse

–  Example of solution: spot instance market to sell unused Amazon EC2 capacity

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

•  Energy management •  Interoperabilità e federazione tra cloud

Valeria Cardellini - SDCC 2017/18

55

Page 57: Introduzione al Cloud Computing - ce.uniroma2.it · Introduzione al Cloud Computing ... – Tariffazione di tipo pay-per-use e a grana fine (ad es. su base oraria) ... • Esperienza

Summing up"•  Cloud computing:

–  is here to stay and continues to be one of the most hyped subjects in IT

–  is increasingly becoming an integral concept in IT –  is a major trend in the way digital services are designed,

implemented and delivered –  is a key factor for the digitalization of the whole society

•  However, Cloud systems are very complex "–  Many heterogeneous resources and technologies, applications

with heterogeneous workloads and complex interactions between systems and networks, i.e., all difficult aspects of large-scale distributed systems"

–  Recall: “old” problems become new problems on a totally different scale and open to new solutions"

Valeria Cardellini - SDCC 2017/18

56