People use CloudCheckr for variety of reasons – among other deliverables, we provide automated resource reporting, identify deployment changes, and deliver best practices comparisons and alerts. We also, of course, provide the best cost analytics around.
Given our AWS cost expertise, over the past few months, many of our customers have asked us about AWS billing. Specifically, they wonder why their daily AWS- reported bill does not always seem to mirror their daily usage.
For example, we have a customer whose monthly bill has totaled approximately $400,000 (+/- 5%) for each of the last 4 months. This customer reasonably expects the AWS billing to show as approximately $13,300 per day. However, it does not always work that way. In fact, a surprising number of times AWS reports 0 for one day and $26,700 for the next (or $40,000 the day after that). They, of course, noticed this and asked us: why is AWS billing so uneven?
Well, when we first saw this occurring with our own bill, we had looked into it. We knew that unevenness could be the result of Reserved Instance (RI) purchases. This could impact the daily bill and affect the expected charge distribution. Or, it could be the 1st of the month when Heavy RIs are billed – this, too, would cause the unexpected billing variation. Or, we could have massively scaled down on the days in question. Or, we feared, we could be collecting or reporting on our own bill incorrectly (note that I do not include ‘calculating’ because the bill is one of the few pieces of AWS reporting upon which we do not perform our proprietary analytics).
What was the cause?
However, as we explored further, it became obvious that none of these possibilities was the cause of the fluctuation. Rather, the variance was caused by how AWS calculates and reports its billing. Let me explain: normally AWS runs a job every 4 hours to calculate customer bills. This single job then disperses the information to multiple locations. Importantly, however, all the information still emanates from this single source and this single job.
As we spoke to AWS, it became clear that, occasionally, their billing job is delayed. When this happens, AWS bills $0 for the time period. Now, don’t get too excited. The charges are not lost (or forgiven) – AWS billing catches them the next time the job is run successfully.
However, there are times when the delays happen consecutively. Occasionally, the time period extends over an entire day and/or across days. These delays are what our customers are seeing. The $0 periods (whenever they cross over into another day) create distortions in their expected bill. That distortion is the source of the confusion.
What does this mean?
Well, it means that, when this occurs, customer bills are unrepresentative of their true charges. It also means that customers should not extrapolate their monthly bill from the AWS month-to-date bill.
Manage Your Entire Cloud Infrastructure—All in One Place
Our experts have seen it all—from hundreds of siloed accounts to millions of dollars of resource waste. See how CloudCheckr can help you get your cloud costs under control with a 30-minute demo.