AWS Webcast - Journey through the Cloud - Cost Optimization
-
Upload
amazon-web-services -
Category
Technology
-
view
1.071 -
download
1
description
Transcript of AWS Webcast - Journey through the Cloud - Cost Optimization
Journey through the Cloud:
Cost optimization
Jan Borch – Solutions Architect
Common use cases & stepping stones into the AWS cloud Learning from customer journeys
Best practices to bootstrap your projects
Journey through the cloud
A key step in the cloud journey Realize cost aware architectures
Use elasticity to real and measurable benefit Do more, use less
Cost Optimization
Fundamentals of AWS cost optimization Cost optimization in 5 steps Where to go next
Agenda
Fundamentals of cost optimization
Why optimize?
Why optimize?
Utility Compute and Storage are a utility so ‘turning off’ should be natural
Why optimize?
Utility Compute and Storage are a utility so ‘turning off’ should be natural
Efficiency Efficiency allows more to be done
within a given budget
Why optimize?
Utility Compute and Storage are a utility so ‘turning off’ should be natural
Efficiency Efficiency allows more to be done
within a given budget
Architecture Cost awareness drives
adoption of 21st century architectures
Turn off the lights
When you stop EC2 resources you stop paying for them
Be elastic
Support workloads with the right amount of horsepower to get the job
done
Continually optimize
Drive recurring and improving savings through cost aware architectures
Elastic capacity Instance types Reserved instances Spot instances Complementary services
5 Steps for cost optimization
Elastic capacity Instance types Reserved instances Spot instances Complementary services
5 Steps for cost optimization
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Serv
er
Load
Hour of day
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Serv
er
Load
Hour of day
Capacity of 1 Server
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Serv
er
Load
Hour of day
Capacity of 1 Server
Traditional capacity required
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Serv
er
Load
Hour of day
Capacity of 1 Server
Traditional capacity required
1 Server for 8 hours
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Serv
er
Load
Hour of day
Capacity of 1 Server
Traditional capacity required
1 Server for 8 hours 1 Server for 8 hours
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Serv
er
Load
Hour of day
Capacity of 1 Server
Traditional capacity required
1 Server for 8 hours 1 Server for 8 hours
1 Server for 8 hours
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Serv
er
Load
Hour of day
Capacity of 1 Server
Traditional capacity required
1 Server for 8 hours 1 Server for 8 hours
1 Server for 8 hours
1 Server for 8 hours
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Serv
er
Load
Hour of day
Capacity of 1 Server
Traditional capacity required
1/3rd Saving
2 am
Elastic Capacity
8 am
Elastic Capacity
12 am
Elastic Capacity
4 pm
Elastic Capacity
10 pm
Elastic Capacity
Time: +00h
<10 cores
Elastic Capacity
Time: +24h
>1500 cores
Elastic Capacity
Time: +72h
<10 cores
Elastic Capacity
Time: +120h
>600 cores
Elastic Capacity
Manually
Send an API call or use CLI to launch/terminate instances – Only need to specify capacity
change (+/-)
By Schedule
Scale up/down based on date and time
By Policy
Scale in response to changing conditions, based on user
configured real-time monitoring and alerts
Auto-Rebalance
Instances are automatically launched/terminated to ensure the application is
balanced across multiple Azs
Auto-scaling policies
Auto-scaling policies
Scaling base on Policy
Scale up and down base on metrics
Scaling Up policy - Double the group size if avg cpu > 80%
Scaling Down policy - Decrement by 10% if avg cpu < 30%
Scaling by Schedule
Scheduled Actions to meet known demand
Scheduled up to 31 days into the future
Recurring scheduled scaling activities
0
1
2
3
4
5
6
0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Inst
ance
Co
un
t
Day of Month
0
1
2
3
4
5
6
0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Inst
ance
Co
un
t
Day of Month
Monthly predictable
peak processing
0
1
2
3
4
5
6
0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Inst
ance
Co
un
t
Day of Month
Traditional capacity required
0
1
2
3
4
5
6
0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Inst
ance
Co
un
t
Day of Month
Elastic Capacity
Traditional capacity required
0
1
2
3
4
5
6
0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Inst
ance
Co
un
t
Day of Month
75 % Savings
Traditional capacity required
Elastic Capacity
Elastic capacity Instance types Reserved instances Spot instances Complementary services
5 Steps for cost optimization
Elastic capacity Instance types Reserved instances Spot instances Complementary services
5 Steps for cost optimization
Instance types
Start
Choose instance that meets your basic
requirements best
Match memory & virtual cores
Instance types
Start
Choose instance that meets your basic
requirements best
Match memory & virtual cores
Tune
Change instance size up or down based upon
monitoring
Use trusted advisor to assess
Instance types
Start
Choose instance that meets your basic
requirements best
Match memory & virtual cores
Tune
Change instance size up or down based upon
monitoring
Use trusted advisor to assess
Spread
Run instances across multiple availability
zones
Smaller sizes equals greater granularity
Instance types
Instance Amazon
CloudWatch Alarm
Free Memory
Free CPU Free HDD
… Custom Metrics
… At 1-min intervals
PUT 2 weeks
Know your usage
Choose your metric optimize for the metric
Choose your metric optimize for the metric
Cost per unit of work per instance(size)
Workload A
Optimal on 4x m1.xlarge
Workload B
Optimal on 10x m1.medium
Workload C
Optimal on 2x m3.xxlarge
Choose your metric optimize for the metric
Cost per unit of work per instance(size)
100 concurrent jobs on 10 x m1.large @ $0.26 / hr = $ 0.026 / job
300 concurrent jobs on 10 x m3.xlarge @ $0.58 / hr = $ 0.019 / job
vs
Choose your metric optimize for the metric
Think workload density Don’t focus on instance hourly rate per se
Master Account
Division B [email protected]
User2 Dev2 Admin2
IAM
Tags: Own=Div Proj=P
Tags: Own=Div Proj=Q
Tags: Own=Div Proj=R
Master Account
consolidated billing information Tags: (key-value)
e.g Own=Div Proj=R
Operating Co. A [email protected]
User1 Dev1 Admin1
IAM
Tags: Own=OpCo Proj=A
Tags: Own=OpCo Proj=B
Tags: Own=OpCo Proj=C
Division B [email protected]
User2 Dev2 Admin2
IAM
Tags: Own=Div Proj=P
Tags: Own=Div Proj=Q
Tags: Own=Div Proj=R
Business Unit C [email protected]
User3 Dev3 Admin3
IAM
Tags: Own=BusC Proj=X
Tags: Own=BusC Proj=Y
Tags: Own=BusC Proj=Z
Master Account
consolidated billing information
Operating Co. A [email protected]
User1 Dev1 Admin1
IAM
Tags: Own=OpCo Proj=A
Tags: Own=OpCo Proj=B
Tags: Own=OpCo Proj=C
Division B [email protected]
User2 Dev2 Admin2
IAM
Tags: Own=Div Proj=P
Tags: Own=Div Proj=Q
Tags: Own=Div Proj=R
Business Unit C [email protected]
User3 Dev3 Admin3
IAM
Tags: Own=BusC Proj=X
Tags: Own=BusC Proj=Y
Tags: Own=BusC Proj=Z
Master Account
consolidated billing information
Operating Co. A [email protected]
User1 Dev1 Admin1
IAM
Tags: Own=OpCo Proj=A
Tags: Own=OpCo Proj=B
Tags: Own=OpCo Proj=C
Division B [email protected]
User2 Dev2 Admin2
IAM
Tags: Own=Div Proj=P
Tags: Own=Div Proj=Q
Tags: Own=Div Proj=R
Business Unit C [email protected]
User3 Dev3 Admin3
IAM
Tags: Own=BusC Proj=X
Tags: Own=BusC Proj=Y
Tags: Own=BusC Proj=Z
Master Account
consolidated billing information
Programmatic billing access
S3 CSV
Operating Co. A [email protected]
User1 Dev1 Admin1
IAM
Tags: Own=OpCo Proj=A
Tags: Own=OpCo Proj=B
Tags: Own=OpCo Proj=C
Division B [email protected]
User2 Dev2 Admin2
IAM
Tags: Own=Div Proj=P
Tags: Own=Div Proj=Q
Tags: Own=Div Proj=R
Business Unit C [email protected]
User3 Dev3 Admin3
IAM
Tags: Own=BusC Proj=X
Tags: Own=BusC Proj=Y
Tags: Own=BusC Proj=Z
Master Account
consolidated billing information
Programmatic billing access
S3 CSV
Business
Basic
Developer
Enterprise
Offering
24x7x365 ✓
Forum Access ✓
Documentation ✓
Access to support Phone, Chat,
Named Contacts 5
Fastest Response Time 1 Hour
Architecture Support Use Case
Guidance
Best Practice ✓
Diagnostics Tools ✓
Direct Routing ✓
3rd Party Software ✓
Trusted Advisor ✓
Elastic capacity Instance types Reserved instances Spot instances Complementary services
5 Steps for cost optimization
Elastic capacity Instance types Reserved instances Spot instances Complementary services
5 Steps for cost optimization
Unix/Linux instances start at $0.02/hour
Pay as you go for compute power
Low cost and flexibility
Pay only for what you use, no up-front commitments or long-term contracts
Use Cases:
Applications with short term, spiky, or
unpredictable workloads;
Application development or testing
On-demand instances
Reserved instances
Unix/Linux instances start at $0.02/hour
Pay as you go for compute power
Low cost and flexibility
Pay only for what you use, no up-front commitments or long-term contracts
Use Cases:
Applications with short term, spiky, or
unpredictable workloads;
Application development or testing
On-demand instances
1- or 3-year terms
Pay low up-front fee, receive significant hourly discount
Low Cost / Predictability
Helps ensure compute capacity is available
when needed
Use Cases:
Applications with steady state or predictable usage
Applications that require reserved capacity,
including disaster recovery
Reserved instances
Reserved instances
Unix/Linux instances start at $0.02/hour
Pay as you go for compute power
Low cost and flexibility
Pay only for what you use, no up-front commitments or long-term contracts
Use Cases:
Applications with short term, spiky, or
unpredictable workloads;
Application development or testing
On-demand instances
1- or 3-year terms
Pay low up-front fee, receive significant hourly discount
Low Cost / Predictability
Helps ensure compute capacity is available
when needed
Use Cases:
Applications with steady state or predictable usage
Applications that require reserved capacity,
including disaster recovery
Reserved instances
Reserved instances
> 80% utilization Lower costs up to 58%
Use Cases: Databases, Large Scale HPC, Always-on infrastructure, Baseline
Heavy utilization RI
Unix/Linux instances start at $0.02/hour
Pay as you go for compute power
Low cost and flexibility
Pay only for what you use, no up-front commitments or long-term contracts
Use Cases:
Applications with short term, spiky, or
unpredictable workloads;
Application development or testing
On-demand instances
1- or 3-year terms
Pay low up-front fee, receive significant hourly discount
Low Cost / Predictability
Helps ensure compute capacity is available
when needed
Use Cases:
Applications with steady state or predictable usage
Applications that require reserved capacity,
including disaster recovery
Reserved instances
Reserved instances
> 80% utilization Lower costs up to 58%
Use Cases: Databases, Large Scale HPC, Always-on infrastructure, Baseline
Heavy utilization RI
41-79% utilization Lower costs up to 49%
Use Cases: Web applications, many heavy processing tasks, running much of the time
Medium utilization RI
Unix/Linux instances start at $0.02/hour
Pay as you go for compute power
Low cost and flexibility
Pay only for what you use, no up-front commitments or long-term contracts
Use Cases:
Applications with short term, spiky, or
unpredictable workloads;
Application development or testing
On-demand instances
1- or 3-year terms
Pay low up-front fee, receive significant hourly discount
Low Cost / Predictability
Helps ensure compute capacity is available
when needed
Use Cases:
Applications with steady state or predictable usage
Applications that require reserved capacity,
including disaster recovery
Reserved instances
Reserved instances
> 80% utilization Lower costs up to 58%
Use Cases: Databases, Large Scale HPC, Always-on infrastructure, Baseline
Heavy utilization RI
41-79% utilization Lower costs up to 49%
Use Cases: Web applications, many heavy processing tasks, running much of the time
Medium utilization RI
15-40% utilization Lower costs up to 34%
Use Cases: Disaster Recovery, Weekly / Monthly reporting, Elastic Map Reduce
Light utilization RI
Best RI for Utilisation
$-
$2,000
$4,000
$6,000
$8,000
$10,000
$12,000
$14,000
$16,000
$18,000
Heavy
Medium
Light
O-Demand
Best RI for Utilisation
$-
$2,000
$4,000
$6,000
$8,000
$10,000
$12,000
$14,000
$16,000
$18,000
Heavy
Medium
Light
O-Demand
0
2
4
6
8
10
12
14
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
On Demand
Light Utilization RI
Medium Utilization RI
Heavy utilization RI
Optimizing costs with RIs
Elastic capacity Instance types Reserved instances Spot instances Complementary services
5 Steps for cost optimization
Elastic capacity Instance types Reserved instances Spot instances Complementary services
5 Steps for cost optimization
Unix/Linux instances start at $0.02/hour
Pay as you go for compute power
Low cost and flexibility
Pay only for what you use, no up-front commitments or long-term contracts
Use Cases:
Applications with short term, spiky, or
unpredictable workloads;
Application development or testing
On-demand instances
1- or 3-year terms
Pay low up-front fee, receive significant hourly discount
Low Cost / Predictability
Helps ensure compute capacity is available
when needed
Use Cases:
Applications with steady state or predictable usage
Applications that require reserved capacity,
including disaster recovery
Reserved instances
Spot instances
Unix/Linux instances start at $0.02/hour
Pay as you go for compute power
Low cost and flexibility
Pay only for what you use, no up-front commitments or long-term contracts
Use Cases:
Applications with short term, spiky, or
unpredictable workloads;
Application development or testing
On-demand instances
1- or 3-year terms
Pay low up-front fee, receive significant hourly discount
Low Cost / Predictability
Helps ensure compute capacity is available
when needed
Use Cases:
Applications with steady state or predictable usage
Applications that require reserved capacity,
including disaster recovery
Reserved instances
Bid on unused EC2 capacity
Spot Price based on supply/demand, determined automatically
Cost / Large Scale, dynamic workload handling
Use Cases:
Applications with flexible start and end times
Applications only feasible at very low compute prices
Spot instances
Spot instances
100%
Achieving economies of scale
Time
Reserved capacity
100%
Achieving economies of scale
Time
On
Reserved capacity
100%
On-demand
Time
Achieving economies of scale
On
Reserved capacity
100%
On-demand
Time
Achieving economies of scale
Spot
If your bid > spot price You get an instance
If your bid < spot price Your instance is terminated
Architecting for spot instances
Decouple components
Separate interactive & backend processing
Use frameworks such as Elastic MapReduce
Design for interruption
Use SQS, SWF
Place data in a durable store such as S3, SimpleDB or DynamoDB
Save progress regularly
Job Flow
14 Hours
Duration:
Scenario #1
EMR with spot instances
#1: Cost without Spot 4 instances *14 hrs * $0.50 = $28
Job Flow
14 Hours
Duration:
Scenario #1
Duration:
Job Flow
7 Hours
Scenario #2
EMR with spot instances
#1: Cost without Spot 4 instances *14 hrs * $0.50 = $28
Job Flow
14 Hours
Duration:
Scenario #1
Duration:
Job Flow
7 Hours
Scenario #2
EMR with spot instances
#1: Cost without Spot 4 instances *14 hrs * $0.50 = $28
#2: Cost with Spot 4 instances *7 hrs * $0.50 = $14 + 5 instances * 7 hrs * $0.25 = $8.75
Total = $22.75
Job Flow
14 Hours
Duration:
Scenario #1
Duration:
Job Flow
7 Hours
Scenario #2
EMR with spot instances
#1: Cost without Spot 4 instances *14 hrs * $0.50 = $28
#2: Cost with Spot 4 instances *7 hrs * $0.50 = $14 + 5 instances * 7 hrs * $0.25 = $8.75
Total = $22.75
Time Savings: 50% Cost Savings: ~22%
Spot customers
Elastic capacity Instance types Reserved instances Spot instances Complementary services
5 Steps for cost optimization
Elastic capacity Instance types Reserved instances Spot instances Complementary services
5 Steps for cost optimization
$0.028 per hour
Web Servers
Availability Zone
Elastic Load
Balancer DNS
Web Servers
$0.065 per hour
(small instance)
Availability Zone
$0.028 per hour
Web Servers
Availability Zone
EC2 instance
+ software LB
Elastic Load
Balancer DNS
DNS
VS
SQS queue
Consumers Producer
$0.005 per
10,000 Requests ($0.0000005 per Request)
Producer
SQS queue
Consumers
Consumers Producer
EC2 instance
+ software queue
$0.005 per
10,000 Requests ($0.0000005 per Request)
$0.065 per hour
(small instance)
VS
Software vs services
Software on EC2
Pros: Use custom features
Cons:
Requires an instance SPOF
Limited to one AZ DIY administration
AWS Services
ELB, SNS, SQS, SES, SWF, DynamoDB etc
Pros: Pay as you go
Scalability Availability
High performance
Summary
Elastic capacity Instance types Reserved instances Spot instances Complementary services
5 Steps for cost optimization
Where to go next
aws.amazon.com/economics
aws.amazon.com/calculator
Useful links
Useful links
http://aws.amazon.com/whitepapers
aws.amazon.com