Public clouds have had a tremendous impact on the world of information technology. Their operational expense models allow small startups to sprout out of nothing while offering large enterprises agility. Public cloud providers, like AWS, have completely changed the way we view the crucial infrastructure on top of which everything else runs—to the extent that many IT professionals have already forgotten what bare metal servers are.
Along with these new possibilities come additional responsibilities. While the capital expenses model was not perfect (for many it was an impassable wall), its costs were always in plain sight. When working with public clouds, on the other hand, it sometimes seems like vast expertise is needed to understand how services are priced. As a result, some companies find themselves looking at huge monthly bills.
This two-part article will look at AWS Billing & Cost Management Services, a group of tools that can help you view, understand, and control your AWS costs.
An Overview of AWS Billing & Cost Management Services
AWS Billing & Cost Management Services can be grouped into four categories based on their use cases. Let’s look at these categories and some of the most commonly-used services that fall within them.
There are a few services that belong to this category, but the most important one for cost management is AWS Organizations.
AWS Organizations is a service that centralizes billing, security, and compliance for all of your AWS accounts and environments. The effect of its use is generally more obvious for large enterprises with multiple AWS accounts, but small companies and even startups can still benefit from implementing it.
You can automate AWS account creation so that accounts are added to custom-defined groups based on your business needs. Later, you can attach various policies to these groups and provide or deny them access to specific resources in your cloud organization. This top-level control of your accounts gives you the flexibility to create proper layers of security. It also simplifies your job by allowing you to avoid the process of creating and applying the same policy to each of your accounts.
AWS Organizations enables you to configure and utilize services like AWS Single Sign-On (SSO), a handy tool for users working with dozens of AWS accounts on a regular basis.
Additionally, you can opt for consolidated billing by setting up a single-payer account and linking all of your other AWS accounts to it. Having all of your AWS bills in one place simplifies financial management. But, more importantly, consolidated billing gives you access to discounts based on the combined usage of the resources in all of your AWS accounts. When this service is employed, Amazon treats all of the accounts in AWS Organizations as a single account. Because the costs of some services (most notably S3 and Data Transfer) are lower the more you use them, you’ll reach these discounts sooner.
Unless you’re a very small startup with a single AWS account, AWS Organizations is a must-use service—especially since it comes with no cost.
While this category’s name suggests that this group is related to AWS Organizations, it’s not. A notable service in this category is AWS Cost Allocation Tags, a service that complements AWS Cost Explorer, covered in the next section.
AWS Cost Allocation Tags are used to design your own cost allocation system. A tag is a key-value label that can be attached to an AWS resource. Each key is unique and allows only one value. With Cost Allocation Tags, you can track all of your AWS costs in detail. This allows you to create granular parses of your spending, which most businesses today are finding very useful.
To use Cost Allocation Tags, add them to your resources first, then activate them. They will show up in your account section after you enable Cost Explorer, Budgets, AWS Cost and Usage Reports, or legacy reports. Keep in mind that Cost Allocation Tags begin working when you apply them to resources and enable them. You will not receive any cost data on resources for the time period prior to their implementation. It can take up to 24 hours for all of the tags to be enabled and to propagate within AWS.
When it comes to cost reporting, AWS Cost Explorer is the tool for the job. AWS Cost Explorer also belongs in two of the other AWS Billling & Cost Management Services categories,“report” and “forecast,” thanks to its ability to create reports and forecast future spending based on historical data.
AWS Cost Explorer allows you to track and analyze your AWS monthly costs in order to assess your monthly spending. Typically, when you look at your AWS bill to see your EC2 backup costs (which are usually the highest), you’ll see NAT Gateways, EC2 servers, and EBS Volumes pricing separated by instance type and size and by the region in which they are located. But, that’s as much detail as you can see.
However, if you tag your resources properly using AWS Cost Allocation Tags, as discussed above, you can track these costs very granularly. For example, if you have your bastion EC2 servers tagged differently than your frontend or your servers, you’ll be able to see the exact cost of running each of those servers and adjust accordingly.
AWS Cost Explorer also allows you to create custom reports, which can be useful when trying to justify your AWS bill to administrators. You can also use AWS Cost Explorer to predict future usage and costs with a decent amount of accuracy, allowing you to answer questions like, “How much can we expect to pay for our AWS Backup in the next few months?”
Creating and tracking your cloud spending budget is critical, especially when you’re expected not to exceed a number that was hard-coded in place by upper management. AWS Budget allows you to create custom budgets for your specific needs and requirements. If your costs—or even predicted costs—are about to exceed your budgetary limits, you can receive notifications via email, AWS SNS topic, or Slack. Five different cost thresholds can be set. You can later refine your budgets and track multiple dimensions by using various filters.
You can monitor your budget status using the AWS Budget dashboard, which shows all of your created budgets, how much has already been spent in each budget, and your forecasted costs.
Overview of AWS Cost Management Services
In this Part 1 of our Cost Management Services series, we covered services belonging to the Control, Organize, Inspect, and Budget groups.
AWS Organizations is the first service to set up when working with AWS, as it centralizes management of your cloud administration. Cost Allocation Tags and Cost Explorer offer detailed insights into your spending, allowing you to better understand where your money is going and prevent further “leaks” in your environment. AWS Budget is a great service when you want to create spending projections and be notified if any of your resources are about to exceed their thresholds.
In the next part of this series, we will continue with the Purchase and Elasticity group services, covering everything from Reserved Instances and Savings Plan to Autoscaling Groups and Instance Schedulers.