How to Implement FinOps Successfully - Episode 3
Now that you are starting to build your FinOps team and slowly changing your organizational culture, it’s time to start putting the teams to work - TOGETHER!
In this blog I will provide you with some tools and processes to get you started.
The Inform Phase
The FinOps lifecycle phases are a collection of processes to iterate on and you will always need to review these, no matter which stage you are at on your journey. The goal is to constantly improve your processes, add more business value and optimize cost over time.
You could start your FinOps journey at any point and still reap benefits, but I recommend starting with the Inform Phase. This will create a foundation within your organization, before you embark on trying to change behaviours and inevitably shut resources down in the future phases of Optimize and Operate.
I will cover the other phases Optimize and Operate later in this series, so stay tuned!
This phase is critical to help you understand what’s driving costs in your organization by increasing the visibility of costs across your teams, and allowing the finance team to drill down into how costs are allocated.
At the end of this phase, your engineering teams will be able to see how their actions impact the organization’s costs directly like they’ve never seen before. This gives them the opportunity to take accountability and will ultimately drive better behaviours.
Tools and Processes
Now let’s jump into the details of these activities and look at some tooling options to get us started.
Note: There are a many third party tools you can utilize in this phase, such as Cloudability, CloudHealth, as well as native tools at Microsoft Azure and Google Cloud available to assist you, however I am ex-AWS, so I will focus on AWS native tools in examples below:
Here are a few examples of AWS native tools that you can use to help you increase visibility and understanding of your cloud costs:
Billing & Cost Management Dashboard - Pinpoint the services that account for the majority of your overall spend, with a quick view of your main cost drivers within your Organization. The dashboard also helps you understand at a high level how your costs are trending by showing your last month, month-to-date, and month-end forecasted costs. You can also access other cost management tools directly from this page such as Cost Explorer, Budgets, Budget Reports, etc.
AWS Bills Page - Gives you visibility into costs incurred over the past month, as well an estimate for the current month (services, regions and linked accounts are shown here). A CSV file of your data is also available for download.
Anomaly Detection - Helps you identify spend anomalies and alerts you when unusual spend is detected.
Cost Explorer - Provides a deeper view into your costs compared with the Bills Page. Cost Explorer gives you a better understanding of your costs and usage patterns over time. You can filter and group your data to help identify what’s driving costs within your organization.
Furthermore, the RI Utilization & Coverage Reports in Cost Explorer is a great way to keep track your EC2 Reserved Instances (RIs)
Cost & Usage Report (CUR) - You can set up your CUR to display hourly, daily or monthly granularity. This is the most comprehensive set of data about your cost and usage. You can build your own dashboard or use third party tools that ingest CUR data to provide you a visual dashboard. As of December 2020, Cost and usage Report is now also available for member accounts in an organization. This is great news for the FinOps world, as it will save you time from having to provide those details to their linked accounts. Do yourself a favour: enable your CUR now!
When cost allocation is done properly, chargeback and showback become less complicated.
With traditional IT organizations depending heavily on CapEX spend, there is usually an approval process that supports budget and forecast needs, but this is not suitable when accounting for the cloud’s elastic consumption-based pricing models. This gap forces organizations to quickly shift to thinking more about OpEx and a lot of companies don’t have the tools or knowledge to keep up with the required tagging and account structures needed to make this work.
As a result, most finance teams have no idea where the cloud charges should be posted to, which creates a cost allocation issue. Below are four considerations to improve your cloud cost allocations:
Account Structure - Decide on an account structure that makes sense to your business. This will drive accountability and ownership of cloud spend and in conjunction with tagging, will enable chargeback/showbacks internally.For example, a consolidated billing strategy combines all linked account charges into one master account and therefore simplifying payments. Furthermore, it maximizes volume discounts, and Reserved Instance and Savings Plan usage across linked accounts with RI/SP sharing options.Services such as Control Tower, AWS IAM and AWS Organizations can assist you in setting up an account structure utilising desired controls and policies. There is also an AWS whitepaper available on multi-account strategies and best practices, if you wish to dive-deeper into the subject.
Tagging - Tags, or labels in some clouds, are metadata that you can assign to a resource, consisting of a key and a value. This helps you organize your costs and assign accountability to teams. There are a few basic tagging strategies examples, such as Technical, Automation, Security and Business Tags. Usually though, we use Business Tags to associate costs such as application owners, projects, cost centers or business units.
Note: tools such as Cost Explorer allows you to break down costs by tags. But a cost allocation report can include any tag to let you associate costs with technical or security dimensions, for example.
Try to decide on your tagging taxonomy as early as possible as it can become difficult to manage your resources as you scale without tags.
There is no right or wrong when designing a tag strategy but ensuring you have one will make it easier for you to track your costs and manage your resources more effectively (again, the earlier in your journey you enable cost allocation tags, the better). Start simple, don’t overload tags and ensure consistency in consolidated account families.
Reporting on Shared Costs - You will probably face some situations where you won’t be able to easily identify cost owners for certain services or resources. For example: support charges, data transfer costs, Reserved Instances & Savings Plan commitments - while offering great savings, these can add complexity in chargeback/showback models as they are hard to pin on one group, so having an internal alignment on how to allocate these costs is a must if you are to avoid future misunderstandings amongst teams.
AWS Cost Categories - Helps you categorize cost information into custom groups and you can visualize and monitor your spend in Cost Explorer, Budgets and Cost and Usage reports. Check out this blog for some getting started tips.
Benchmarking Performance (FinOps)
Benchmarking allows you to track progress and to know how your organization and individual teams are performing in terms of optimization (utilization, tagging, purchasing models, etc.), performance and quality.
Some examples metrics and KPIs to use in your benchmarking, are:
- Budgeted vs Actual spend - Are you spending what is expected?
- EC2 Savings Plans Usage Coverage - Are you reaching your utilization target?
- % Resources tagged and untagged - What costs are not being accounted for?
- Business Units or Application Spend - How much each BU is costing the business?
Defining those metrics and KPIs can assist teams in focusing on what’s important to the business and offering a rewards and recognition system can be a great way to keep staff motivated.
Budgeting & Forecasting
It is crucial for businesses and financial stakeholders to plan cloud costs and ensure a Return of Investment (ROI). Being able to accurately forecast spend allows you to budget effectively and avoid bill shocks.
Pro-Tip: position your budgets as an investment that empowers innovation, instead of inhibiting it.
AWS Budgets, Budget Reports and Budget Actions is an easy way to automate your cost monitoring. Here you can set up budgets for cost, usage and Reservations/Savings Plan and set alarms to be triggered based on actual or forecast costs. AWS will alert you via email when you exceed your threshold.
- AWS Budgets - Shows your forecasted costs or usage compared to your budgeted amount. Best of all, it’s integrated with other services such as Cost Explorer, so your cost and usage details can be easily accessed and visualized.
- Budget Reports - You can select which of the budgets you have created should be included in a report, and set a frequency for delivery to appropriate stakeholders.
- Budget Actions - Act on your behalf and stop resources when your budget threshold is reached.
I know that implementing a FinOps practice can be overwhelming, challenging and it is a lengthy process - I can assure you that you are not alone!Start small, ensuring you have enough cost visibility to empower your engineering teams to take accountability for their spend, and improve overtime.My ultimate goal with this blog is to equip you with tools and processes. This can help you increase your organization’s cost transparency and improve the allocation of its cloud infrastructure costs. Furthermore, it will enable teams to use cloud resources more effectively and take accountability for their spend.Remember:
💡 It’s not only about saving money, but about driving business value and innovation.
💡 Take your time to learn and understand FinOps and its concept of Crawl, Walk, Run and start small! You will have to start eventually (hopefully before you get hit by a horrendous bill), so why not take this time to embrace the challenges and enjoy the ride on the Cloud and Finops journey?
➡️ Next up: “The Optimize Phase” of Finops Lifecycle where I will provide some guidance on how to Optimize and stay Optimized! Follow Tidal to stay in the loop!
-Shana Cunha Director of FinOps Strategy, Tidal