5. Effective deployments require consistent monitoring
What should be monitored?
• Usage: Who is using what, where and when?
• Performance: What is the utilization rate?
• Cost: How much does it cost us?
• Life-cycle: What has been changed and when?
• Business metrics: How is it related to our business activities?
6. Effective deployment optimization
What can be optimized?
• Usage: Can we retire or reuse existing resources?
• Performance: Can we size resources better (up or down)?
• Cost: Can we pay less for each compute unit we use?
7. How can we find optimization opportunities?
Bringing real cloud usage data from 450 AWS cloud customers into the mix:
~2.5m
Virtual instances, thousands of databases and
billions of storage objects monitored in the survey.
Yearly Spend % of customers
+1M 4%
500K-1M 2%
100K-500K 22%
50K-100K 11%
50K 61%
8. Usage trend : Storage
Surprise. You have storage (S3, EBS)
• Typically represents 14% of the cloud spend.
• Only 12% is using cheaper storage (Glacier) options
9. Usage optimization : S3 / Glacier
• Object Size best practice:
• Store large objects on Glacier (40K overhead / Obj)
• Object pricing best practice:
• Store long term (+3m) objects on Glacier
• Penalty for early deletion!
• Daily backups best practice:
• Keep on standard storage for 1 week
• Move to Glacier afterwards
• Using S3 versioned buckets?
• Nearly 10% of them have hidden objects
10. Usage optimization: EBS
Bad habits are hard to break…
Does it make sense to keep the light on when
you leave the room? Why do that to your EBS
Volumes?
• 16% of EBS volumes are unattached and subject
to deletion or change (S3, Glacier)
• In some cases (0.5% of EBS), EBS volumes
reported as attached but are not connected at all.
11. Usage trends : Compute / Database
One m1.large cappuccino with
extra espresso shot please…
Coffee customization,
Starbucks @ AWS Re:Invent
If you do it for your coffee, why not treat
your instances the same? It’s 20% of your
monthly bill.
12. Usage trend : Compute
By looking at CPU, Memory, I/O, Network:
Most instances are significantly
underutilized.
• Average yearly CPU utilization of 17%
• Max RAM utilization of 64%
• As instance size increase, utilization decreases
Size % of Spend CPU Util.
m1.large 27.5% 9%
m2.4xlarge 17.5% 6%
c1.xlarge 7.7% 9%
m1.xlarge 9.9% 14%
13. Optimization example: Compute
Comparing m1. large to m1.xlarge for RDBMS:
Spec m1.large m1.xlarge
RAM 7.5Gib 15 Gib
CPU 4 EC2 CU 8 EC2 CU
Storage 850 GB 1690 GB
I/O Perf Moderate High
• m1.large EBS-optimized + 500 Mbps provisioned IOPS
performed better than single m1.xlarge
15. Price optimization
Why they love charging you less?
• Capacity planning
• Customer satisfaction
• The Jevons paradox
• The upfront payment
Goal: Fast ROI, low cost per compute
unit using reserved capacity (AKA RIs).
16. Pricing Trend – Reserved, On-Demand, Spot
RIs - known and unknown facts:
• Requires one time payment
• Resource availability is guaranteed
• Pay less per hour
• 71% of instances run on-demand, 26% run reserved
93% of the on-demand instances
should be reserved.
17. Common mistake – breakeven point and commitment point
RI’s breakeven point and commitment
are not the same.
• Breakeven point :
• The point you receive a return on your upfront payment
and start to save on compute hours
• Commitment :
• The cloud vendor’s commitment for resource availability
• Saving :
• End of year On-Demand <MINUS >Reserved Instance cost
18. Breakeven point best practice
M1.large Linux instance in Virginia for 1 year
Savings
Breakeven after
2.5mon, 30% Runtime
20. Unused Reservation and Marketplace
Reuse / Recycle what you don’t need.
• 31% of Reservation are unused:
• Relocate On-demand Instances
• Sell on the marketplace
• Note:
• On demand prices drop every quarter
• Reserved instances drop every year
• You always sell at your original purchase price!