Many customers choose AWS because they need a highly reliable, scalable, and low-cost platform on which to run their applications. Low “pay only for what you use” pricing and frequent price decreases are just the beginning of how AWS can help you optimize your usage and achieve lower costs. In this session, you will learn about a few simple tools for monitoring and managing your AWS resource usage that you can start using right away, as well as some innovative features that can help you operate at lower costs programmatically. Cost allocation reporting, detailed usage reports, billing alerts, EC2 Auto Scaling, Spot and Reserved Instances, and idle resource detection are just a few of the tools and features we will cover.
Powerful Google developer tools for immediate impact! (2023-24 C)
AWS Summit Berlin 2013 - Optimizing your AWS applications and usage to reduce costs
1. Optimizing Your AWS Applications and Usage
to Reduce Costs
Steffen Krause
Technical Evangelist
@AWS_Aktuell
skrause@amazon.de
2. 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
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
– 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
6. 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
7. 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
8. 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
9. 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
10. 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
11. 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
12. 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-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
13. Use a spectrum of payment models
Example:
Frontend
On-Demand/Reserved Instances
+
Backend
Spot Instances
* e.g., batch video transcoding
15. 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
16. 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
18. Consolidated Billing Demo (2/3)
• From your payment account login, view details of each linked account
19. Consolidated Billing Demo (3/3)
• Drill down into detail’s of each account
• Download a CSV file for line item details –> Excel
20. 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
21. 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
22. 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
23. 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/
28. Time-to-Result Case 1: Value of result quickly diminishes
Example:
Engineering
simulation
Delay Loss of
productivity,
project slips
29. Time-to-Result Case 2: Result is valuable…until it’s not
Example:
Weekend
regression tests
Delay Minimal
impact until
8:00AM Monday
30. 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
31. 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)!
32. 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 metrics
Scale with Real-Time Demand
34. 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
35. 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
37. 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
38. 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
39. 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
40. 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