Let's get on each others' calendars.

Cost Reduction for AWS:

The Complete Guide

Nobody wants to pay more than they have to. It’s a fundamental desire underpinning entire industries, and having the right cost reduction approach can end up saving you huge amounts of money.

Why should that be any different for cost reduction in AWS?

Here at Aimably, we’re sick and tired of companies giving up and paying through the nose for AWS due to how complex the financial side of it is. It’s a maze of pricing plans and contract options, but with our expert help you can have an effective cost reduction plan that works on your terms instead of AWS’.

To that end, this post will cover:

  • How to identify your AWS costs
  • Common (and hidden) AWS costs
  • Cost reduction tactics, tips, and tricks
  • The easy way to do cost reduction for AWS

Let’s get started.

How to identify your AWS costs

Source, image used under Pexels license

Before getting started with cost reduction you need to know what your AWS costs are, whether they’re accurate, and why you’re paying so much. Thankfully, AWS has a few native methods for discovering just that. We covered these in detail in our AWS cloud cost management post, but let’s review them here quickly too.

The first is by getting your Cost and Usage Reports (CURs). As the name suggests, these reports contain all of your cost and usage data relating to your AWS products and services, making them invaluable for seeing how much you’re spending, what you’re spending that money on, and how much you’re utilizing what you pay for. These reports can be published straight into your S3 buckets and can break down your costs by hour, day, month, product, product resource, or by custom tags that you can define. While a daily update should be enough to keep track of everything through this method, you can configure your reports to update as often as every 1-3 hours should you need to.

Unfortunately, CURs are difficult to understand unless you’re already familiar with them and have experience analyzing them. We’ll talk more about how to get around this issue later, but for now know that the data they provide is so specific and there is such an abundance of it that most people won’t be able to get any meaningful insight from them.

AWS Cost Explorer is a great tool for identifying your current costs, as it takes your CURs and displays the data in a single dashboard. It’s also (mostly) free, so you won’t be adding to your bills by using it to analyze your spending, and it being a native solution means that you aren’t bouncing between third-party services to get your data.

However, AWS Cost Explorer is extremely limited in the context given to your costs and doesn’t offer anything in the way of cost reduction suggestions. For example, let’s say that a huge part of your current costs boils down to running just a few different EC2 instances. AWS Cost Explorer will allow you to identify them as being expensive, but it won’t tell you anything about the business reason for the cost (so you can’t tell whether it’s justified or not) and won’t give any suggestions as to what you could do to reduce it. It certainly won’t help you know whether you could save money but retain performance by switching to different instances.

AWS has a few other tools and services which you can use for cost reduction, and we’ll cover those further on in this post, but that’s it for your methods to natively view your AWS costs. However, a much better way to get a handle on what you’re spending and particularly why is to utilize a third-party tool such as Aimably’s AWS Invoice Management Software.

Source, image taken from Aimably’s AWS Invoice Management Software

This tool takes the data from your Cost and Usage Reports and presents it in a way that’s easy to understand. No more scrambling to decipher whether a particular item refers to one service or another, or whether you’re being charged correctly for everything. With cost and usage reconciliation reports, invoice allocation, financial modeling and more, it really is the one-stop shop for identifying your AWS costs.

No matter which method you choose, you should at least have a solid grasp of what your costs are and might even start to have analyzed whether they can be reduced without destabilizing your operations. However, before we give you a list of the best ways to go about cost reduction, let’s take a dive into some common AWS costs. We’ll include notes on whether they’re costs that you should be focusing on when it comes to cost reduction, so pay attention!

Common (and hidden) AWS costs

As we’ve detailed all of the common AWS costs in the past we won’t get too bogged down here. However, if you’re still relatively new to AWS (or you’re checking in on your AWS bills for the first time) you need to know what to look out for in your bills. You should know what to expect to see, and what might catch you off guard even if they’re legitimate costs.

First, let’s cover the common costs. These usually boil down to bills relating to storage, computing, database, and content distribution.

Source, image in the public domain

Storage costs in AWS typically boil down to AWS EBS or S3, and depending on your needs can easily include both services. EBS pricing depends on the type of block you’re running and is billed per GB per month, according to the number of seconds of usage, and EBS Snapshots will cost extra. S3 charges you for what you use at a rate according to the type of bucket you have (Infrequent Access, Glacier, etc).

Computing costs are almost universally covered by EC2 instances. As we’ve stated before, the sheer number of EC2 instance types and pricing plans can make EC2 instance pricing a huge headache, but we’ll keep it simple for now and just note that you probably have these costs present. The most basic pricing plan (On-Demand) is billed per hour that the instance is running.

Amazon RDS is most likely to pad out your bill as your database solution. Much like with EC2 instances there are multiple pricing plans available which will alter the final bill, but that’s pretty much what you can expect.

Finally, for content distribution you’ll have AWS CloudFront. Prices here depend on the destination of the data you’re transferring out from CloudFront, but no matter what you’ll be charged for each GB of data exported (beyond the free tier’s 1 TB) per month, and per 10,000 HTTP and HTTPS requests (beyond the free tier’s 10,000,000 requests) per month.

As for hidden costs, these are the ones that you need to pay close attention to when you’re initially budgeting and when you’re trying to come up with a cost reduction plan. The hidden costs of AWS can be an absolute killer if they’re not predicted in advance, but some are a great indicator of where money can be saved.

AWS hidden costs typically fall into one of the following categories:

  • Extra charges for IOPS and throughput with EBS and RDS
  • Data transfer charges
  • Paying for tools and services that you’re not using

The first of these is mostly down to knowing the limits of the free tier of whatever EBS block you’re using. If you go beyond that, you’ll incur charges which can quickly rack up. The same can be said of data transfer charges, but these depend on the origin and destination of the data being transferred. We’ve covered data egress charges in more detail previously and they’re not hugely relevant to cost reduction tactics, so just know that data transfer is the type of hidden charge that can spike your bill depending on circumstances.

The most important hidden charges for our purposes today are those of paying for tools and services that you’re no longer using. This can include anything from an old EC2 instance running long after you’ve ceased utilizing it to an elastic IP address not being canceled at the same time as its related instance is shut. No matter what it is, it’s vital to your cost reduction efforts that you’re able to identify these useless expenses as soon as possible so that you can clear them up and put that money to better use.

Speaking of which…

Cost reduction tactics, tips, and tricks

Source, image used under Pixabay license

Let’s finally get into the meat of the topic; cost reduction tactics, tips, and tricks for AWS. Most of these come down to having a solid cloud cost management program in place, but if a full program is too much of a commitment then feel free to follow these tips alone to supercharge your AWS accounts.

The first and (arguably) most important step to cost reduction is to know your options. While this sounds simple, trying to know every option available for the various product offerings, feature combinations, AWS Regions in relation to your business’ operations, and especially pricing plans for all of the products you use is no small feat.

The easiest way to do this is to utilize our AWS Cost Reduction Assessment (more on that later) to do the heavy lifting for you. By comparing every available option (from EC2 instance types to savings plans to discount programs) with your current setup, Aimably can generate a list of prioritized options that you can take to reduce your costs without the headache of memorizing everything yourself.

If you don’t want to use a third-party service, you’re going to have to individually examine every option you have for the various pricing plans, EC2 instance / EBS types, their relative usefulness for your setup, and make a decision on what’s best for your operations. For example, you might discover that by paying for a Reserved Instance you can save a massive amount of money compared to On-Demand (if you’re heavily utilizing that instance).

Another way to reduce costs is to form an AWS Organization to group your accounts together under one bill. While this doesn’t offer any discounts by itself, it does mean that you’ll have one large bill instead of multiple smaller ones, which can help you to qualify for larger discounts.

However, you don’t always need to chase discounts in order to cut costs.

Aside from shutting down any services that you’re no longer using, you should take the opportunity while performing cost reduction to analyze whether you can downsize your operations without affecting the bottom line of your business or app’s performance. In other words, if you see an EC2 instance that’s always running below 50% utilization, you could probably downgrade the instance type and save a chunk of money as a result.

The final tip for cost reduction is a little more technical, as it involves performing a usage type analysis of your CURs’ data. By summing the totals of your cost and usage statistics by usage type you can contextualize them in sub-categories according to things like the region they’re occurring in or the common resources they share. You’re basically showing who these services are being used by, who they’re aimed at, and what the return on investment is for each of these costs. With that knowledge you can then make informed decisions on whether the expenses are worth it for the value they generate, whether they need to be reduced but are still valuable, or aren’t generating enough results and should be cut altogether. The best AWS resource we’ve found for this is the Cost Optimization Workshop, a series in the Well Architected Labs framework.

The easy way to do cost reduction for AWS

Source, image taken from Aimably’s AWS Cost Reduction Assessment

We’ve already mentioned the best way to go about cost reduction for your AWS efforts, and that’s Aimably’s AWS Cost Reduction Assessment. Heck, the clue is in the name!

Our cost reduction assessment takes all of the annoying, manually intensive work of consolidating, organizing, and analyzing your AWS cost and usage data to bring you an immediately understandable report of actions that you can take to cut costs. It’s as simple as that.

Whether you’re looking to get some visibility on your cost reduction options (how much you could save and how risky they are) without spending months trawling through every pricing plan detail or you’re looking to model out the impact of your contract options before committing, our AWS Cost Reduction Assessment has got you covered.

Click here to begin your cost reduction journey today!

AWS Total Cost of Ownership