• No results found

!"#$%&'()*'+),-./)0' 9##+':,%-.;),0'

N/A
N/A
Protected

Academic year: 2021

Share "!"#$%&'()*'+),-./)0' 9##+':,%-.;),0'"

Copied!
19
0
0

Loading.... (view fulltext now)

Full text

(1)

!"#$%&'()*'+),-./)0'

12/#'+.3-)04,.'

0.3-)04,.5.&672&.,%"#87.4'

Università degli studi di Roma “Tor Vergata”

Facoltà di Ingegneria

9##+':,%-.;),0'

(2)

9##+':,%-.;),0'<)#42,)0'

3

9##+':,%-.;),0'<)#42,)0'

E.Casalicchio, L.Silvestri "Architectures for autonomic service management in cloud-based systems," Computers and Communications (ISCC), 2011 IEEE Symposium on, pp.161-166, June 28 2011-July 1 2011, Kerkyra (Corfù), Greece

(3)

!"#$%&'()*'+),-./)0'

Compute

–  Amazon Elastic Compute Cloud (EC2)

–  Amazon Elastic MapReduce –  Auto Scaling

–  Elastic Load Balancing

Storage

–  Simple Storage Service (S3) –  Elastic Block Store (EBS)

Database

–  Amazon SimpleDB

–  Amazon Relational Database Service (RDS)

–  Amazon DynamoDB

Messaging

–  Simple Queue Service (SQS) –  Simple Notification Service

(SNS)

Networking & Content Delivery

–  Amazon Route 53

–  Amazon Virtual Private Cloud (VPC)

–  Amazon CloudFront

Deployment & Management

–  Amazon CloudWatch –  AWS Elastic Beanstalk –  AWS Identity and Access

Management (IAM)

5

!"#$%&'=>8'

•  Provides resizable compute capacity in the

cloud

•  Allows to increase/decrease capacity (start/

stop instances) within minutes

•  Pay-per-use on hourly basis

•  From one to thousands of server instances can

be launched simultaneously

•  Guarantees complete control over instances

–  root SSH access, GUI, command line tools, APIs

•  offers advanced services

–  Elastic Block Store –  Elastic Load Balancer –  CloudWatch + AutoScaling –  Elastic IP

–  Amazon Elastic Beanstalk

(4)

=>8'1%/#?%&0'

Regions

–  geographically dispersed

–  consist of

one or more

availability zones

–  Current regions:US East (Northern Virginia), US West

(Oregon),US West (Northern California), EU (Ireland), Asia

Pacific (Singapore), Asia Pacific (Singapore), Asia Pacific

(Tokyo), South America (Sao Paulo)

–  Special Region AWS GovCloud

Availability Zones

–  distinct locations in the same region engineered to be insulated

from failures in other availability zones

–  used to protect applications from failure of a single location

Load Balancing

–  allowed only between different Availability Zones in the same

Region

–  not supported between different Regions

7

=>8'9&04#&/)'@AB)0'

On-Demand Instances

–  billing per-hour with no long-term commitments

Reserved Instances

–  one-time payment to reserve an instance for 1 or 3 years –  significant discount on hourly usage charge

Spot Instances

–  enable users to bid for unused EC2 capacity

–  Spot Price fluctuates periodically depending on supply of/demand for Spot Instance capacity

(5)

=>8'9&04#&/)0'

• 

C'

=>8'>%"B24)'D&.4'

B,%-.;)0'4E)')F2.-#3)&4'>:D'/#B#/.4A'%G'#'

C7HIC78'JK$'8HHL'MB4),%&'%,'8HHL'N)%&'B,%/)00%,'

9

=>8':,./)0'OD+'=#04P'

10

(6)

=>8':,./)0'O=DP'

11

=>8'!;;.?%&#3'+),-./)0':,./)0'

12

(7)

=>8'9&4),G#/)'

•  AWS Management Console

•  Command Line Tools

•  Java-based command-line client

•  AWS SDKS (available for Java, PHP and .NET) •  Third Party Libraries

•  Query and SOAP APIs

13

!"#$%&'+."B3)'+4%,#6)'+),-./)'

• 

+4%,#6)'G%,'4E)'9&4),&)4'

• 

<)#42,)0'

–  Q,.4)R',)#;R';)3)4)'%&'%*S)/40'/%&4#.&.&6'G,%"'C'*A4)'4%'T'@U')#/E' –  )#/E'%*S)/4'.0'04%,);'.&'#'*2/V)4'#&;',)4,.)-);'-.#'#'2&.F2)'V)A' –  K@@:'O;)G#234P'%,'U.4@%,,)&4';%Q&3%#;'B,%4%/%3' –  02BB%,40'G%,'"23?B3)'#//)00'/%&4,%3'")/E#&.0"0R'#0'Q)33'#0')&/,AB?%&'G%,'*%4E' 0)/2,)'4,#&0.4'#&;'0)/2,)'04%,#6)'%&';.0V' –  %*S)/40'#,)',);2&;#&43A'04%,);'%&'"23?B3)';)-./)0'#/,%00'"23?B3)'G#/.3.?)0'.&'#&' !"#$%&'+W'X)6.%&' –  :D@'#&;'>M:Y'%B),#?%&0'0A&/E,%&%203A'04%,)'A%2,';#4#'#/,%00'"23?B3)'G#/.3.?)0' *)G%,)',)42,&.&6'+D>>=++' –  ;#4#'.&4)6,.4A',)623#,3A'-),.Z);'20.&6'/E)/V02"' –  X);2/);'X);2&;#&/A'+4%,#6)'OX++P'#33%Q0'4%',);2/)'/%04'04%,.&6'&%&I/,.?/#3';#4#'#4' 3%Q),'3)-)3'%G',);2&;#&/A'

• 

:,./.&6'

–  +4%,#6)["%&4E'O\H7HWLI\H7C]H'B),'JUR'Z,04'@U'G,))P' –  ,)F2)04'O\H7C'B),'CHHH':D@R'>M:YR'1.04',)F2)040R'\H7HC'B),'CHHHH'J=@',)F0P' –  ^#4#'@,#&0G),'O9_'G,))R'MD@'G,%"'\H7HT'4%'\H7C8'B),'JUP' 14

(8)

!"#$%&'=3#0?/'`#BX);2/)'

• 

=&#*3)0'4%'B,%/)00'-#04'#"%2&40'%G';#4#'

–  !BB3./#?%&0a'Q)*'.&;)b.&6R';#4#'".&.&6R'3%6Z3)'#&#3A0.0R';#4#'QE#,)E%20.&6R' Z&#&/.#3'#&#3A0.0R'0/.)&?Z/'0."23#?%&c'

• 

D?3.$)0'#'E%04);'

K#;%%B'

G,#")Q%,V',2&&.&6'%&'4E)'Q)*I0/#3)'

.&G,#04,2/42,)'%G'!"#$%&'=>8'#&;'+W'

–  !B#/E)'K#;%%B'.0'#&'%B)&'0%2,/)'d#-#'0%eQ#,)'G,#")Q%,V'4E#4'02BB%,40' ;#4#I.&4)&0.-)';.04,.*24);'#BB3./#?%&0',2&&.&6'%&'3#,6)'/3204),0'%G'/%""%;.4A' E#,;Q#,)'

• 

K#;%%B'."B3)")&4#?%&'%G'4E)'

`#BX);2/)'

G,#")Q%,V

' –  ;#4#'.&'#'S%*'f%Q'02*;.-.;);'.&'0"#33),'/E2&V0'0%'4E#4'4E)A'/#&'*)'B,%/)00);' .&'B#,#33)3'O"#B'G2&/?%&P' –  B,%/)00);';#4#'#,)',)/%"*.&);'.&4%'4E)'Z&#3'0%32?%&'O,);2/)'G2&/?%&P'

• 

!33%Q0'A%2'4%'."B3)")&4';#4#'B,%/)00.&6'#BB3./#?%&0'.&'"#&A'3#&62#6)0'

.&/32;.&6'd#-#R':),3R'X2*AR':A4E%&R':K:R'XR'%,'>gg'

15

^#4#*#0)'

!"#$%&'X^+'

–  X)3#?%&#3'^U'O`A+h1'%,'M,#/3)'^U'=&6.&)P' –  !24%"#?/'`#&#6)")&4'O+%eQ#,)':#4/E.&6R'U#/V2BP'#&;'`%&.4%,.&6' –  <%,'4E)'`A+h1'^U'=&6.&)R'A%2'/#&'#30%'#00%/.#4)'%&)'%,'"%,)'X)#;'X)B3./#0'

'

!"#$%&'+."B3)^U'

–  E.6E3A'#-#.3#*3)'#&;'f)b.*3)'&%&I,)3#?%&#3';#4#'04%,)' –  #24%"#?/#33A'/,)#4)0'"23?B3)'6)%6,#BE./#33A';.04,.*24);'/%B.)0'%G')#/E';#4#' .4)"'A%2'04%,)

'

!"#$%&'^A&#"%^U'

–  #'G233A'"#&#6);'_%+h1';#4#*#0)'0),-./)'4E#4'B,%-.;)0'G#04'#&;'B,);./4#*3)' B),G%,"#&/)'Q.4E'0)#"3)00'0/#3#*.3.4A' –  #24%"#?/#33A'0B,)#;0'4E)';#4#'#&;'4,#i/'G%,'4E)'4#*3)'%-),'#'02i/.)&4' &2"*),'%G'0),-),0'4%'E#&;3)'4E)',)F2)04'/#B#/.4A'0B)/.Z);'*A'4E)'/204%"),' #&;'4E)'#"%2&4'%G';#4#'04%,);R'QE.3)'"#.&4#.&.&6'/%&0.04)&4R'G#04' B),G%,"#&/)' –  !33';#4#'.4)"0'#,)'04%,);'%&'+%3.;'+4#4)'^,.-)0'O++^0P'#&;'#,)'#24%"#?/#33A' ,)B3./#4);'#/,%00'"23?B3)'!-#.3#*.3.4A'j%&)0'.&'#'X)6.%&' –  .&4)6,#?%&'Q.4E'=3#0?/'`#BX);2/)' 16

(9)

!"#$%&'+."B3)'h2)2)'+),-./)'

• 

`)00#6)'F2)2.&6'0),-./)'4E#4')&#*3)0'#0A&/E,%&%20'")00#6)'

*#0);'/%""2&./#?%&'*)4Q))&';.04,.*24);'/%"B%&)&40'%G'#&'

#BB3./#?%&'

• 

(E)&'#'")00#6)'.0',)/).-);R'.4'*)/%")0'k3%/V);l'QE.3)'*).&6'

B,%/)00);'

– 

9G'4E)'")00#6)'B,%/)00.&6'G#.30R'4E)'3%/V'Q.33')bB.,)'#&;'4E)'")00#6)'

Q.33'*)'#-#.3#*3)'#6#.&'

17

!"#$%&'X%24)'TW'

• 

K.6E3A'#-#.3#*3)'#&;'0/#3#*3)'^_+'Q)*'0),-./)'

• 

!&0Q),0'^_+'F2),.)0'Q.4E'3%Q'3#4)&/A'*A'20.&6'#'63%*#3'

&)4Q%,V'%G'^_+'0),-),0'

• 

h2),.)0'#,)'#24%"#?/#33A',%24);'4%'4E)'&)#,)04'^_+'0),-),'

• 

^)0.6&);'4%'#24%"#?/#33A'0/#3)'4%'E#&;3)'-),A'3#,6)'F2),A'

-%32")0'Q.4E%24'#&A'E2"#&'.&4),-)&?%&'

• 

:,./.&6'

– 

K%04);'j%&)0'

•  \H7TH'B),'E%04);'$%&)'['"%&4E'G%,'4E)'Z,04'8T'E%04);'$%&)0' \H7CH'B),'E%04);'$%&)'['"%&4E'G%,'#;;.?%&#3'E%04);'$%&)0'

– 

h2),.)0'

•  \H7TH'B),'".33.%&'F2),.)0'm'Z,04'C'U.33.%&'F2),.)0'['"%&4E' \H78T'B),'".33.%&'F2),.)0'm'%-),'C'U.33.%&'F2),.)0'['"%&4E' 18

(10)

!"#$%&'>3%2;<,%&4'

• 

()*'0),-./)'G%,'/%&4)&4';)3.-),A'

• 

;)3.-),0'A%2,'04#?/'#&;'04,)#".&6'/%&4)&4'20.&6'#'63%*#3'&)4Q%,V'%G');6)'

3%/#?%&0'

• 

X)F2)040'G%,'A%2,'%*S)/40'#,)'#24%"#?/#33A',%24);'4%'4E)'&)#,)04');6)'

3%/#?%&'

• 

M*S)/40'%,6#&.$);'.&'

;.04,.*2?%&0'

–  !';.04,.*2?%&'0B)/.Z)0'4E)'3%/#?%&'%G'4E)'%,.6.&#3'-),0.%&'%G'#&'%*S)/4' –  !';.04,.*2?%&'E#0'#'2&.F2)'>3%2;<,%&47&)4';%"#.&'&#")'O)767'#*/C8W7/3%2;G,%&47&)4P'

• 

!&'

%,.6.&'0),-),

'.0'4E)'3%/#?%&'%G'4E)';)Z&.?-)'-),0.%&'%G'#&'%*S)/47''

–  @E.0'/%23;'*)'#&%4E),'!"#$%&'()*'+),-./)'m'!"#$%&'+W'*2/V)4R'!"#$%&'=>8'.&04#&/)'m' %,'4E.0'/%23;'*)'#&')b4),&#3'%,.6.&'0),-),7'

• 

:,./.&6'

–  X)6.%&#3'^#4#'@,#&0G),'O\H7H8HI\H78TH[JUP' –  X)F2)04'O\H7HCHI\H7H88'B),'CHHHH'K@@:R'K@@:+',)F2)040P' 19

=3#0?/'U)#&04#3V'

• 

!33%Q0'4%';)B3%A'#&;'"#&#6)'#BB3./#?%&0'.&'4E)'!(+'/3%2;'3)-),#6.&6'

!(+'0),-./)0'02/E'#0'=>8R'+WR'+_+R'=3#0?/'1%#;'U#3#&/.&6R'#&;'!24%I

+/#3.&6'

• 

^)B3%A")&4'

–  D0),0'2B3%#;'#'(!X'Z3)'/%&4#.&.&6'#'d#-#'()*'!BB3./#?%&' –  =3#0?/'U)#&04#3V'E#&;3)0'4E)'B,%-.0.%&.&6'%G'#'3%#;'*#3#&/),'#&;'4E)' ;)B3%A")&4'%G'4E)'(!X'Z3)'4%'%&)'%,'"%,)'=>8'.&04#&/)0',2&&.&6'4E)'!B#/E)' @%"/#4'#BB3./#?%&'0),-),'

• 

<)#42,)0'

–  ;)B3%A'&)Q'#BB3./#?%&'-),0.%&0'4%',2&&.&6')&-.,%&")&40' –  )I"#.3'&%?Z/#?%&0'4E,%26E'+_+'QE)&'#BB3./#?%&'E)#34E'/E#&6)0'%,' #BB3./#?%&'0),-),0'#,)'#;;);'%,',)"%-);'

• 

!24%'+/#3.&6'#&;'1%#;'U#3#&/.&6'B#,#")4),0'G233A'/204%".$#*3)'4E,%26E'

4E)'!(+'`#&#6)")&4'>%&0%3)'

• 

:,./.&6a'&%'#;;.?%&#3'/E#,6)'G%,'=3#0?/'U)#&04#3V'R'4E)'20),'B#A0'%&3A'G%,'

4E)'2&;),3A.&6'!(+',)0%2,/)0'4E#4'A%2,'#BB3./#?%&'/%&02")07''

20

(11)

!"#$%&'=3#0?/'U3%/V'+4%,)'

•  Offers persistent storage for EC2 instances

•  Provides off-instance storage that persist independently from the

life of an instance

•  EBS volumes from 1GB to 1 TB

•  EBS volumes can be used ad instance’s boot partitions or attached

to running instances as standard block devices

•  A volume can only be attached to one instance at a time, but many

volumes can be attached to a single instance

•  EBS volumes can be attached only to instances in the same

Availability Zone

•  EBS volumes automatically replicated within the same Availability

Zone to avoid data loss

•  EBS provides the ability to create point-in-time snapshots of

volumes that can be stored using S3

21

=3#0?/'9:'n'o.,42#3':,.-#4)'>3%2;'

•  Elastic IP

–  addresses are not associated with a particular instance but with

a user account

–  the user control an elastic IP address address until he explicitly

release it

–  allow to mask instance or Availability Zone failures by quickly

remapping the Elastic IP address to another instance/load

balancer

•  Virtual Private Cloud

–  enables enterprises to connect their existing infrastructure to a

set of isolated AWS compute resources via a Virtual Private

Network (VPN) connection

(12)

!"#$%&'>3%2;(#4/E'

•  Provides monitoring for AWS cloud resources and applications

•  CloudWatch is Metric repository

•  AWS services put metrics in the repository •  users retrieve statistics based on those metrics

23

>3%2;(#4/E'/%&/)B40'

•  Metric

–  a time ordered set of data points

–  PutMetricData API allows users to create custom metrics

•  Statistics

–  metric data aggregations over specified periods of time

–  available statistics: Minimum, Maximum, Sum, Average, SampleCount –  can be retrieved by GetMetricStatistics API

•  Period

–  length of time associated with a specific CloudWatch statistic

–  expressed in seconds, range from 60 (one minute) to 1209600 (two weeks)

•  Alarm

–  watches a single metric over a specified time period

–  performs one or more actions based on the value of the metric relative to a given threshold over a number of time periods

(13)

>3%2;(#4/E'")4,./0'

•  EC2 metrics

–  CPUUTilization!

–  DiskReadOps/DiskWriteOps!

–  DiskReadBytes/DiskWriteBytes!

–  NetworkIn/NetworkOut!

•  Elastic Load Balancing Metrics

–  Latency!

–  RequestCount!

–  HealthyHostCount/UnHealthyHostCount!

–  Count of HTTP Response Codes (2xx, 3xx, 4xx, 5xx)generated

by Load Balancer or back-end instances

25

>3%2;(#4/E'9&4),G#/)'

•  Command Line Tools

•  Libraries

–  (JAVA, PHP, Python, Ruby, Android, iOS, Wndows and .NET)

•  Query API

–  HTTP/HTTPS GET or POST requests

•  AWS Management Console

(14)

>3%2;(#4/E'!3#,"0'n'!24%'+/#3.&6'

•  An alarm watches a single metric over a time period and performs one or more actions based on the value of the metric relative to a given

threshold over a number of time periods

•  Possible states: OK, ALARM, INSUFFICIENT_DATA! •  When an alarm changes its state an action is invoked

–  notification through Amazon SNS –  Auto Scaling policy

Example

Threshold = 3

minimum breach = 3 periods

27

!24%'+/#3.&6'

•  Auto Scaling allows to scale EC2 capacity up or down

automatically according to user defined conditions

•  Enabled by Amazon CloudWatch

–  uses CloudWatch alarms

(15)

!24%'+/#3.&6':%3./.)0'

•  Auto Scaling policies defines action to take when an alarm state

changes

•  For every monitored event 2 policies should be defined

–  a

scale-up

policy

–  a

scale-down

policy

•  A policy can be created using PutScalingPolicy API with the

following parameters:

AdjustmentType: possible values are ChangeInCapacity,

ExactCapacity, PercentChangeInCapacity!

Cooldown: amount of time after a scaling activity completes

before any further trigger-related scaling activities can start

PolicyName!

ScalingAdjustment: the number of instances by which to

scale (positive or negative)

29

=3#0?/'1%#;'U#3#&/.&6'

•  Automatically distributes incoming traffic across multiple

EC2 instances

(16)

=1U'G)#42,)0'

•  Detects unhealthy instances within a poll and automatically reroute

traffic to healthy instances

•  Can be enabled across multiple Availability Zones within a Region

–  NOT between Availability Zones in different Regions!

•  Uses a Least Loaded balancing policy

•  Supports sticky sessions

–  load balancer generatedHTTP cookies (browser based session lifetime)

–  application-generated HTTP cookies (application-specific session lifetimes)

•  Supports HTTPS

•  Enables the client to define an application healthcheck for the

instances through the following parameters

–  Threshold, Interval, Target, Timeout, UnhealthyThreshold!

•  Provides APIs to add/remove instances

–  RegisterInstancesWithLoadBalancer! –  DeregisterInstancesWithLoadBalancer!

31

(17)

!24%&%"./'>3%2;'!,/E.4)/42,)'

33

!24%&%"./'>3%2;'9"B3)")&4#?%&'

(18)

=b#"B3)a'`);.#Q.V.'%&'=>8'

•  To test the AWS Auto Scaling capabilities we deployed Mediawiki

on Amazon EC2

–  MediaWiki is a free software open source wiki package written in PHP

•  We populated the DB with a dump from Wikipedia

•  We replicated traffic from a real Wikipedia workload trace properly

reduced

35

=b#"B3)a'@)04*);'0)42B'

•  1-10 Amazon EC2 m1.small instances

–  32 bit Linux VMs with 1 EC2 Compute Unit and 1.7 GB memory –  Each VM replicates the front-end of the MediaWiki web application –  Apache 2.2.16 is used as application server

•  1 Amazon EC2 m1.large instance

–  64 bit Linux VM with 4 EC2 Compute Units (2 cores) and 7.5 GB memory

–  MySQL 5.1.52 is used to implement the back-end tier

–  The system is dimensioned to guarantee that the centralized DB never represents the system bottleneck

•  1 Amazon Elastic Load Balancer

•  1 EC2 m1.small instance as workload generator

•  All components run in the same Availability Zone

–  the effects of network latency are reduced at the minimum

(19)

=b#"B3)a'!24%'+/#3.&6':%3./.)0'

•  Utilization-based, one alarm (UT-1AL)

–  add 1 instance if average CPU utilization > 62% –  remove 1 instance if average CPU utilization < 50% •  Utilization-based, two alarms (UT-2AL)

–  add 2 istances if utilization > 70%, 1 if utilization>62% –  remove 1 instance if utilization < 50%, 2 if utilization < 25% •  Latency-based, one alarm (LAT-1AL)

–  add 1 instance if latency (average response time seen by the ELB) is > 0.2 seconds

–  remove 1 instance if average CPU utilization < 50% •  Latency based, two alarms (LAT-2AL)

–  add 2 istances if latency > 0.5 sec, 1 if latency > 0.2 sec –  remove 1 instances if utilization < 50%,2 if utilization < 25%

37

=>8'B,%*3)"0'

•  ELB bugs

–  problems with start/stop instances, better use launch/terminate –  if an instance crashes it remains forever in “unhealthy” status –  unhealthy instances are not automatically replaced

•  CloudWatch problems

–  metric variation over a time interval is missing

–  request count considers only the requests processed by the load balancer (system throughput behind the ELB)

–  a metric to know the number ofrequest arrived at the load balancer is missing

•  General Problems

–  no real-time billing

–  performance level of a single VM is quite variable –  load balancing policy cannot be customized

References

Related documents

Material and Methods: The dysfunction and quality of life scores from 25 children with ECC were evaluated before treatment (T0), one month (T1) and three months after treatment

and relocations. The section containing the entry symbol and all sections con- taining symbols undefined on the command-line will be kept, as will sections containing symbols

It then becomes a question of using different file systems for different EBS volumes attached to the EC2 instance. More often than not, the same file system is used in all

While proving a quantum computer is truly more powerful than any classical computing device is a challenging task (equivalent to one of the major unsolved problems in

Even for those who choose not to incorporate social or economic justice ideals into their clinical program, practice ready can, and should, mean preparing law students to

The others (e.g. Playing Videos, adding the shutdown button) are not crucial to the camera project but can be done if you’re also interested in exploring these capabilities.

1. Retailer-related human capital plays a strong role in the online consumer's store choice decision. Further, the key factors that bring customers back to an online retailer

(You must make a request in writing to obtain access to your healtll intormation. You may obtain a form to request access by using the contact information listed at the end of