Effective deployments require consistent monitoringWhat 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?
Effective deployment optimizationWhat 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?
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%
Usage trend : StorageSurprise. You have storage (S3, EBS)• Typically represents 14% of the cloud spend.• Only 12% is using cheaper storage (Glacier) options
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
Usage optimization: EBSBad 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.
Usage trends : Compute / DatabaseOne m1.large cappuccino withextra 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.
Usage trend : ComputeBy looking at CPU, Memory, I/O, Network:Most instances are significantlyunderutilized.• 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%
Optimization example: ComputeComparing m1. large to m1.xlarge for RDBMS:Spec m1.large m1.xlargeRAM 7.5Gib 15 GibCPU 4 EC2 CU 8 EC2 CUStorage 850 GB 1690 GBI/O Perf Moderate High• m1.large EBS-optimized + 500 Mbps provisioned IOPS performed better than single m1.xlarge
Pricing OptimizationCloud vendors lovecharging less… Yep, this is not a typo, and you don’t really leverage it.
Price optimizationWhy 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).
Pricing Trend – Reserved, On-Demand, SpotRIs - 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.
Common mistake – breakeven point and commitment pointRI’s breakeven point and commitmentare 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
Breakeven point best practice M1.large Linux instance in Virginia for 1 year Savings Breakeven after 2.5mon, 30% Runtime
Common RI mistake Optimal RI Purchasing Safe RI Purchasing
Unused Reservation and MarketplaceReuse / 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!