For many organizations operating in the cloud, the primary objective is to enable developer productivity, without much attention to what it costs. While development speed and quality can be first and foremost priorities, there are ways to increase financial awareness and accountability in the cloud without sacrificing productivity.
Cloud financial management, also known as FinOps or cloud cost management, is a practice that helps you continuously optimize and align cloud investments to strategic business initiatives. In this article, we'll share a few effective strategies that organizations with a mature FinOps practice use in order to build a culture of financial accountability in the cloud across teams and lines of business.
Effective strategies to build a culture of financial accountability in the cloud
Visibility and alerts
Providing visibility, such as simply showing a leaderboard of the most optimized teams in rank-order can drive positive results. Taking this a step further, another effective tactic for changing behavior is to show teams when there's an opportunity to optimize and what the outcome would be. For example, showing an engineer that if they were to pick a smaller VM/instance size, they could save the company 50% in cost and still have more than enough performance to run their workload, can help adjust behavior. It’s important to integrate these alerts and reports into the familiar tools that are already in-use, such as Slack or JIRA.
Showback and chargeback
Many organizations start with a showback approach to show teams how much budget they’re using and which resources they’re consuming. This usually involves sending an invoice to teams and departments showing their spend over a certain period of time.
Once showback becomes more acceptable, organizations can then advance towards chargeback, where teams or cost centers are not only shown the costs of the services they’ve utilized, but charged for them as well. When teams have direct financial responsibility for their actions, behavior changes rapidly.
Tagging is an important practice for organizations that want to implement effective showback and chargeback. But tagging is only effective if everyone adheres to a global tagging policy, where assets are tagged with the same keys and values, and in the same format.
Misspellings, random capitalization, non-standard abbreviations, and irregular use of special characters to identify one user’s resources from another can all lead to confusing and incorrect cloud cost analysis and allocation. The situation is further complicated when tagging formats used in your on-premises infrastructure don’t match those of your cloud service provider or when your business operates in a multi-cloud environment, where different cloud service providers apply different rules to how tags can be used—or apply some rules to some resources and other rules to other resources. For example, AWS allows you to tag EC2 instances with any character, but doesn’t allow the same flexibility for other resources.
For these reasons, enforcing a global tagging policy is best done through automation. Cloud governance teams can create “tag checking policies” to ensure tags are applied consistently and conform to the global tagging policy. In the event of an untagged asset, a misspelled tag, or a non-conforming value, the automation solution can take a number of actions depending on how it has been configured. For example:
- If an asset is missing the tag “environment”, send an email notification to alert the asset owner
- If an asset tag is spelled “enviromnent” run a Lambda function to change the spelling to “environment”
- If an asset is tagged “env:prod”, and the global tagging policy is not to use abbreviations, the tag can be changed to “environment:production”
- If an asset is untagged for any reason, it's advisable to stop the instance and alert the asset owner
For more information on how to implement an effective global tagging policy for cloud cost allocation, we recommend the following resources:
- The Key to a Meaningful Cloud Cost Analysis is a Global Tagging Policy
- Guide: Building a Successful Cloud Operations and Governance Practice
- Creating Multi-Cloud Tagging Strategies
- CloudHealth Governance Policy Best Practices Guide for Cloud Financial Management
Another effective way to drive a cost-centric culture is by gamifying optimization among teams or lines of business. This can be done by sharing custom reports and dashboards that track where teams are in terms of adhering to budget, utilizing reservations, and so forth.
Below is a sample custom dashboard built within the CloudHealth platform, which was created by an engineering team in order to analyze their AWS cloud spend by project and owner respectively. On the left, they can see that the department is spending the most money on the Tour project. On the right, they can identify the individuals who are driving the most spend. In this case, Madolyn and Peter are consistently the top spenders. This is a way for the engineering team to gamify among project teams and owners in order to hold each other accountable for their cloud spend.
With this information available, you might even consider setting up a contest where the teams that take the most cloud cost optimization steps can win a prize.
Part of a successful cloud financial management practice
Whether you decide to move forward with one or all of these strategies for building a culture of financial accountability in the cloud, it's important to remember that it should all be part of a greater cloud financial management practice.
For more information, see our in-depth guide: Building a Successful Cloud Financial Management Practice