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

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

Aug 20, 2015

Download

Technology

AWS Germany
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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]