10 Cloud Cost Control Enforcement Best Practices

Complete FinOps Guide
Chapter 4.2 Best Practices: Cloud Cost Control Enforcement

The first chapter of this guide introduced a methodology for organizing cloud computing assets to enable cost allocation reporting. We explained how to optimize the usage of cloud computing resources in the second chapter. Our third chapter focused on recommendations to obtain the highest available purchasing discounts. These measures lead to more efficient cloud use; however, a large enterprise can’t sustain efficient spending without continuous enforcement.

The enforcement of cost control hinges on creating a repeatable process. A one-time project can summon all stakeholders to isolate and remove cloud waste once before it accumulates again; however, sustained responsible cloud usage requires the implementation of these 10 best practices covered in this article.

A centralized FinOps team
A centralized FinOps team

1. Create a centralized FinOps organization for cloud cost management.

A large organization usually has more than one line of business, each making individual buying decisions daily. The typical evolution in public cloud adoption ultimately requires centralized coordination that includes the following benefits:

  1. Better negotiating leverage with cloud providers based on volume discounts
  2. Cross-pollination of cloud cost management best practices across departments
  3. Standardized reporting to help executive oversight and financial accounting

Creating a centralized FinOps organization requires a CFO’s recognition that the aggregate cloud spending across various business units has reached a significant percentage of the overall corporate expenses. The monetary value of this threshold varies greatly depending on the company’s size, but it almost always results in an executive appointment of centralized leadership in cost control.

The centralized FinOps team should operate as an internal vendor to the company. Passively emailing reports won’t achieve the desired results. This proactive approach requires the FinOps team members to:

  1. Market their services to application owners (or business units or cost centers).
  2. Analyze cloud usage and billing data to generate reports for each business unit.
  3. Manage each project similarly to a structured professional service engagement.

2. Report widely to raise cloud cost management awareness

Once a centralized FinOps practice has been created and before any other systems and processes are in place, raising awareness is the priority. The best way to get attention is to publish cloud cost reports widely throughout the organization and include both engineering and executive management.

Some would argue that the FinOps team must first separate the spending reports by cost center before sharing them widely with business and engineering managers. The argument goes that however dramatic the increase in spending may be, there isn’t much each manager can do without being presented with the costs allocated for their specific usage and without further instructions. However, sharing the aggregated cost reports without delay serves a few objectives:

  1. It legitimizes the centralized FinOps team with a mandate to lead the effort.
  2. It lets managers know that cost allocation can’t happen without their help.
  3. It prompts the most sophisticated and diligent managers to step forward.

3. Start with the application owner most motivated about cloud cost management

Once a FinOps practice is created with a mandate to enforce cost controls, the initial instinct may be to issue corporate-wide directives immediately. However, creating new processes, implementing new systems, and designing best practices are complex tasks that require iterations to refine. The most effective approach begins by collaborating with a single application owner on a single project with a limited scope.

The first team must be independently motivated and have a genuine interest in achieving financial savings. By focusing on one project, the FinOps team can dedicate the time to delve deep and gain the knowledge required to design practical policies applicable to the entire company.

4. Engage the cloud cost management stakeholders early in the process

FinOps is a team sport and requires engagement from all stakeholders. You must remember that system administrators and engineers are the ones that will implement the time-consuming configuration changes resulting in cost savings, and they wouldn’t do so without the express request from their managers. Furthermore, the same system administrators view some of the waste generated by under-utilized systems as the headroom that provides a margin of operational safety. They are unlikely to remove it without being explicitly requested.

FinOps success requires financial managers to recognize the need for cost savings and create a FinOps team who must convince application owners to enlist technical managers to set priorities for the system administrators to carry out the configuration changes that lead to cost savings. The sooner you engage these stakeholders, the more time you have to mobilize them and organize the required downstream activities.

5. Schedule monthly cloud cost management reviews

The cloud providers send their bills each month, making it an appropriate time to schedule reviews with the stakeholders. The regularity of the meetings sets a pace for the systematic governance process. It’s natural for the FinOps team members and the application owners to be reluctant to attend meetings before itemized cost allocation reports are available for review. However, this collaboration is required to isolate the cloud assets used by each application and break the vicious cycle of cost allocation reporting.

6. Create cloud cost management allocation reports.

The first order of business in a new FinOps engagement with an application owner is to collaboratively create a detailed and comprehensive itemized cost that shows the cloud usage costs allocated to a specific application. “Showback” is often used as a term referring to this report (a play on the word “chargeback” described in the previous article in this chapter). The application owners can use this report to understand the trends in their specific cloud usage and identify savings opportunities with the help of the FinOps team.

However, the billing provided by the cloud providers doesn’t distinguish between client applications. It intermingles the usage of cloud services (such as EC2, EBS, RDS, CloudFront, S3) across the application boundaries (such as e-commerce, billing, CRM, ERP). Applications also share some cloud resources (such as firewalls or networks), further complicating cost allocation. This challenge is why FinOps teams should collaborate with application owners and follow the instructions in the first chapter of this guide (Organize) to implement the functionality required for reporting cloud costs by application.

7. Forecast cloud cost management budgets.

Once the historical cloud costs for every cloud service (EC2, EBS, RDS, S3) are decomposed and allocated to each application, FinOps practitioners must extrapolate spending into future months based on trends and financial targets to proactively guide future spending. The systems administrators will then have a specific spending allotment at the beginning of each month. The FinsOps team and the application owners must then compare the actual spending to the budget for each line item during monthly project review meetings, thereby achieving a mature level of cost governance control.

8. Create and promote internal cloud cost management case studies.

The first realized savings serve as effective content for case studies that can motivate other teams to follow suit. The initial engagements help define the best practices, processes, and systems and act as a reference for future projects. The FinOps team is responsible for marketing its services to other groups who resist investing the resources necessary to avoid wasteful cloud spending and can benefit from presenting such case studies.

9. Cater to different levels of cloud cost management sophistication

Application owners have different levels of technical expertise in managing their application infrastructure. Some application owners come from a sales or business background, while others rose through the technical ranks.

Intel’s founding CEO (Andy Grove) introduced the notion of Task Relevant Maturity (TRM) in his book titled High Output Management. The idea is that even experienced managers may require step-by-step hand holding if they are new to a particular task. Mature managers are self-sufficient and can be measured according to key performance indicators (KPIs), while those new to this task require attentive support.

FinOps teams must manage their engagements with application owners according to relevant task maturity. They must be ready to bring engineering resources to help some teams implement configuration changes while remaining hands-off with other groups and simply reporting on their progress.

Task delegation must happen based on urgency and Task Relevant Maturity
Task delegation must happen based on urgency and Task Relevant Maturity

10. Implement a cloud cost chargeback program.

The previous article in this chapter of our guide introduced the concept of “chargeback.” This approach treats each line of business as a customer and provides a bill tailored for their applications. A chargeback program holds the general manager of each line of business responsible for the profit and loss of its operations, thereby creating a strong incentive for the application owners to reduce wasteful spending. Public cloud spending becomes an expense item reducing profitability targets of each line of business if not managed carefully.

Last Thoughts

A FinOps practice is not effective without enforcement. Changing corporate behavior is a tedious task that requires new processes and systems best seeded with a pilot program and gradually scaled over time.

Continue Reading this Series