Introducing FinOps – Cloud Cost-Optimisation
The FinOps Foundation defines FinOps as “An evolving cloud financial management discipline and cultural practice that enables organizations to get maximum business value by helping engineering, finance, technology, and business teams to collaborate on data-driven spending decisions.”
FinOps is not a specific technology or single process, it’s a cultural practice whereby everyone involved in cloud usage takes ownership, control, and accountability for cloud spend. Engineers, infrastructure teams, product owners, executives, finance and operations all come together following the FinOps culture in order to improve cost efficiencies, cost visibility and cost predictability going forward. With the overall goal of cloud cost-optimisation.
Why do I Need FinOps for Cloud Cost-Optimisation?
Cloud adoption and the usage of cloud technologies continue to grow across all organisation sizes and markets. One of the biggest changes a company faces when adopting cloud technologies is switching from a traditional CapEX (Capital Expenditure) spending model to OpEx (Operating Expenditure), meaning cloud spend is tied to day-to-day operational spending instead of larger one-time purchases every few months or years.
The change in cost model introduces its own challenges for organisations, including unpredictable bills, spiralling costs, and cost inefficiencies due to waste. Due to the aforementioned challenges, it’s important that cloud spend is monitored and controlled correctly and that’s where FinOps can help.
An Introduction to the FinOps Principals
The FinOps culture and methodology are guided by six core principles. All of which are equally as important and should be practiced by everyone responsible for cloud spend. Let’s take a look at each one.
Everyone within a business needs to work together and collaborate to monitor, control and improve cost optimisation. FinOps is not just a focus for the finance team.
Everyone must take ownership of their cloud usage. Product teams should budget and own the cost of their specific products. Engineers and architects must think about costs when designing and building workloads. Software developers should see cloud costs as a trackable metric that’s just as important as other metrics such as performance.
3. FinOps Team
Create a specific centralised FinOps team within your business that can focus on FinOps best practices, and processes and encourage others within the business to focus on their specific FinOps tasks. Similar to governance or security teams whereby they own the processes and best practices, yet everyone within the business is responsible for their specific tasks.
The FinOps team would usually focus on areas such as process creation, utilisation, discounts, negotiations, customisations and licensing.
4. Accessible and Timely Reporting
It’s imperative to have visibility of cost data that is updated in real-time and accessible by everyone at all levels of the business. This helps to drive efficiency and cost-optimisation whilst empowering team members to make decisions quickly.
Alongside cost data, the visibility of resource changes and cloud service activity logs is also very useful as this can explain why a specific cost has increased and assists with accountability.
5. Business Value of the Cloud
FinOps and cloud solution cost-saving exercises should always be balanced against your business decisions, desired outcomes and reasons for adopting cloud technologies in the first place. It would be very easy to cut costs from any cloud bill if you blindly ignored the negative effects it would have on performance, speed, agility or user experience.
Be practical with your decisions and technical designs to ensure a workload first and foremost meets your required outcomes. Then see how you can optimise costs within those parameters.
6. Take advantage of the cost model
View the OpEx cost model as an opportunity to add value and increase agility instead of something that is a blocker or added risk.
To implement FinOps within your business, you must think of it as a lifecycle that covers three specific phases of FinOps Management:
The first phase of the FinOps lifecycle is ‘Inform’ and this is all about understanding and reporting on your current costs in order to use the information to inform the rest of the business. The more you know about your current spending and cost control, the more informed you will be going forward to make the right changes and decisions to optimise costs.
The key areas to think about include budgeting, forecasting, allocation and visibility. Microsoft Azure includes a cost management service that will assist with many of the key areas of focus including reporting. However, you must ensure you are tagging resources with key information such as owner, product or cost code. The more information you assign to a cloud service, the easier it will be to report and in turn, inform the rest of the business of the gathered information.
The ‘Optimise’ phase is where you start to use the information you’ve previously gathered and take actions that have a tangible effect on your cloud spend. A few key areas of focus include:
- Use performance metrics and reporting to right-Size resources
- Automate shutdown and startup of resources
- Utilise licensing benefits such as the Microsoft ‘Hybrid Use Benefit’ where applicable
- Commit to long-term usage and reduce costs using options such as Reserved Instances
- Continuously research new ways to save costs as cloud providers change or modify services
The third stage of the lifecycle is ‘Operate’. Operationally you should be looking to continuously improve your FinOps culture and monitor against the goals and processes you have previously defined. Set up meetings between FinOps team members, measure against set KPIs and document improvements that are visible to everyone. Work collectively and improve the culture as you work through the cycles.
As with any introduction of a new culture within a business, don’t expect it to be instantly perfect. Actually, it’s advised to take a “Crawl, Walk, Run” approach when implementing FinOps within an organisation. Take small steps and focus on specific scopes at the beginning to test your processes and approach. As the maturity grows, scale out what does work for you and improve what isn’t working.
Top 5 FinOps Tips for achieving Cloud Cost-Optimisation
Finally, I will leave with my top 5 tips for FinOps:
- Tag Resources: Reporting is only useful if it provides relevant information. Tag resources with useful information such as owner, cost code or product and then use this information in cost reporting to understand allocation and areas for improvement.
- Set Budgets: Understand your specific budget per workload and then set up alerts to ensure you’re notified if your budget has been exceeded.
- Balance Costs: Balance costs against the value cloud services can provide to your business. Get the balance right between cost, performance, agility, speed and maintenance overheads. Costs are not always the most important thing for a business.
- Start Slow: FinOps is a culture and not something that can be learned and implemented in a matter of hours or days. Go through the FinOps phases and look to continuously improve and learn from the process.
- Automate to Save Costs: Understand the usage of all your cloud services and where possible automate downsizing or shutdowns to drive efficiencies with your cloud spend. If a workload isn’t being used, you shouldn’t be paying for it.
Transparity’s Azure Practice and FinOps
With a team of experts dedicated to infrastructure and the Azure cloud, our specialists have designed a full offering to help any organisation, no matter at what place in the journey, understand and implement FinOps. If you are interested in cost-optimisation and better cloud financial management, why not get in touch and find out how we can help.