Allocate cost for your cloud environment
- Implement a showback-based cost allocation mechanism for cloud costs
- Implement a chargeback-based cost allocation mechanism for cloud costs
- Drive business value by quantifying the total value of migrating a workload to the cloud
- Ensure cost is a design trade-off during new workload migrations and born-in-cloud workload
Leveraging metadata across your environment helps you to accurately allocate cost for workloads and applications. Using a showback approach, you can identify the costs incurred by a business unit, product, or team. Showback refers to reporting that breaks down cloud costs into attributable categories such as consumers, business units, general ledger accounts, or other responsible entities. The goal of showback is to show teams, business units, or individuals the cost of their consumed cloud resources.
Material spend, however, may not be accounted for due to the lack of enforcement of tagging mechanisms. To remediate this issue, group your different resources and establish boundaries between them. This will help identify how those groups of resources are using their assigned budget across different stages of the software development lifecycle.
Create categories to consolidate groups of resources based on your business needs. Examples of categories include Business Unit, Product Line, or Environment. Once these categories are set up, you can use them to monitor category-based cost and usage information. Additionally, you can retrieve meaningful information from these groups of resources, such as who created the resource or the line of business to which a resource belongs.
Leveraging infrastructure as code (IaC) to deploy infrastructure and resources for your workloads will allow you to consistently apply tags from your tagging dictionary, avoid untagged resources, and enforce your tagging policy. These actions will help you allocate costs for your infrastructure when needed.
Cost allocation methods allow you to carve out material cloud charges, including commitment purchases, standalone resources, and shared resources. These methods include networking, log retention and archival, security tools, and operational tool charges. Establishing chargeback mechanisms will allow you to report costs incurred by different business units, products, and teams.
As you develop reporting capabilities, you should also learn how to create a showback mechanism.
The first step in creating a showback mechanism is to define the allocation dimensions you want to use for reporting. This will vary from customer to customer. These are three mechanisms you can use:
- Use Cost Allocation Tags based on the existing tagging dictionary
- Use Cost Explorer filters
- Use Cost Categories to aggregate combinations of dimensions to filter in AWS Cost Explorer
For example, if you want to showback on a per project basis, you would use the dimension(s) that identify the project. You may have a tag named Project, so you can use the group-by setting in Cost Explorer to group the values of the project tag. Reference Guidance for Tagging on AWS for additional information about tagging resources in your AWS environment.
To showback a specific project’s costs, you can implement a filter in Cost Explorer on the Tag dimension to only display the costs related to a specific value of the Project tag.
If you want to show costs for a specific team in a specific environment (such as a Cloud Platform team in a development environment), then you can choose a combination of tags called Team with a value of Cloud Platform, using an AWS account for your development environment.
As tag combinations in Cost Explorer get more complex, creating and maintaining various combinations of tags and filters can become difficult to manage. AWS Cost Categories allow you to use rules to dynamically organize one or many dimensions into meaningful categories. You can create Cost Category rules based on a combination of Accounts, Cost Allocation Tags, Services, or Charge Types. You can also nest other Cost Categories inside a rule and create multiple rules per each Cost Category. Cost Categories can be used as Cost Explorer filters or groupings, similar to tags in the previous examples. Once created or changed, Cost Categories take up to 24 hours to process. Review the Creating cost categories section in the AWS Billing User Guide for additional information.
Some customers may require a way to showback costs on a per-account basis and a way to provide individual bills to entities like business units. In these cases, use
AWS Billing Conductor
. This service allows you to create
Billing Groups
that divide the charges for an account or set of accounts and produces an invoice for the charges of the Billing Groups. You can also create
custom line items
to add in charges that may not be split in the invoice or are not taggable, like support charges or data transfer.
Showbacks are a representation of charges incurred. Chargebacks are the actual charge to a profit and loss (P&L) through accounting processes, such as financial systems and journal vouchers, based on defined categories. Chargebacks are not an invoicing process but a way to allocate expenses to various stakeholders.
To implement chargeback, a showback mechanism must already be in place. We recommend using a combination of Cost Allocation tags, Cost Categories, and Cost Explorer reports. Building on the showbacks, you must decide on the cost allocation of un-taggable or shared resources. You can tag or categorize shared resources accordingly and quickly surface the value of untagged resources using Cost Explorer. Under the Advanced Options in the console, check the box Show only untagged resources which allows you to group these resources by Service, Linked Account, or other options.
You must decide on the most appropriate allocation model for un-taggable or shared costs. The most common models are an even split across business groups, charging proportionally to spend, or a fixed cost. To help calculate these costs, regardless of allocation method, we recommend leveraging split charges within cost categories . By defining the source category (such as infrastructure services or networking) and targets (such as business units or workloads), you can calculate the correct chargeback based on your allocation method each month. However, this feature only does the calculation and reporting. The split charges would not appear in any other AWS Cost Management tools.
To provide a single source of truth for showback and chargeback that is integrated with AWS Cost Management tools, use AWS Billing Conductor. New mutually exclusive billing domains within a consolidated billing family can be created using billing groups, and each billing group can be defined with the rates you want applied to the usage. Split charges can be added to the bill using
custom line items
or charging or crediting based on either a percentage of spend or a fixed cost. Once configured, each billing group can generate its own pro-forma
AWS Cost and Usage Report
that can be analyzed using Amazon Athena and visualized using Amazon QuickSight dashboards, such as Cloud Intelligence Dashboards (CIDs).
A business case for moving to the cloud should include value benefits beyond the cost savings that exist today for an organization. To quantify the total value of a cloud migration, you will need to build a comprehensive business case by measuring and tracking progress against four key dimensions of value, including the following:
- Cost Savings is the total cost ownership (TCO)-based benefit of moving to the cloud
- Staff Productivity is the full time equivalent (FTE) productivity gained from reducing or eliminating tasks no longer needed with the cloud
- Operational Resilience is the benefit from improved availability and security
- Business Agility is the ability to respond faster and increase experimentation
To begin building a cost-focused migration business case, you can use AWS Migration Evaluator—at no cost—to collect data from your existing environment. Following data collection, this service will create an assessment that includes a projected cost estimate and savings of running your on-premises workloads in the AWS Cloud.
Using the data collected from AWS Migration Evaluator, you can work with your AWS account team to engage the AWS Cloud Economics team. To help customers better understand the impact of a cloud transformation, the AWS Cloud Economics team established the Cloud Value Framework (CVF) . The CVF helps you build a more holistic business case to present to decision makers.
Ensure cost is a design trade-off during new workload migrations and born-in-cloud workload designsIt is important to consider cost at every stage of a workload’s lifecycle. A cost-optimized workload fully uses all resources, achieves an outcome at the lowest possible price point, and meets your functional requirements. There are trade-offs to consider for cost optimization. For example, you might consider whether to optimize for speed-to-market or for cost. In some cases, it’s best to optimize for speed—going to market quickly, shipping new features, or meeting a deadline—rather than investing in upfront cost optimization.
Investing the right amount of effort upfront in a cost optimization strategy allows you to realize the economic benefits of the cloud more readily by encouraging consistent adherence to best practices and avoiding unnecessary technical debt.
The AWS Well-Architected Framework provides architectural best practices, around six pillars, for designing and operating reliable, secure, efficient, and cost-effective workloads in the cloud. As you consider trade-offs, it will help to review the design principles in the Cost Optimization Pillar .
With the help of an AWS Solutions Architect or an AWS Technical Account Manager, you can conduct Well-Architected Reviews throughout the lifecycle of the workload. The
AWS Well-Architected Tool
tracks recommendations and remediations from the findings of the review.
Step 1