Optimizing Your AWS Applications and Usage to Reduce Costs


Published on

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.

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Optimizing Your AWS Applications and Usage to Reduce Costs

  1. 1. Stephen A. ElliottOptimizing Your AWS Applications and Usage to Reduce CostsSr. Product Manager, EC2Jason StoweCEO, Cycle ComputingGuest presenter:
  2. 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– Cycle Computing
  3. 3. Use Only What You NeedAnd pay only for what you use!
  4. 4. Scale on demandRigid On-Premise ResourcesWasteCustomerDissatisfactionActual demandPredicted DemandCapacityTimeElastic Cloud ResourcesActual demandResources scaled to demandCapacityTimeVS.
  5. 5. Use only what you need: AWS cost savings opportunities• Right-size your cloud resources– Use resources that suit your needs (instance types, storage options, etc.)– Improve performance: reduce churn, underutilization, bottlenecks– Lower costs: maximize your output per dollar, don’t pay for performance you don’trequire• Fit your payment model to your business model– Do you value flexibility or predictability?– Use a portfolio of payment models• Measure and manage your application and cloud resources– Monitor your applications to identify new savings opportunities
  6. 6. Right-size your cloud resources: broad EC2 selection• An instance type forevery purpose• Assess your memory& CPU requirements– Fit your applicationto the resource– Fit the resource toyour application• Only use a largerinstance whenneeded
  7. 7. 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)AmazonGlacier
  8. 8. Choosing between S3 and Glacier• Amazon Simple Storage Service (S3)– Designed to serve static content at high volumes, low latency, frequent access– Low cost: as low as 5.5¢ per GB-month (or 3.7¢ for reduced redundancy)• Amazon Glacier– Designed for long-term cold storage: infrequent access, long retrieval times (3-5 hrs)– Extremely low-cost: 1¢ per GB-month• Tips:– Optimize access: Reduce payload size, # of accesses (e.g., consolidated logs)– Monitor for unexpected access/growth patterns: e.g., misconfigured log archiving– Set Lifecycle Policies: object expiration dates; auto-move S3 files to GlacierIllumina, the leading provider of DNA sequencinginstruments, uses Glacier to store large blocks ofgenomic data all over the world
  9. 9. Fit your payment model to your business model: EC2 pricing plansOn-DemandInstancesReservedInstancesSpotInstancesPay as you go for computingpowerFlat hourly rate, no up-frontcommitmentsPay an up-front fee for acapacity reservation and a lowerhourly rate (up to 72% savings)1-year or 3-year termsRI Marketplace: sell RIs you nolonger need; buy RIs at adiscountPay what you want for spare EC2capacity: your instances run ifyour bid exceeds the Spot pricePotential for large scale at lowcost: When they’re available,take advantage of 1,000s of SpotInstances at up to 90% savings10:0010:0510:1010:15
  10. 10. Use a spectrum of payment modelsFor example:Frontend Applicationson On-Demand/Reserved Instances+Backend Applications*on Spot Instances* e.g., batch video transcoding
  11. 11. 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
  12. 12. Measure and Manage“If you cannot measure it, you cannot improve it.”- Lord Kelvin
  13. 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.• Third-party services are also available
  14. 14. Consolidated Billing: Single payer for a group of accounts• One Bill for multiple accounts• Easy Tracking of accountcharges (e.g., download CSV ofcost data)• Group Activities by PayingAccount (e.g., Dev, Stage, Test,Prod)• Volume Discounts can bereached faster with combinedusage• Reserved Instances are sharedacross accounts (including RDSReserved DBs)• AWS Credits are combined tominimize your bill
  15. 15. Consolidated Billing Demo (1/3)• Get an overall summary totalfor all your users and accounts
  16. 16. Consolidated Billing Demo (2/3)• From your payment accountlogin, view details of eachlinked account in one place
  17. 17. Consolidated Billing Demo (3/3)• Drill down into detail’s of eachaccount• Download a CSV file for lineitem details, then analyze viaspreadsheet, pivot tables, etc.
  18. 18. 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
  19. 19. 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
  20. 20. 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 set up your billing alarm and actions
  21. 21. Trusted Advisor: Enterprise Strength Monitoring/Optimization• Monitors and recommendsoptimizations for:– Cost– Security– Fault Tolerance– Performance• Available to customers withBusiness and Enterprise-level supporthttp://aws.amazon.com/premiumsupport/trustedadvisor/
  22. 22. Trusted Advisor: Cost Optimization Tips
  23. 23. Trusted Advisor: Performance Tips
  24. 24. Third-party services to optimize your AWS usage
  25. 25. Scale OpportunisticallyOpportunity favors the prepared application
  26. 26. Time-to-Result Case 1: Value of result quickly diminishesExample:EngineeringsimulationDelay  Loss ofproductivity,project slips
  27. 27. Time-to-Result Case 2: Result is valuable…until it’s notExample:Weekendregression testsDelay  Minimalimpact until8:00AM Monday
  28. 28. 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
  29. 29. 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 around14 hours for $100 (>85% savings)!
  30. 30. • 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 metricsUse Auto Scaling to dynamically scale your appScale with Real-Time Demand
  31. 31. Auto-Scaling Example: Netflix
  32. 32. 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
  33. 33. 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
  34. 34. Cost-Saving Examples• Achieve potentiallylarge savings byprofiling yourapplication andpaying only forwhat you needBase Case Savings ExamplesYou run 10 m3.2xlarge’sOn-Demand 24x7:10 instancesX $1.00/inst-hoursX 24 hours/dayX ~30.5 days/month= $7,320/monthIf 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% Utilization4x 3-yr Light RIs @ 15% Utilization2x On-Demand @ 5% Utilization= $1,843/month (75% savings)If you Auto Scale from 2 to 10 instances aroundprimetime TV (6-11pm, Mon-Fri):2x 3-yr Heavy RIs @ 100% Utilization8x 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)
  35. 35. Customer Example:39 Core-Years of ScienceCycle Computing’s 10,600-Instance RunJason A. StoweCEO@jasonstowe, @cyclecomputing
  36. 36. At Cycle, we believeinnovation is shackledby a lack of accessto compute and data
  37. 37. The Scientific MethodAsk aQuestionHypothesize PredictExperiment /TestAnalyze Final ResultsTest and Analyze stagesrequire the most time,compute, and data
  38. 38. The Scientific MethodAsk aQuestionHypothesize PredictExperiment /TestAnalyze Final ResultsAny improvements to thiscycle yield multiplicativebenefits
  39. 39. If we democratize access tohigh performance compute,we’ll accelerate breakthroughs
  40. 40. Utility HPC in the NewsWSJ, NYTimes, Wired, Bio-IT World BusinessWeek
  41. 41. Computing access is a challenge across many industriesAll areas of scientific, engineering & financial research need affordable compute• Cycle’s session at AWS Re:Invent– Johnson & Johnson, Novartis, Life Technologies, Pacific Life Insurance, HartfordInsurance Group talking about AWS, Cycle & Utility HPC• Other clients that need affordable infrastructure– 2 of Big 3 Finance– 6 of Big 8 Pharmaceutical– 3 of Big 5 Life Insurance– 2 of Big 3 Next Generation Sequencing– Start-ups to Fortune 100s, corporations to public research institutions
  42. 42. Cycle’s software orchestrates High Performance Computing,Spot Instances drive down infrastructure costsHow does Spot help us do this?Start-up12.5 compute-yearsin 3 hours on 50,000cores ($20Million)for < $3,000Big 10 Pharma154,000 simulationson 30,000 cores in 9hours for $10,000Identified 3 newleads in wet labResearch Institute:1 million hours or115 compute years,in 1 weekfor $19,555
  43. 43. Cycle’s view of this cluster:Big 10 Pharma Created10,600 instance cluster($44M) in 2 hours,running39 years of computein 11 hours for $4,372Most Recent Utility Supercomputerserver count:AWS Console view:
  44. 44. Utility HPC / BigData Orchestration Software• Scale clusters from50–50,000 cores• Error-handling, reliability• Data scheduling:internal  cloud• Automated Security,Encryption Framework• Audit, compliance• Reporting, chargebackAutomate spot bidding =>
  45. 45. Shared FSScale from 50–50,000+ coresCycleCloud Deploys Secured, Auto-scaled HPC ClustersUserCheck job loadCalculate ideal HPC clusterLegacyInternalHPCLoad-based Spot biddingProperly price the bidsManage Spot Instance lossSpot Instance Execute Nodes(auto-started & auto-stopped)FS /S3HPC ClusterOn-Demand Execute NodesData Scheduling to place dataHPC Orchestration toHandle Spot Instance Bid & Loss
  46. 46. THANK YOU!Email: jason.stowe@cyclecomputing.comTwitter: @jasonastowe, @cyclecomputingBlog: blog.cyclecomputing.com
  47. 47. 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
  48. 48. An example putting it all together: Saving on Batch Processinghttp://aws.amazon.com/architecture/3. ScaleOpportunistically:Auto Scale workernodes based on sizeof input queue1. Pay Onlyfor What YouUse: Right-size yourcloudresources2. Monitor andManage your systemwith CloudWatch,Billing Alerts, TrustedAdvisor
  49. 49. Conclusion (Part II):Use the cloud to create new products & business modelsOn-Premises• Failure isexpensive• Experimentinfrequently• Less InnovationOptimized Cloud• Failure isinexpensive• Experiment earlyand often• More Innovation
  50. 50. THANK YOU
  51. 51. APPENDICES
  52. 52. Other simple optimization tips• Don’t forget to…– Disassociate unused EIPs– Delete unassociated Amazon EBS volumes– Delete older Amazon EBS snapshots– Leverage Amazon S3 Object Expiration– Defer batch activity (e.g., Hadoop) to periodswhen your RIs are regularly underutilized(For Enterprise-level support, Trusted Advisor canhelp with some of these.)• Netflix’s Janitor Monkey automates clean-up– Reduces “unintentional” resource usage– Reduces cost and clutter
  53. 53. Other Spot Instance Use Cases• Batch Processing: Generic batch processing (scale out computing)• Hadoop: MapReduce processing (e.g., Search, Big Data)• Scientific Computing: Scientific trials, simulations, analysis• Video/Image Processing: Encoding, transcoding, rendering• Testing: Continuous testing, load testing websites, etc.• Web/Data Crawling: Analyzing data and processing it• Financial: Hedge fund analytics, energy trading, etc.• HPC/HTC: Embarrassingly parallel jobs• Cheap Compute: Backend servers for Facebook games, MineCraft
  54. 54. Steady StateExample: Corporate WebsiteSpiky PredictableExample: MarketingPromotions WebsiteUncertain unpredictableExample: Social game orMobile WebsiteApplication Usage Patterns
  55. 55. Amazon Elastic MapReduceHadoop ClusterHDFSTaskNodeTaskNodeCoreNodeCoreNodeInputData OutputDataAmazon S3MetadataAmazon SimpleDBBI AppsUpload large datasets orlog files directlyDataSourceCode/ScriptsAmazon S3ServiceAmazon ElasticMapReduceHiveQLPig LatinCascadingMapperReducerRuns multipleJobFlow StepsNameNodeJDBC/ODBCHiveQLPig LatinQueryAmazon EMR (Hadoop): Run Task Nodes on Spot
  56. 56. Paying as you go on AWS lowers your Total Cost of Ownership• By paying only for what you use,you can save on:– Servers– Storage– Network– Environment– Administration• Example: 82% TCO savings forThomsen Reuters• Learn more:aws.amazon.com/economics
  57. 57. Example Spot Customers
  58. 58. Example Architecture 2: Web Application Hostinghttp://aws.amazon.com/architecture/