AWS Cost Optimization: Tools and Techniques Q&A with Lead Consultant Mark Pruitt
We recently had a chance to sit down with Cloud and Operations Lead Consultant Mark Pruitt, to hear what he has to say about AWS cost optimization. Many organizations aren’t aware of the built-in AWS tools they have at their disposal and how they can use these to make their cloud usage more efficient.
Q: How can you get visibility into your AWS costs?
This is a straightforward process that can provide significant benefits for organizations who are seeking to minimize AWS costs. Administrators have access to a single pane view of different resources’ costs in the Billing Dashboard. There are a variety of links within the left panel which provide more information. These items are explained below:
Cost Explorer: This gives a more detailed picture of which AWS resources are costing you money. This includes daily and monthly spend views and graphs, segmented by AWS service (e.g. EC2, tax, support, etc.).
AWS Budgets: This provides greater visibility into the long-tail of costs, along with spend threshold monitoring/alerting and forecasting. Administrators can set up custom cost and usage budgets, as well as create notifications when spending reaches certain thresholds (e.g. 50% of budget). AWS Budgets also offers budget forecasts based on previous usage rates (up to 3 months in advance).
Cost and Usage Report: This can help administrators pinpoint cost drivers and costly anomalies. There is also an option to export a CSV-formatted report that can be analyzed in a financial application like Excel.
Q: What is tagging and how can it help with cost management?
Tagging is way to label AWS resources using a key-value that can be utilized for various purposes. One of the primary purposes is Cost-Allocation Tagging, which can be used to track AWS resource costs by project, business unit, development team, or administrator. Using cost-allocation tagging can help administrators provision AWS resources more efficiently. For instance, administrators can identify which department is utilizing the most cloud resources, or highlight more granular data like which development team is spinning up the most EC2 instances..
Q: How can you receive alerts on costs overruns on AWS?
AWS Budgets can be leveraged to closely watch resource spend and allow for cost forecasting and cost threshold notifications based on custom parameters. Once an AWS Budget is set up, notifications of possible over-spend can be sent to administrators and finance departments. Along with cost-allocation tagging, this can help administrators not only find out when expenditure is too high, but also what team or project is generating these costs.
Q: Can you reduce costs by utilizing reserve instances for production workloads?
Yes, if your production workloads require a set number EC2 or RDS instances that you know you will need 24/7. In these cases, set up an arrangement to purchase reserve instances in advance to be used for the next fiscal year. This can create up to 70% cost savings for resources, as opposed to using on-demand instances. Moreover, reserve instances are fixed costs which can also help administrators forecast costs more accurately. Another option is spot instance provisioning, which is ideal for night-time batch processing where you need to minimize the cost of processing large amounts of data like Hadoop clusters.