One of the benefits of AWS is paying only for resources that are used. And these resources can be provisioned within a few minutes by anyone in the organization that has access. With a vast range of services and products to choose from, this is a great advantage for business agility by deploying new features and applications faster, while reducing errors. This is also true for improving on SLAs and reducing unplanned outages by running critical workloads in multiple availability zones and in multiple regions.
Because the procurement process of resources on cloud platforms is instant, this also means that spending money is dynamic and less predictable.
As you can imagine, although this has a lot of advantages when it comes to pushing forward with a project or product; things can easily spin out of control, especially when we’re talking about cost. AWS offers a lot of possibilities on how to reduce cost, one of them is using reserved or spot instances instead of on-demand instances. However, reducing cost is one thing and knowing the exact resources that are used, how much they cost and where to perform cost-reducing operations is another matter.
For any business, cost management is an important topic and the top management of a company needs an understanding of the underlying cost and usage trends.
We can’t deny that cloud computing platforms and cloud management had an impact on how organizations and people approach cloud costs and expenses. Since this also reflects on how we plan and create our budgets, we see how organizations are transforming and creating new structures within so that they can handle this new and dynamic approach in tracking resources and their cost. This has led to a collaboration between engineering people and people working in finance.
In order to get ahead of the potential problems, AWS Cost Management tools offer great visibility into what’s going on within your AWS account with an overview of AWS costs and usage. These tools allow you to understand and control your costs in order to make business decisions.
AWS offers the following tools for Cost Management:
• Billing Dashboard
• Cost Explorer
• Cost Usage and Report
AWS Cost Management Tools – Billing Console
First, let’s look at the AWS Billing Console. The Billing Console gives us a high-level overview of our current spending as well as insight into the bill for the previous month and an estimate for the next month based on the previous two information. Within the “Bill Details” option you’re even able to look at how much you’re spending on each AWS service per region. This gives you a clear overview of the spendings and goes into some more details where you’re able to see a breakdown of grouped resources per service.
From the Billing Console, you’re also able to access AWS Budgets and Budget Reports. Budgets allow us to create alerts so that we’re notified when we’re exceeding our budget thresholds or the forecasted thresholds. A good way of staying on top of your monthly bill is to create a monthly budget with an appropriate alarm threshold. And with Budget Reports you’ll be able to monitor you daily, weekly or monthly AWS Budgets from where you can drill even deeper using AWS Cost Explorer.
AWS Cost Management Tools – Cost Explorer
In order to dive even deeper into the cost and usage, AWS Cost Explorer gives us the ability to visualize this data and identify trends and detect anomalies. By filtering the data and grouping it by Linked Accounts, Regions, Instance types and other filters, we’re able to get more insight into our costs.
An example would be that on a first glance we notice an increased usage and related cost with RDS. By applying a filter and representing the data in a different view, we’re able to identify that the cost is largely due to db.m5.2xlarge instances within one Region. This gives us the opportunity to analyze why this type of instance was chosen and if we can perhaps change it to a smaller one if the resources are not used adequately. Or we might conclude that this instance type should be converted to a reserved instance.
By saving this report we can easily access it later to check on these resources. As a quick way to get you started, AWS has already created some default reports for you like “Monthly cost by service” or “Monthly EC2 running hours costs and usage”.
Apart from getting detailed insight into our usage, AWS Cost Explorer also gives us insight into our Reserved Instance (RI) usage as well as our Savings Plans usage. With both savings options, we can view Utilization and Coverage reports as well as see recommendations that AWS offers as part of their analysis of our data.
AWS Cost Management Tools – Usage Reports
From the Billing & Cost Management Dashboard console, we can access AWS Cost and Usage Reports (AWS CUR). This is by far the most detailed and granular data that you can obtain regarding your AWS usage. This includes metadata about AWS services, pricing, and reservations. You can define how to break down your cost report and have this data delivered to a S3 bucket in a comma-separated value (CSV) file.
When creating a Report, you can also enable data integration with services like Athena, Redshift or QuickSight. By integrating this data, you are able to perform various query operations. For example, getting the total spend per product for 2019.
The Cost and Usage Report is by far the most detailed source of information that will give you insight into your AWS costs and usage. By analyzing this data and usage patterns over a given period you can identify the underlying cost drivers. This is crucial for operating at scale. However, this tool is best suited for large organizations with complex analytic and reporting requirements. It is also the best source of Reserved Instance information, especially for viewing amortized costs.
Another tool worth mentioning is AWS Trusted advisor. It analyzes your AWS environment and provides you with real-time guidance to help you provision your resources following AWS Trusted Advisor best practices. Not only does it offer you the insight into potential savings, but it also provides recommendations in other categories such as performance, security, fault tolerance and service limits. However, keep in mind that you’ll need to upgrade your AWS Support Plan in order to be able to access all the AWS Trusted Advisor checks.
After going through your monthly bill and reviewing it using the tools that AWS has to offer, you’ll have better insight into each resource usage. Based on this information you’ll be able to take another look at your infrastructure and applications in order to see what cost-reducing operations can be performed. As the infrastructure is planned, it’s not always apparent that cost-saving operations can be performed straight away. However, by analyzing the costs and having another look at some of the resources, an insight can be gained into whether there is a way to reduce the cost without having any negative impact on the performance or availability. This can be something as simple as changing to a different storage class or shutting down unused resources.
By constantly reviewing and analyzing the AWS infrastructure with different monitoring tools as well as having better insight into cost usage, the monthly bill can be significantly reduced. Although AWS gives us the option to “Pay as You Go”, it is important to remember that AWS also offers us the ability to save by using discounts with the Reserved model and that on higher utilization of specific services AWS offers volume discounts. By analyzing the usage and cost and identifying all our resources, we can gain valuable information to the course of action that will lead to a reduced bill.