30
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Christian Petters, AWS Solutions Architect 18 May 2017 Building Apps in the Cloud to reduce costs up to 90%

Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Christian Petters, AWS Solutions Architect

18 May 2017

Building Apps in the Cloud to reduce costs up to 90%

Page 2: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved

On-Demand

Pay for compute capacity by the hour with no long-term commitments

For spiky workloads, or to define needs

AWS EC2 Consumption Models

Reserved

Make a low, one-time payment and receive a significant discount on the hourly charge

For committed utilization

Spot

Bid for unused capacity, charged at a Spot Price which fluctuates based on supply and demand

For time-insensitive, transient, or stateless workloads

Page 3: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

Miiiiiiiiillions of uncorrelated workloads

core

s

time

Collectiveaction

Wheneveryonecomestogetherinthecloudtosharetheresource,andonlypaysforwhattheyuse,theefficiencyishuge.

Page 4: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

Spot Market

core

s

time

Spot Market

Our ultimate space filler.

Spot Instances allow you to name your own price for spare AWS EC2 computing capacity.

Great for workloads that aren’t time sensitive (hint: it’s really cheap).

Page 5: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

The very simple rules of Spot

Markets where the price of compute changes based on

supply and demand

You’ll never pay more than your bid. When the market exceeds your bid you get 2 minutes to

wrap up your work

Page 6: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

Get the best value for EC2 capacity

•Since Spot instances typically cost 50-90% less than On-Demand, you can increase your compute capacity by 2-10x within the same budget

•Or you could save 50-90% on your existing workload

•Either way, you should try it!

Page 7: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

Understanding EC2 capacity

AZ1

AZ2

Frankfurt Total Capacity

P2 C4 M4 I2 R4 D2

Shared

Dedicated

Shared

Dedicated

Page 8: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved

$0.27 $0.29$0.50

2b 2cc2a

8XL

$0.30 $0.16$0.214XL

$0.07 $0.08$0.082XL

$0.05 $0.04$0.04XL

$0.01 $0.04$0.01L

C4

$1.76

OnDemand

$0.88

$0.44

$.22

$0.11

Capacity and Spot Markets recap

Each instance family

Each instance size

Each Availability Zone

In every region

Is a separate Spot Market

Page 9: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved

50% Bid

75% Bid

You pay the market price

Bid Price Vs Market Price

25% Bid

¢

Page 10: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

EC2 Spot best practices - Flexibility

Fault toleranceStateless Multi-AZ Loosely coupled

Instance Flexibility

¢

Page 11: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

Using a single additional parameter

Run continuously for up to 6 hours

Save up to 50% off On-Demand pricing

My instances cannot be interrupted!

$1 ¢

Page 12: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

EC2 Spot fleet – significant features added

Weighted Bidding for EC2 Spot Instances [Aug 31, 2015]

Distribute Your Fleet Across Multiple Capacity Pools[Sep 15, 2015]

New Spot Console [June 16, 2016]

Auto scaling for Spot fleet [Sept 01, 2016]

New Spot advisor in Console [Feb 27, 2017]

¢

Page 13: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

It is easy!

aws ec2 request-spot-fleet --spot-fleet-request-config file://config.json { "IamFleetRole": "arn:aws:iam::781603563322:role/fleet-role", "TargetCapacity": "100", "SpotPrice": "0.03", "ValidFrom": "2015-09-15T00:56:19Z", "ValidUntil": "2016-09-14T07:00:00Z", "TerminateInstancesWithExpiration": true, "LaunchSpecifications": [ { "ImageId": "ami-0d4cfd66", "InstanceType": "c3.large", "WeightedCapacity": 2, "SubnetId": "subnet-d0dc51fb" }, { "ImageId": "ami-0d4cfd66", "InstanceType": "c3.large", "WeightedCapacity": 2, "SubnetId": "subnet-64531413" }, { "ImageId": "ami-0d4cfd66", "InstanceType": "c3.large", "WeightedCapacity": 2, "SubnetId": "subnet-0b1b8052" }, { "ImageId": "ami-0d4cfd66", "InstanceType": "c3.xlarge", "WeightedCapacity": 4, "SubnetId": "subnet-d0dc51fb" }, { "ImageId": "ami-0d4cfd66", "InstanceType": "c3.xlarge", "WeightedCapacity": 4, "SubnetId": "subnet-64531413" }, { "ImageId": "ami-0d4cfd66", "InstanceType": "c3.xlarge", "WeightedCapacity": 4, "SubnetId": "subnet-0b1b8052" }, { "ImageId": "ami-0d4cfd66", "InstanceType": "c3.4xlarge", "WeightedCapacity": 16, "SubnetId": "subnet-d0dc51fb" }, { "ImageId": "ami-0d4cfd66", "InstanceType": "c3.4xlarge", "WeightedCapacity": 16, "SubnetId": "subnet-64531413" }, { "ImageId": "ami-0d4cfd66", "InstanceType": "c3.4xlarge", "WeightedCapacity": 16, "SubnetId": "subnet-0b1b8052" }, { "ImageId": "ami-0d4cfd66", "InstanceType": "c3.8xlarge", "WeightedCapacity": 32, "SubnetId": "subnet-d0dc51fb" }, { "ImageId": "ami-0d4cfd66", "InstanceType": "c3.8xlarge", "WeightedCapacity": 32, "SubnetId": "subnet-64531413" }, { "ImageId": "ami-0d4cfd66", "InstanceType": "c3.8xlarge", "WeightedCapacity": 32, "SubnetId": "subnet-0b1b8052" }, { "ImageId": "ami-0d4cfd66", "InstanceType": "c3.2xlarge", "WeightedCapacity": 8, "SubnetId": "subnet-d0dc51fb" }, { "ImageId": "ami-0d4cfd66", "InstanceType": "c3.2xlarge", "WeightedCapacity": 8, "SubnetId": "subnet-64531413" }, { "ImageId": "ami-0d4cfd66", "InstanceType": "c3.2xlarge", "WeightedCapacity": 8, "SubnetId": "subnet-0b1b8052" } ] }

¢

Page 14: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

EC2 Spot Console

Page 15: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved

Amazon EC2 Spot Bid Advisor

1) We make this easy using the Spot bid advisor

2) With deliberate pool selection and bidding, you will keep your Spot instance as long as you need to

3) And with new features like Spot fleet diversified we do the heavy lifting for you...

¢

Page 16: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved

EC2 Spot Labs ¢

Page 17: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved

New Spot Advisor in Console

Page 18: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved

Sample script – two minutes left!

$ if curl -s http://169.254.169.254/latest/meta-data/spot/termination-time | \

grep -q .*T.*Z; then instance_id=$(curl -s http://169.254.169.254/latest/meta-data/instance-id); \aws elb deregister-instances-from-load-balancer \--load-balancer-name my-load-balancer \--instances $instance_id;

/env/bin/flushsessiontoDBonterminationscript.sh; fi

1) Check for 2 minute warning

2) If YES, detach instance from ELB

3) OTHERWISE, do nothing

4) Sleep for 5 seconds

Page 19: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved

Let’s see Spot fleet with Auto Scaling in action...

• Queue and Batch based processing

• Stateless Applications (e.g. web tiers)

• Amazon EC2 Container Service powered by Spot fleet

Page 20: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

Batch Processing with Amazon EC2 Spot

Batch oriented applications can leverage on-demand processing using EC2 Spot to save up to 90% cost:

Monte Carlo simulation

Molecular modeling

Media processing

High energy simulations

Page 21: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved

Queue based processing¢

On Demand Auto-Scaling group

Output S3 bucket

Spot Auto-Scaling group 2

Availability Zone A

Availability Zone BSpot Auto-

Scaling group 1

Upload object into input S3

bucket

Job SQS Queue

Auto Scaling groups will scale up based on queue depth and scale down based on

CPU utilization CW metrics

Workers will check for jobs in the

queue

Workers will update Job status (start time, SLA end time, etc)

in DynamoDB

Uploads to S3 will trigger a Lamda

function to put jobs in SQS and DynamoDB

EFSEC2 instance worker fleet

Page 22: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

Results – Batch processing

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

250

350

450

550

650

750

850

950

1050

1150

Number of Cores Running Average Hourly Price Per Core

Requested 1000 vCores over 30 days

Minimum 960 vCoresMode 1024 vCoresAverage 1012 vCores

Average Price of $0.012 per vCore

Savings of over 80%

¢

30 Days1 15

Page 23: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

Stateless Web Application

Elastic LoadBalancing

Stateless Web Servers

(Spot)

Stateless Web Servers

(Spot)

Session State Data

Spot fleet

Availability Zone A

Availability Zone B

Stateless Web Servers

(Spot)

Stateless Web Servers

(Spot)

¢ ¢

¢¢

¢

Page 24: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

Results - Web Application

• 50 instances requested, over 30 days.

• Never dropped below 45 instances

• 85% discount if you wanted 50 and could withstand dropping to 45

0

0.02

0.04

0.06

0.08

0.1

0.12

30

35

40

45

50

55

Instances Average Price Per Instance• If you only wanted

45 the discount is still 83%

¢

30 Days1 15

Page 25: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved

Amazon EC2 Container Service powered by Spot fleet ¢

Task TaskTask

¢ ¢ ¢

Page 26: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

#1: Cost without Spot4 instances *14 hrs * $0.45 Total = $25.20

Cluster #1

14 HoursDuration:

Scenario #1

Duration:

Cluster #2

7 Hours

Scenario #2

#2: Cost with Spot4 instances *7 hrs * $0.45 = $12.60 +5 instances * 7 hrs * $0.225 = $7.875Total = $20.475

Mix Spot and On DemandEC2 Instances to

maximize value and minimize processing time

Time Savings: 50%

Cost Savings: ~19%

Amazon Elastic Map Reduce powered by Spot fleet

Page 27: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

Thank you!

Page 28: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved

Appendix

Page 29: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved

Reference linksEC2 Spot Documentation:http://aws.amazon.com/ec2/spot/http://aws.amazon.com/ec2/spot/bid-advisor/http://aws.amazon.com/ec2/spot/getting-started/http://aws.amazon.com/ec2/spot/faqs/http://aws.amazon.com/ec2/spot/testimonials/

User Guidehttp://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.htmlhttp://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet.html

Helpful AWS Blog Postshttps://aws.amazon.com/blogs/aws/focusing-on-spot-instances-lets-talk-about-best-practices/https://aws.amazon.com/blogs/aws/building-price-aware-applications-using-ec2-spot-instances/https://aws.amazon.com/blogs/compute/cost-effective-batch-processing-with-amazon-ec2-spot/https://aws.amazon.com/blogs/compute/dynamic-scaling-with-ec2-spot-fleet/

Page 30: Building Apps in the Cloud to reduce costs up to 90%aws-de-media.s3-eu-west-1.amazonaws.com/images/AWS...Miiiiiiiiillionsof uncorrelated workloads s time Collective action When everyone

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved

Reference links continued

EC2 Spot Labs:https://github.com/awslabs/ec2-spot-labs

Amazon EC2 Spot fleet Jenkins plugin:https://wiki.jenkins-ci.org/display/JENKINS/Amazon+EC2+Fleet+Plugin

Deploy a Deep Learning Framework on Amazon ECS powered by EC2 Spot fleethttps://github.com/awslabs/ecs-deep-learning-workshop