Finding hidden waste in your AWS infrastructure - 1/15/15

Preview:

Citation preview

@cloudability

@cloudability

Finding Hidden Waste In Your AWS InfrastructureFebruary 10, 2016

๏ @cloudability

Introduction

Today’s Topics

Aaron Kaffen Director of Marketing

TODAY’S SPEAKER

1. Finding waste

2. Reducing wasted usage

3. Reducing hourly cost

4. Q&A

@cloudability

Cloud Infrastructure AnalyticsAbout Us

$2B+ in tracked AWS costs

@cloudability

Our SolutionHow It Works

1 2 3

4 5

Spend Monitoring Spending visibility via custom dashboards, budget alerts, and daily email digests.

Cost Allocation Segment your cloud costs with detailed reports by tag, service, usage type, etc..

Usage Optimization Spot under-utilized resources w/ instance level usage metrics.

RI Portfolio Optimization Get recommendations to buy, modify and sell the right RIs. Then see their impact on your spending.

Company-Wide Governance Organizational group views/filtering/rollups, multi-user access.

๏ @cloudability

Stage I: Cost visibility for all (emails, alerts, dashboards)

Stage II: Allocating costs to departments (tags, linked accounts)

Stage III: Using only what you need (underutilized, unneeded)

Stage IV: Lowering Cost Per Hour (i.e. Reserved Instances)

Stage V: Tying spending to the bottom line (unit cost)

The Five Stages of Cloud EfficiencyCloudability

๏ @cloudability

Stage I: Cost visibility for all (emails, alerts, dashboards)

Stage II: Allocating costs to departments (tags, linked accounts)

Stage III: Using only what you need (underutilized, unneeded)

Stage IV: Lowering Cost Per Hour (new families, Reserved Instances)

Stage V: Tying spending to the bottom line (unit cost)

The Five Stages of Cloud EfficiencyCloudability

0

45

90

135

180D

ev/T

est

POC

App

#1

App

#3

App

#2

Exec team starts really caring

Load

test

A story of growth

๏ @cloudability

Finding waste

You’ve got a sense that you could be spending less …and you’re probably right.

๏ Not using what you’re paying for ๏ Buying instances that are too large ๏ Not turning off things at night ๏ Paying more than you should

The problem you’re solving

๏ @cloudability

The piecesFinding waste

๏ Multiple major business units

๏ Lots of products or cost centers

๏ Dedicated and shared AWS resources

๏ Distributed teams using AWS

@cloudability

where should I start looking?

๏ @cloudability

SpendingLook at Totals First

๏ @cloudability

Compare time periods

๏ @cloudability14

See what LOBs, Services, Resources drive changes

๏ @cloudability

Soending

15

Find which services are impacting your bill

๏ @cloudability

Soending

16

Find which services are impacting your bill

๏ @cloudability

Soending

17

Dig deeper into the AWS service

@cloudability

what’s driving my costs?

๏ @cloudability

cost = usage x rate

๏ @cloudability

cost = usage x rate

@cloudability

Reducing Usage

Underutilized EC2 Instances

๏ @cloudability

Reducing Usage

Key metrics to look at:

๏ CPU utilization ๏ Bandwidth ๏ Disk I/O ๏ Days running ๏ Estimated Cost ๏ Current state ๏ Utilization hours

Finding underutilized EC2 instances

Low cpu, low bandwidth, low disk i/o, >1 day old This example: Save $1,682 per week

Low cpu, low bandwidth, low disk i/o, >1 day old This example: Save $1,682 per week

@cloudability

Reducing Usage

Underutilized EC2 Hours

๏ @cloudability

168 hours in a week

๏ @cloudability

108 nights & weekends

Don’t run the cloud like a datacenter: 65% of the hours in a month are nights and

weekends

Testing account cost $2500 for each hour of June Turn off 50% of Testing Instances for 4 hours per day

This example: Save $5,000 per month

Testing account cost $2500 for each hour of June Turn off 50% of Testing Instances for 4 hours per day

This example: Save $5,000 per month

๏ @cloudability

How to turn off non-prod on nights/weekends

1. Confirm idle instance times 2. Assign instance schedules with tags 3. Run a crontab scheduler like “Valet”

- For more Google “Cloudability Valet”

Fine print: IP addresses change, need to re-tag items

๏ @cloudability

cost = usage x rate

@cloudability

Reducing Rate

Reserved Instances

@cloudability

Reservations represent sunk cost. Modifications let you move those reservations to maximize savings as your infrastructure changes

Modifying Reserved Instances• Instances with Linux OS

Instance size (within family)Availability Zone (within region) Network (VPC or Classic)

• Instances with a licensed OS or without a family Availability Zone (within region) Network (VPC or Classic)

• Reservations cannot be moved between accounts

We Are FamilyM1* M2* M3 M4 C1* C3 C4 R3 I2 T2 D2 G2

smallmedium

largexlarge

xlarge2xlarge4xlarge

mediumlargexlarge

2xlarge

2xlarge4xlarge

10xlarge

mediumxlarge

largexlarge

2xlarge4xlarge8xlarge

largexlarge

2xlarge4xlarge8xlarge

largexlarge

2xlarge4xlarge8xlarge

xlarge2xlarge4xlarge8xlarge

microsmall

mediumlarge

xlarge2xlarge4xlarge8xlarge

2xlarge8xlarge

* LEGACY FAMILY

Modifying Instance TypeInstance Size Normalization Factor

micro 0.5

small 1

medium 2

large 4

xlarge 8

2xlarge 16

4xlarge 32

8xlarge 64

2xlarge

Modifying Instance Type

=16 PTS

2xlarge

xlarge xlarge

Modifying Instance Type

168 8+ =

2xlarge

xlarge xlarge

large large large large

Modifying Instance Type

medium medium medium medium medium medium medium medium

2xlarge

xlarge xlarge

large large large large

Modifying Instance Type

small small small small small small small small small small small small small small small small

medium medium medium medium medium medium medium medium

2xlarge

xlarge xlarge

large large large large

Modifying Instance Type

small small small small small small small small small small small small small small small small

medium medium medium medium medium medium medium medium

2xlarge

xlarge xlarge

large large large large

Modifying Instance Type

๏ @cloudability47

RI Modifications - Save $100k+

๏ @cloudability

RI Purchasesm3-* in us-east-* - safe buy, highly modifiable - Save ~$193k

๏ @cloudability

RI Purchasesm3-* in us-east-* - safe buy, highly modifiable - Save ~$193k

๏ @cloudability

RI Purchasesi2.8xlarge - Single buy, big savings

๏ @cloudability

RI Process

1. RI Modifications 2. Small uncontroversial purchases (e.g., m2.4xlarge and m3.*) 3. Resize to newer instance families 4. Monthly purchase of new reservations

@cloudability

Reducing Rate

Instance Families

๏ @cloudability

Reducing Rate

Migrating m1 to m3

๏ Newer instance families are cheaper & faster (but don’t have hard drives)

๏ Look for instances that have EBS devices attached

๏ Move M1 to M3 to save $0.03-$0.10 (~15%) an hour

๏ @cloudability

Instance Type Migration Paths

Legacy Instance Type Modern Instance Type

T1T2

M1

M1M3M4

C1C3C4

H1I2D2

M2R3

CR1

๏ @cloudability

Cost Savings

Move from M1 to M3 — Save $25k to $35k/mo

@cloudability

Old Instance Families

Migration Strategy•Proactively plan instance type migrations Finance and Ops have to talk on this one to understand when upgrades should happen and what impact it has on reservations

•Tactically renew reservations on legacy instances If you’re going to run a legacy instance for a while you might as well cover it with an RI, but only renew what you have to

High frequency reservation purchases make this transition easier

๏ @cloudability

cost = usage x rate

๏ @cloudability

Going Further

- Turn off instances that are not being used - Autoscale resources down when load decreases - Turn off dev/test/stage resources at night - Rightsize the instance size/type to the load - Migrate from old instance families to new ones (e.g., m1 to m3) - Consider moving older S3 resources to Glacier - Employ a ‘stopinator’ or Janitor Monkey - Use Spot Instances for asynchronous workloads - To learn more…

Many ways to increase efficiency…

@cloudability

Thank you!Try Cloudability free

Learn more

Want a demo?

cloudability.com

blog.cloudability.com

demo@cloudability.com

@cloudability