Transcript
Page 1: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014

November 12, 2014, Las Vegas NV

Sumit Amar, Electronic Arts

Page 2: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 3: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 4: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 5: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 6: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014

var client = new Amazon.CloudWatch.AmazonCloudWatchClient();

var response = client.GetMetricStatistics(

new GetMetricStatisticsRequest

{

Dimensions = new List<Dimension> {

new Dimension { Name = "InstanceId", Value = instanceId } },

StartTime = startDate, //2014-11-05

EndTime = endDate.Date.AddDays(1).Date.AddMilliseconds(-1), //2014-11-06,

Namespace = "AWS/EC2",

Statistics = new List<string>{ "Average", "Maximum", "Minimum","Sum","SampleCount" },

MetricName = metricName, //CPUUtilization, DiskReadBytes, NetworkIn, more etc..

Period = interval, //seconds โ€“ pass 60 * 60 for an hourly range

});

//### CloudWatch GetMetricsStatistics returns unordered data points, ergo..

response.Datapoints.Sort((a,b) => a.Timestamp.CompareTo(b.Timestamp));

Page 7: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 8: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 9: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 10: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 11: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 12: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 13: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014

Y = a + b X

Time Actual(Y) Deviation X(from mid) XY X2 Yd

8am 83 -3 -249 9 72.22

9am 60 -2 -120 4 61.29

10am 54 -1 -54 1 50.36

11am 21 0 0 0 39.43

12p 22 1 22 1 28.50

1p 13 2 26 4 17.57

2p 23 3 69 9 6.64

N=7 โˆ‘๐‘Œ = 276 โˆ‘X=0 โˆ‘XY=-306 โˆ‘X2=28

Here: Y = a + b X

a = โˆ‘๐‘Œ/๐‘ = 276/7 = 39.43

b = โˆ‘๐‘‹๐‘Œ

โˆ‘๐‘‹2 = -306/28 = -10.93

Y = 39.43 โ€“ 10.93 X

For X = -3 (8am): Y8am = 39.43 โ€“ (10.93 * -3) = 72.22 and so on for other times.

โˆ‘Y = Na + b โˆ‘X

โˆ‘XY = a โˆ‘X + b โˆ‘X2

Page 14: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014

โˆ‘Y = Na + b โˆ‘X + c โˆ‘X2

โˆ‘XY = a โˆ‘X + b โˆ‘X2 + c โˆ‘X3

โˆ‘X2Y = a โˆ‘X2 + b โˆ‘X3 + c โˆ‘X4

Yd = a + b X + c X2

โˆ‘Y = Na + c โˆ‘X2

โˆ‘XY = b โˆ‘X2

โˆ‘X2Y = a โˆ‘X2 + c โˆ‘X4

Page 15: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 16: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 17: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 18: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 19: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 20: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 21: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 22: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 23: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 24: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 25: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 27: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014
Page 28: (PFC307) Auto Scaling: A Machine Learning Approach | AWS re:Invent 2014

http://bit.ly/awsevals


Top Related