The document provides an overview of strategies for optimizing AWS applications and usage to reduce costs. It discusses using only the computing resources needed, measuring and managing resource usage, and scaling resources opportunistically. A case study of Fishpond, an online book retailer, describes how the company uses AWS services like EC2, S3, and Auto Scaling to improve performance and reduce costs while maintaining a profitable business.
08448380779 Call Girls In Civil Lines Women Seeking Men
Optimizing AWS Applications and Usage to Reduce Costs
1. Boyd McGeachie
Optimizing Your AWS Applications and Usage to Reduce Costs
Account Manager, AWS
Ben Powles
General Manager, Fishpond
Guest presenter:
2. Agenda
• Objective
– Review the spectrum of ways to save money on your AWS application
• Tenet: 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
• Customer Case Study
– Fishpond
3. Use Only What You Need
And pay only for what you use!
4. Scale on demand
Rigid On-Premise Resources
Waste
Customer
Dissatisfaction
Actual demand
Predicted Demand
Capacity
Time
Elastic Cloud Resources
Actual demand
Resources scaled to demand
Capacity
Time
VS
5. Use only what you need: AWS cost savings opportunities
• Right-size your cloud resources
– Improve performance: reduce churn, underutilization, bottlenecks
– Lower costs: maximize your output per dollar, don’t pay for performance you don’t
require
• Fit your payment model to your business model
– Is there a level of predictability?
– Use a portfolio of payment models
• Measure and manage your application and cloud resources
– Monitor your applications to identify new savings opportunities
6. Right-size your cloud resources: broad EC2 selection
• 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
7. Fit your payment model to your business model: EC2 pricing plans
On-Demand
Instances
Reserved
Instances
Spot
Instances
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- 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
8. Use a spectrum of payment models
For example:
Frontend Applications
on On-Demand/Reserved Instances
+
Backend Applications*
on Spot Instances
* e.g., batch video transcoding
9. Reserved Instance Marketplace: Buy and Sell Your RIs
• Benefits for Buyers:
– Same underlying EC2 hardware
– Buy RIs at a discount from AWS price
– Increased selection of term lengths &
prices
• Benefits for Sellers:
– Moving to a new AWS region
– Changing your instance type
– Switching operating systems
– Selling capacity when project ends
10. Optimize your storage choice too: S3 & Glacier
• S3 and Glacier are both:
– Secure
– Flexible
– Low-cost
– Scalable: over 2 trillion customer objects
– Durable: 99.999999999% (11 “9”s)
Amazon
Glacier
11. Difference?
Simple Storage Service (S3)
– Designed to serve static content at high volumes, low latency, frequent access
– 10.5¢ to 5.5¢ depending on volume and region
Glacier
– Designed for long-term cold storage: infrequent access, long retrieval times (3-5hrs)
– Extremely low-cost: 1¢ per GB-month
Illumina, the leading provider of DNA sequencing
instruments, uses Glacier to store large blocks of
genomic data all over the world
13. Overview of AWS Monitoring and Management Services
• AWS provides detailed cloud monitoring and management
– Consolidated Billing (see “Account Activity” navigation panel)
– CloudWatch (see AWS Management Console)
– Billing Alerts (see “Account Activity” navigation panel)
– Trusted Advisor (see “Support Center”)
– Other APIs: tags, programmatic access, etc.
• 3rd party services are also available
14. 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
15. Amazon CloudWatch
• Overview
– Monitoring for AWS cloud resources and applications
• AWS Resources: EC2, RDS, EBS, ELB, SQS, SNS, DynamoDB, EMR, Auto Scaling…
• Custom metrics from your application (use Put API call)
– Gain insight, set alarms and notifications, react immediately
– Start using within minutes, auto-scale with your application
• Sophisticated Automation
– Use CloudWatch metrics with Auto Scaling to dynamically scale EC2 instances
16. Use CloudWatch to monitor & manage resource usage
• Monitor your resource utilization
– Are you using the right instance type?
– Have you left instances idle?
– Is your instance usage level or bursty?
• Manage your resource utilization
– Move bursty workloads to other instances
– Rebalance your worker nodes
– Scale nodes automatically with Auto Scaling
17. Use CloudWatch to create Billing Alerts
• Billing Alerts notify you when estimated charges reach a given threshold
• Use Billing Alerts to track an individual developer, or your whole business
• Easily setup your billing alarm and actions
18. 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/
22. • Auto Scaling auto-sizes your cluster 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 metrics
Use Auto Scaling to dynamically scale your app
Scale with Real-Time Demand
24. 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
25. 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
26. Cost-Saving Examples
• Achieve potentially
large savings by
profiling your
application and
paying only for
what you need:
Base Case Savings Examples
You run 10 m3.2xlarge’s
On-Demand 24x7:
10 instances
X $1.00/inst-hours
X 24 hours/day
X ~30.5 days/month
= $7,320/month
If you need to run 100% of the time, indefinitely:
10x 3-yr Heavy RIs @ 100% Utilization
= $2,731/month (63% savings)
If you can layer RIs and On Demand to meet demand:
4x 3-yr Heavy RIs @ 100% Utilization
4x 3-yr Light RIs @ 15% Utilization
2x On-Demand @ 5% Utilization
= $1,843/month (75% savings)
If you Auto Scale from 2 to 10 instances around
primetime TV (6-11pm, Mon-Fri):
2x 3-yr Heavy RIs @ 100% Utilization
8x 3-yr Light RIs @ 15% Utilization
= $1,683/month (77% savings)
If you can use 40x Spot Instances at 25% up-time:
= $840/month (89% savings)
27. Time-to-Result Case 1: Value of result quickly diminishes
Example:
Engineering
simulation
Delay Loss of
productivity,
project slips
28. Time-to-Result Case 2: Result is valuable…until it’s not
Example:
Weekend
regression tests
Delay Minimal
impact until
8:00AM Monday
29. Consider Spot Instances for greater savings and scale
• Spot in a nutshell
– Spot instances run when Your Bid ≥ Spot Price
– Spot instances = Spare EC2 instances
– Spot 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
30. 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)!
40. Working with AWS - services
• We use a number of other AWS services
• Import service–
– Fast
o Cost effective
o Excellent outcome.
41. Working with AWS - services
• Scaling.
o Testing/ increased load/ stand alone
o Easy to implement
o Cost effective.
• Third parties
o Clean integration
o Allows for varying levels of expertise.