For your small or medium business (SMB) to get maximum return on its IT investments, you must build a strong foundation of cloud financial management capabilities. IDC surveys (2022) show that cloud infrastructure and Platform as a Service costs are topping the list of the highest area of cost containment concern (53%). At the same time, IDC estimates companies that do not have strong cloud financial management waste 10–30% of public cloud spend. Let’s look at the bigger picture around cloud.
Why transition from on-premises to cloud computing?
On-premises datacenters require expensive, upfront purchases of hardware to support peak capacity, even if you do not always need it. During times of uncertainty, you may also choose to postpone regular hardware replacement cycles to reduce your IT budget, with a tradeoff of decreasing reliability.
Alternatively, utilizing the cloud offers significant advantages:
- Using a pay-as-you-go pricing model
- Scaling your environment up and down to meet demand
- Conducting quick experiments to allow for the development of new products to enter new markets.
Consider embracing these advantages and adjusting your operations to fit a more dynamic approach. We’ll share three key areas to manage cloud costs with Amazon Web Services and what native tools are available. You will learn how to generate and analyze billing data, as well as optimize costs. As a pre-requisite, you will need an active AWS account.
Implementing cloud financial management requires tooling and varied skillsets. But if you do not have a dedicated resource in-house, you can work with a SMB expert in the Amazon Partner Network.
Generating billing data
The first step in enabling better cloud financial management is to have visibility to AWS billing data. It can be generated within your organization aligned to Key Performance Indicators (KPIs). The following five KPIs are a baseline that we recommend.
- Monthly growth: Examining your monthly growth periodically allows you to gain a line of sight into how quickly your AWS implementation is growing in terms of your overall costs.
- Pricing model coverage: If you are using Amazon Elastic Compute Cloud (EC2), and scaling up your usage of AWS, there are pricing models that you can use to achieve greater savings, like Spot instances, Savings Plans, and Reservations.
- Cost by common services:
- EC2 cost: Customers see EC2 accounting for a larger portion of their costs, and we recommend tracking it at a more granular level of detail (such as daily or hourly).
- Amazon Elastic Block Store (EBS): These costs are a sizable portion of overall resource costs. EBS volumes attached to instances continue to accrue charges, even when the instance is stopped. We recommend that you track mix of EBS types, unattached EBS volumes, and fully leverage EBS snapshots for backup.
- Amazon Simple Storage Service (S3) costs by storage class: If you are using S3, you can review the various storage classes that your organization is using and configure lifecycle policies to ensure that you aren’t incurring unplanned costs.
- Unit cost: AWS resources in their respective units of consumption can be used to quantify engineering efficiency, so it’s important to calculate them.
- Business value per unit cost: You can create a value based KPI to track against your business priorities. For instance, EC2 unit cost can show your average unit cost per business activity. The unit can be any object of value in your organization, such as subscribers, API calls, or page views. The unit cost is the total cost of a service divided by the number of units.
It’s important to define the KPIs that matter most to track their efficiency and optimization—it is how you will able to analyze and understand your costs. You should adopt the following practices as a baseline.
- Utilize AWS Organizations to consolidate your billing to a central management account. This gives you the benefits of having a single bill, easy tracking, and combined usage to count toward volume discounts, with no extra cost.
- Define a cost allocation tag strategy. You can tag AWS resources with key/value pairs that you define. Use these key/value pairs to correlate costs to specific projects, environments, or billing units. For example, you may tag resources with a tag key of “CostCenter” and values such as “Accounting” or “Sales.” It’s important to activate the cost allocation tags in your management account to use in AWS cost tooling.
- Enforce cost allocation tags using a tag policy within AWS Organizations. Creating a tag policy will require that resources tagged in your organization include tag key & value pairs you define as valid.
Enabling these features in your AWS Organization will provide you with a baseline of billing data that your SMB can then use to understand costs.
Analyzing billing data
Once you have consolidated and enriched billing data, you can use a variety of AWS or third-party tools to analyze that data to understand your costs. Two ready-to-use tools in the AWS Billing and Cost Management console enable you to analyze and consume your billing data: AWS Cost Explorer and AWS Billing.
Next, you should create budgets in the AWS Billing Console to track costs and proactively notify when you will exceed your budget. You can create multiple budgets and use forecasting to alert proactively. Budgets can look at total cost, or break costs down along the same dimensions as AWS Cost Explorer including your defined cost allocation tags. You can also create budget reports to e-mail consumers on a regular basis without needing to provide access to the AWS Console.
Finally, if you subscribe to AWS Support at the Business Plan or higher, you can generate alarms and notifications using AWS Trusted Advisor findings – cost category. Trusted Advisor can help you save cost with actionable recommendations by analyzing usage, configuration and spend.
Once these measures are in place, you will have capabilities to understand what workloads and resources are contributing the most to your AWS billing. Use this information to help prioritize where to focus your efforts on cost optimization. For example, SMB customers tend to prioritize and focus on the top 25% contributors to the overall AWS bill.
Now that you have generated enriched billing data and have capabilities to analyze and understand that data, you can effectively begin to cost optimize your operations on AWS. Successful cost optimization efforts assign responsibility to specific teams, actively review data, and act on a regular cadence. Identifying operating costs of workloads typically involves three distinct phases.
- Phase 1: Right-size your workloads and match your resources to demand. You can utilize the AWS Compute Optimizer to receive recommendations on compute resources you are using, and can analyze other resources using Amazon CloudWatch
- Phase 2: Take advantage of reserved capacity by using Reserved Instances or Savings Plan to save up to 72% on infrastructure costs. You can receive recommendations in Cost Explorer, and reserve capacity required for at least another year.
- Phase 3: Re-imagine workloads and modernize into more cloud-native architectures, which leads to the largest savings.
In this post, you learned how to enable cloud financial management for your organization using AWS tools and best practices. Cloud financial management is an on-going process that you should periodically work on as your SMB evolves over time. Evaluate your KPIs regularly to ensure you are generating the right data. This figure is a helpful reminder whether you’re new to managing cloud costs or more advanced.
Adopting these practices can help you identify cost savings and enable further growth. As a next step, we recommend the following resources:
- For more information on adopting these practices, refer to the Cost Optimization pillar of the Well-Architected Framework and our AWS Cost Management Portal.
- If you’re still new to managing cloud costs, learn how find potential cost savings for small and medium businesses
- If you are looking to integrate your billing data with your own custom reporting, or want help optimizing costs, reach out to your AWS account team.