41
Optimizing Your AWS Applications and Usage to Reduce Costs Steffen Krause Technical Evangelist @AWS_Aktuell [email protected]

AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Embed Size (px)

Citation preview

Page 1: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Optimizing Your AWS Applications and Usage

to Reduce Costs

Steffen Krause

Technical Evangelist

@AWS_Aktuell

[email protected]

Page 2: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Agenda

• Objective

– Options to save money on AWS

• Fit the cloud to your product and business model

– Use Only What You Need • pay only for what you use

– Measure and Manage

– Scale Opportunistically

Page 3: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Use Only What You Need

And pay only for what you use!

Page 4: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Scale on demand

Rigid On-Premise Resources

Waste

Customer

Dissatisfaction

Actual demand

Predicted Demand

Ca

pa

city

Time

Elastic Cloud Resources

Actual demand

Resources scaled to demand

Ca

pa

city

Time

VS.

Page 5: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Use only what you need

AWS cost savings opportunities

• Right-size

– Select appropriate resources

– Scale up and down as appropriate

– Turn off unused resources

• Payment models

– Flexibility vs. predictability

– Mixing payment models

• Measure and manage

– Monitor for saving options

Page 6: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Right-size your EC2 instances

• An instance type for

every purpose

• Assess your memory

& CPU requirements

– Fit your

application to the

resource

– Fit the resource to

your application

• Only use a larger

instance when

needed

Page 7: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Standard

High-CPU

High-Memory

Micro

Cluster Compute

Cluster GPU

High I/O

High Storage

High Cluster Memory

Most Apps, Low-cost,

App Server / Web

Server

Databases, Databases

Databases…

Compute + Network

Throughput

Scale-out Compute,

Batch Processing

For Starters, Low

throughout, Websites

Parallel Processing

OLAP, Hadoop,

File Systems

NoSQL, Best for

Random IOPS

In-memory Apps

and DBs. Best

$/RAM

EC2 Instance Family use cases

Page 8: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Optimize your storage choice too: S3 & Glacier

• S3 and Glacier are both:

– Secure

– Flexible

– Low-cost

– Scalable: over 1.3 trillion customer objects

– Durable: 99.999999999% (11 “9”s)

Amazon Glacier

Page 9: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Choosing between S3 and Glacier

• Amazon Simple Storage Service (S3)

– Designed to serve static content

• high volumes, low latency, frequent access

– From 5.5¢/GB/Month: 11 9’s Durability

– From 3.7¢/GB/Month: 4 9’s Durability (reduced

redundancy)

• Amazon Glacier

– Designed for long-term cold storage/archiving• infrequent access, long retrieval times (3-5 hrs)

– From 1¢ /GB/Month• But retrieving data is slower and more expensive than on S3

Page 10: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

S3 and Glacier tips

• Optimize access

– Reduce payload size

– # of accesses (e.g., consolidated logs)

• Monitor for unexpected access/growth patterns

– Misconfigured log archiving

• Set Lifecycle Policies

– Object expiration dates

– Auto-move S3 files to Glacier

Illumina, the leading provider of DNA sequencing instruments, uses Glacier to store large blocks of genomic data all over the world

Page 11: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Use only what you need

AWS cost savings opportunities

• Right-size

– Select appropriate resources

– Scale up and down as appropriate

– Turn off unused resources

• Payment models

– Flexibility vs. predictability

– Mixing payment models

• Measure and manage

– Monitor for saving options

Page 12: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Fit your payment model to your business model

EC2 pricing plans

On-DemandInstances

ReservedInstances

SpotInstances

Pay as you go for computing power

Flat hourly rate, no up-front commitments

Pay an up-front fee for a capacity reservation and a lower hourly rate (up to 72% savings)

1-year or 3-year terms

RI Marketplace: sell RIs you no longer need; buy RIs at a discount

Pay what you want for spare EC2 capacity: your instances run if your bid exceeds the Spot price

Potential for large scale at low cost: When they’re available, take advantage of 1,000s of Spot Instances at up to 90% savings

10:00

10:05

10:10

10:15

Page 13: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Use a spectrum of payment models

Example:

FrontendOn-Demand/Reserved Instances

+

BackendSpot Instances

* e.g., batch video transcoding

Page 14: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Measure and Manage

“If you cannot measure it,

you cannot improve it.”

- Lord Kelvin

Page 15: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

AWS Monitoring and Management Services

• Detailed cloud monitoring and management

– Consolidated Billing (in “Account Activity”)

– CloudWatch (in AWS Management

Console)

– Billing Alerts (in “Account Activity”)

– Trusted Advisor (in “Support Center”)

– Other APIs: tags, programmatic access, etc.

• + Third-party services

Page 16: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Consolidated Billing

Single payer for a group of accounts

• One Bill for multiple accounts

• Easy Tracking of account

charges (e.g., download CSV of

cost data)

• Group Activities by Paying

Account (e.g., Dev, Stage, Test,

Prod)

• Volume Discounts can be

reached faster with combined

usage

• Reserved Instances are shared

across accounts (including RDS

Reserved DBs)

• AWS Credits are combined to

minimize your bill

Page 17: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Consolidated Billing Demo (1/3)

• Get an overall summary total for all your users and accounts

Page 18: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Consolidated Billing Demo (2/3)

• From your payment account login, view details of each linked account

Page 19: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Consolidated Billing Demo (3/3)

• Drill down into detail’s of each account

• Download a CSV file for line item details –> Excel

Page 20: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Amazon CloudWatch

• Monitoring for AWS cloud resources and applications

– EC2, RDS, EBS, ELB, SQS, SNS, DynamoDB, EMR,

Auto Scaling, …

– Custom metrics from your application (use Put API call)

• Insight, Alarms, Notifications

• Start easily, auto-scale with your application

• Sophisticated Automation

– Use CloudWatch metrics with Auto Scaling to

dynamically scale EC2 instances

Page 21: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Use CloudWatch to monitor & manage resource usage

• Monitor resource utilization

– Are you using the right instance type?

– Have you left instances idle?

– Is your instance usage level or bursty?

• Manage resource utilization

– Move bursty workloads to other

instances

– Rebalance your worker nodes

– Scale nodes automatically with Auto

Scaling

Page 22: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Use CloudWatch to create Billing Alerts

• Alert when estimated charges reach threshold

• Track an individual developer, or your whole business

• Set up your billing alarm and actions

Page 23: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Trusted Advisor

Enterprise Strength Monitoring/Optimization

• Monitors and recommends

optimizations for:

– Cost

– Security

– Fault Tolerance

– Performance

• Available to customers

with Business and

Enterprise-level support

http://aws.amazon.com/premiumsupport/trustedadvisor/

Page 24: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Trusted Advisor: Cost Optimization Tips

Page 25: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Trusted Advisor: Performance Tips

Page 26: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Third-party services to optimize your AWS usage

Page 27: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Scale Opportunistically

Opportunity favors the prepared

application

Page 28: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Time-to-Result Case 1: Value of result quickly diminishes

Example: Engineering simulation

Delay Loss of productivity, project slips

Page 29: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Time-to-Result Case 2: Result is valuable…until it’s not

Example:Weekend regression tests

Delay Minimal impact until 8:00AM Monday

Page 30: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Consider Spot Instances for greater savings and scale

• Spot instances in a nutshell

– Run when Your Bid ≥ Spot Price

– Spot instances = Spare EC2 instances

– Might be interrupted at any time

• Benefits

– Savings: Up to 90% off On-Demand

– Scale: Access up to 1,000s of EC2 instances

• To use Spot

– Decide on a bid price

– Launch via Console, API, Auto Scaling

– Monitor Bid Statuses via Console/API

Page 31: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

What applications work on Spot?

• Good Spot applications are:

– Delayable: to balance SLA/cost

– Scalable: “embarrassingly parallel”

– Fault-tolerant: can be terminated without losing all work

– Portable across regions, AZs, instance types

• Examples:

– MapReduce (Hadoop, Amazon EMR)

– Scientific Computing (Monte Carlo simulations)

– Batch Processing (video transcoding)

– Financial Computing (high-frequency trading algorithm backtesting)

– and many others…

Lucky Oyster crawled 3.4B Web Pages, building a 400M entry index in around 14 hours for $100 (>85% savings)!

Page 32: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Use Auto Scaling to dynamically scale your app

• Auto Scaling auto-sizes your fleet

– based on preset triggers and schedules

• Integrates with CloudWatch metrics

• Use Auto Scaling to

– Improve customer experience, application performance

– Maximize CPU/IO/Memory utilization

– Optimize other metricsScale with Real-Time Demand

Page 33: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Auto-Scaling Example: Netflix

Page 34: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Follow the Money vs. Follow the Customer

• Optimize utilization

– Auto Scale on utilization metrics:

CPU, memory, requests, connections, …

• Optimize price paid

– Scale with Spot instances when Spot prices are low

– e.g., Run batch processes off-peak (nights, weekends) when

Spot prices are lower

Page 35: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Follow the Money vs. Follow the Customer

• Optimize customer experience with Auto Scaling

• Example 1: Scale resources to meet customer demand

– Video service Auto Scales instances to respond to customer web service

requests

• Example 2: Scale resources to ensure fresh results

– A scientific paper search engine Auto Scales on queue depth (# of new

docs to crawl)

– 10 instances steady state and up to 5,000+ to ensure minimum

throughput time

• Example 3: Scale resources preemptively before large demand

– A TV show marketing site scales up before the show and back down

after

Page 36: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Utility HPC / BigData Orchestration Software

• Scale clusters from

50–50,000 cores

• Error-handling,

reliability

• Data scheduling:

internal cloud

• Automated Security,

Encryption Framework

• Audit, compliance

• Reporting, chargeback Automate spot bidding =>

Page 37: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Shared FS

Scale from 50–50,000+ cores

CycleCloud Deploys Secured, Auto-scaled HPC Clusters

Use

r

Check job load

Calculate ideal HPC cluster

Legacy

Internal

HPC

Load-based Spot bidding

Properly price the bids

Manage Spot Instance loss

Spot Instance Execute Nodes

(auto-started & auto-stopped)

FS /

S3

HPC Cluster

On-Demand Execute Nodes

Data Scheduling to place data

HPC Orchestration to

Handle Spot Instance Bid & Loss

Page 38: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Conclusion (Part I):

Fit the cloud to your product and business model

• Use Only What You Need (and pay only for what you use!)

• Measure and Manage

• Scale Opportunistically

Page 39: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

An example putting it all together: Saving on Batch

Processing

http://aws.amazon.com/architecture/

3. Scale Opportunistically: Auto Scale worker

nodes based on size of input queue1. Pay Only

for What You Use: Right-size your

cloud resources

2. Monitor and Manage your system

with CloudWatch, Billing Alerts,

Trusted Advisor

Page 40: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

Conclusion (Part II):

Use the cloud to create new products & business models

On-Premises

• Failure is

expensive

• Experiment

infrequently

• Less Innovation

Optimized Cloud

• Failure is

inexpensive

• Experiment early

and often

• More Innovation

Page 41: AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs

THANK YOU

Steffen Krause

@[email protected]