Let's get on each others' calendars.

The Pros and Cons of AWS Cost and Usage Reports

(And How to Enhance Them)

The U.S. wastes around $161 billion of food every year, with the average family of four throwing out $1,500 per year. Unfortunately, much of this comes from not realizing how much is being paid for but remaining unused.

Wasting money is painful, especially when you don’t have easy access to the information to show you how much you’re losing. This is true of everything from cloud computing to groceries.

In cloud computing, this problem is solved via AWS Cost and Usage Reports.

AWS Cost and Usage Reports (CURs) provide all of the information you need to figure out whether you’re spending too little, just enough, or too much on your AWS account, based on how much you’re actually getting out of your services. Unfortunately, there are a few drawbacks which Amazon won’t readily tell you about…

To get you all clued in, this post will cover:

  • Billing - the ugly side of AWS
  • What is an AWS Cost and Usage Report?
  • Benefits of an AWS CUR
  • Drawbacks to an AWS CUR
  • How to enhance your Cost and Usage Reports

Don’t worry - there aren’t any Bored Apes here.

Billing - the ugly side of AWS

AWS is a truly amazing suite of services that allow countless companies to perform tasks and expand their business in ways that simply wouldn’t be possible otherwise.

Whether you’re a SaaS startup looking to leverage managed services to get up and running quickly or you’re Netflix spending $19 million per month to use AWS for all of your cloud needs (storage, computing, databases, analytics, recommendation engines, video transcoding, etc.), AWS is a supremely powerful tool in your arsenal.

If you want to make the most of your business, expand as quickly as you can, and make use of data and analytics that would be impossible to gather and perform yourself, one of your best solutions is to go to AWS.

It’s a shame that the billing side of AWS is such a mess.

As we here at Aimably have previously covered in our posts on AWS managed services and FinOps, AWS is incredibly difficult to manage when it comes to billing. There isn’t a central dashboard that you can go to in order to see all of your billing information, which makes it hard for your engineers to know how much they’re spending (especially when they expand your AWS services), and for finance to know whether you’re getting good usage out of what you’re paying for (since AWS charges escalate as you provision resources, no matter if you use them or not).

A photo of two groups of man and woman pairs collaborating in an open office. In front of each sits a desk. On each desk can be found coffee cups, pens, computers, phones, power cords, and notebooks. Behind the pairs is a wall with windows, columns and post-its strewn about on each.
Source, image under public domain license

Think of it this way.

Say you’re a software company and you’re using AWS to host your online services, along with analyzing some of the data you’ve gathered. Logically, you’ll want to capitalize on your successes, expand your capacity to enable growth, and make the most of what’s on offer.

After all, you have to spend money to make money, right?

Now the only issue you have is that of your AWS bill. You don’t know how to make hide nor hair of it, or even how to access the data showing exactly what you’re spending on the various branches of AWS, and how much you’re actually using each of those elements. For all you know you could be overspending massively for what you’re using AWS for.

That’s where the AWS Cost and Usage Reports come in.

What is an AWS Cost and Usage Report?

An AWS Cost and Usage Report (CUR) is exactly what it says on the tin - it’s a comprehensive list of all of your cost and usage data relating to your entire AWS account. CURs can be used to publish your billing reports straight into your Amazon Simple Storage Service (S3) bucket, and you can break down costs by:

  • Hour
  • Day
  • Month
  • Product (eg, Amazon S3)
  • Product resource
  • Tags that you can define yourself

Once you have the report in your bucket, AWS can then be used to update your CUR between one and three times per day. While it would be useful in fringe cases to be able to request an updated CUR whenever you need to see it, this daily update provides a consistent enough list that you can use to draw information from without ever being too far out of date.

Your AWS CUR is automatically sent in a CSV format, meaning that you can view it using any spreadsheet-based program that you already use, such as Microsoft Excel or Google Sheets, though there are other formats if you want to analyze the data natively using AWS Athena.

To create your own CUR, head to your AWS Billing and Cost Management console, click on “Cost & Usage Reports”, select “Create Report” and follow the steps provided.

As you might imagine from something that makes such important data immediately visible, it’s important to go into the benefits and drawbacks of CURs, so let’s do that right now.

Benefits of an AWS CUR

A person holding a stack of US currency in a variety of denominations in their hands and thumbing through as if displaying a deck of cards.
Source, image used under public domain license

Let’s start off on a positive note by looking at the benefits of AWS CURs. While some of these are pretty self-evident (especially given the weaknesses of AWS that we’ve mentioned earlier), there is an inherent benefit which ties in nicely to the other aspects of your AWS account.

The main benefits are:

  • The CUR lets you see what you’re spending in detail
  • The CUR shows you what your usage is
  • Cost and usage are difficult to see otherwise
  • This data allows you to optimize your AWS

The CUR lets you see what you’re spending in detail

First up, your CURs let you see what you’re spending in as much detail as you could ever want.

This means that your finance team can easily see exactly how much is being spent on your various AWS elements, when your spend increases or decreases, and generally be able to see the justification behind what would otherwise be a nebulous number in their monthly reports.

Going back to the software company example from earlier, a CUR would let you see what is being spent on AWS and understand at a glance the reason why. If you’re the owner of the company it’s easy for your team to justify the spend where they couldn’t before, and vice versa if you’re, say, a finance or engineering team manager.

The CUR shows you what your usage is

Similarly to spending, your CUR displays all usage statistics in extreme detail, down to the individual bytes traveling between each server and the API calls made to each service.

You won’t get an at-a-glance summary of how much each server is being used in proportion to its capabilities. However, knowing how long the servers you bought were running for, and how much traffic was sent to and from each, is still a useful way to see how much customer usage your money got you.

In other words, you’ll be able to perform deep cross-references between provisioned resources and the traffic across your system, enabling you to determine why your spend was as high or low as it was. If your spend on provisioned resources was high, but actual traffic was low, you know that you’re overprovisioned and costs can be optimized.

Cost and usage are difficult to see otherwise

Photo of a woman holding the sides of her face as she stares closely at a laptop computer screen.
Source by Nenad Stojkovic, image used under license CC BY 2.0

This is, perhaps, the biggest benefit of a CUR; without one, it’s very difficult to find cost and usage information to the same level of detail in the same place.

There’s not much that can be said against this, in that it’s both a sign of a significant weakness of AWS, and something which cannot be changed. It’s not as if you can extract the data yourself without going to a huge amount of effort to manually track your expenditure and how much you’re using each AWS service versus what you’re paying for.

AWS Cost Explorer can show you much of the same information that you’ll get from a CUR, but only if you dig through separate views. For managers in particular this creates friction and a massive barrier to quickly showing all of the information they need to.

Put simply, there’s basically no native alternative to seeing this data in one place.

This data allows you to optimize your AWS

The last major benefit of AWS CURs is that, when combined, your cost and usage information is the key to optimizing your AWS account and cutting out unnecessary spending.

Let’s say that you sign up to a gym. You really want to get into shape, but you’re not swimming in spare cash so you need to keep an eye on what’s actually serving a purpose in your budget.

If you only know how much gym membership is every month, you know how much you’ll be spending but not whether that spend is worth it. If you only track how often you go, you have no idea if what you’re spending on it is worth it or not.

It’s only by combining cost and usage that you can see whether you should be reducing your spending due to low usage or even expand your AWS spend because you’re regularly maxing out your usage and are stifling your growth because of it.While it will take a deep analysis of your CURs to get the appropriate data and make solid conclusions, it’s well worth the investment.

Drawbacks to an AWS CUR

Sadly, with almost all good things come a downside, and AWS CURs are no exception. The main drawbacks being:

  • Without experience, the CUR is unintelligible
  • Lack of understanding renders insight impossible
  • There’s no other way to natively get cost and usage data

Without experience, the CUR is unintelligible

Screenshot of the AWS CUR loaded into Excel, with the lineItem/UsageAmount column highlighted.

While the ability to get your cost and usage data at all is incredibly useful, the manner in which this data is presented leaves a lot to be desired.

Without already knowing what you’re looking at, your CUR might as well be written in Klingon.

The data is so specific and there’s so much of it that it’s hard to know where to even start understanding it if, once again, you don’t already have experience dealing with these reports. This is doubly true if you’re in a management position and don’t have time to be interpreting fringe reports.

It’s a catch-22 because you need to know what you’re spending and whether it’s worth it, but the barrier for understanding is so high that you probably won’t be able to do so unless you hire someone who has experience with it.

Lack of understanding renders insight impossible

Not being able to understand what your data is telling you is one problem. The follow-on, however, is that you won’t be able to make any decisions that would usually be informed by analyzing your data.

You won’t be able to tell whether what you’re spending is worth it or not. Thus, you won’t be able to recognize when you’re overspending and wasting money or underspending and stifling your growth or business’ performance in general.

Without the expense of an interpreter, you’re left stuck in the mud.

There’s no other way to natively get cost and usage data

Remember when I said that cost and usage data is difficult to get otherwise, thus it’s a benefit that CURs exist? Here’s the downside to that same argument.

The lack of any other way to natively get cost and usage data in a more understandable and digestible manner means that if you want to know what you’re looking at, you’ve got to either hire someone to help you or use a third-party service.

No second option, no way to make it more understandable unless you hire an expert, potentially an agency or use a third-party app to interpret your results for you. The trouble is, hiring someone to help tends to be prohibitively expensive for small businesses and third-party apps are usually extremely complicated in and of themselves.

That’s where Aimably comes in.

How to enhance your Cost and Usage Reports

Photo of woman smiling happily in business attire sitting at a desk in an office. On the desk are a laptop, external monitor, mouse and keyboard. She sits in a professional office chair and over her shoulder is a window with two potted plants on the sill.
Source, image used under public domain license

Aimably is the key to easily understanding and analyzing your Cost and Usage Reports.

Aimably provides you with the central dashboard you need to see everything about your AWS spend at a glance, be it breakdowns of how much you’re spending or what that money is going on. With an entire suite of powerful, yet simple and easy-to-use tools designed to help you analyze your AWS spend and usage, it’s the perfect way to use your CURs to enhance your AWS account.

Whether you want to know monthly trend data from your AWS accounts or see how to reduce your costs without affecting your business’ performance, Aimably draws from Amazon APIs to interpret and add value to your CURs. All of this comes in an affordable package too!

Don’t make it a chore to make sense of your data - use a tool that makes sense of it for you, with Aimably.

AWS Total Cost of Ownership