I am sure everyone would have been getting familiar with the new buzz word “FinOps”. In this blog post, I will be sharing my idea on FinOps.

Agenda:

Myth about FinOps

What is FinOps?

Deep Dive into FinOps Framework

My FinOps experience: Implementation, Recommendations and Challenges

Future of FinOps

Myth about FinOps

I am sure when everyone hears the word FinOps, all that comes to their mind is cost savings. This is just a myth. FinOps is more than Cost savings. FinOps is making sure that you maximise the cost value of all resources in the cloud. I will be explaining more on this below.

Another thing I have also observed is that most persons think FinOps is a race. Most managers or directors believe that all they need to do is implement FinOps once in their organisation and they will start to reap the benefits of cost saving in the cloud. I am here to tell you that FinOps is a process, a marathon and should be an iterative process in an organisation.

What is FinOps

“FinOps is an operational framework and cultural practice which maximizes the business value of the cloud, enables timely data driven decision making, and creates financial accountability through collaboration between engineering, finance and business teams”.

(Definition Updated: November 2023 by the FinOps Foundation Technical Advisory Council)

Looking at the definition of FinOps above from finops foundation, this illustrates that there is more to FinOps than just cost savings.

FinOps Framework

FINOPS EXPERIENCE – IMPLEMENTATION

My journey into FinOps started when there was need for migration into Azure and the company CIO was bothered about the cost implications. I was assigned to come up with a forecast, strategy and implementation.

AZURE & FINOPS

In these section, I will be discussing the Azure tools I used in implemention;

  1. Assessing Cloud Environment: The first thing I did was to make sure I had visibility into all resources deployed into Azure. This started from making sure I had the required Role based Access Control (RBAC) role from the management level. The Azure portal and Entra ID was beneficial for this.

I will recommend that the Azure Well- Architected Review Assessment tool is used by anyone planning to assess their cloud environment as this is free and reliable.

2. Actual cost vs Forecast Cost: This is me looking back into previous months to understand the current costs and also looking at forecast costs based on the on going migrations and usage in Azure. The Azure Cost management tool was beneficial as it is set tools that helps to monitor, allocate and optimise cloud costs.

3. Understanding Financial data: Based on the data provided on the cost management page and exporting most of the data billing into a storage account. I was able to connect via Microsoft Power BI to do a detailed data analysis on the resources, Resource Groups, Subscriptions, Location etc. This analysis helped` to visualise and share insights into the cloud costs. You can also use the Azure Cost Management Connector in the Power BI Desktop to make customised visualisation and reports that help you understand your Azure spend.

4. Findings, Recommendations and Presentation: After my findings, I was able to come up with a detailed report, came up with some FinOps plans and how it can be incorporated into the organisation. Based on my visibility, I was able to present some optimisation options we can implement and then constitute an operation state where we can deep dive more into continuous improvement and iteratively.

The CIO was impressed and agreed which then lead to introduction of FinOps into the company, the culture was encourage and the board accepted it.

After this, then lead to a stakeholder engagement where I needed to also present my findings to all the stakeholder (product management, project manager, cloud engineers, architect, security, network engineers etc) to follow the top-down approach.

5. Backlog of Recommendations: I had to create a backlog of my recommendation so that during every sprint, I can pick on one of my cost optimisation option and then implement it. This will give a visibility into actions and how I plan to achieve it. Azure Devops boards enabled me to plan, track and collaborate my work across stakeholders.

6. Evangelism: Talking about FinOps to every department, in team meetings and colleagues at any given time. I was given the mandate to make sure we have strong collaborations with engineers, finance, procurement, product teams, operations and executives. I became a FinOps evangelist in the organisation.

RECOMMENDATIONS

My recommendations below show some of the optimisation tasks.

  1. Budget and Alert: Creating budget and alert can help to monitor costs of azure resources. The budgets can be created based on forecast for the month and then review the budgets once a month to know if you need to increase or decrease. The budget can be set at 80%, 100% and 110% which can provide visibility on cloud spend. To create budget can be found within the Cost management tool in Azure.
  2. Idle usage reduction: This can also be termed as orphaned resources. Most times, orphaned resources can be significant on cloud bills. e.g. having an unused virtual machines still running or deallocated (as payment are still made for resources attached to it), storages no longer in use or even public IP addresses etc. Most times in bigger organisation, these type of resources can be costing the company a lot and that’s why there is need to make sure that if resources are not needed, they should be removed or deleted. It is nice to see that looking into the State of Finops 2024, the top of the key priorities for FinOps practitioner is reducing waste and unused resources.

3. Rate Reduction: The understanding of the following options and its usage Azure reservation, Savings Plans, Spot VMs, Dev/Test, Azure Hybrid benefit, On-demand capacity reservation can assist an organisation to reduce cost for up to 70% rather than Pay as you go or Pay as you use model. I had to research in depth into all these options and had to come up with the best options for the organisation. Please note that these options were discussed and the most suitable option/s was agreed and implemented in these case.

4. Policy definition: Based on the options above, a policy definition statement can then be created within the company to make sure all cloud resources needs to be compliant with policy definitions created. These policy document can be used during project or application development phase. This policy can also be defined and assigned on different scope using Azure Policy.

5. Rightsizing: The ability to right size resources helps to maximise cloud spend value. Oversizing cloud resources has lead to cloud wastage as it has been termed that 30% of Cloud spends are on wastages. I found over sized VMs, Storages, SQL v-cores etc. Right sizing this resources reduced cost significantly and using Azure Advisor tool can assist in achieving this goal.

6. Tagging: Having an appropriate tagging structure can help in cost allocation and cost chargeback. Tagging can help in knowing what each department cloud resources are costing and also help in knowing how to charge the department cost centres. According to one of the Principles of FinOps framework, it says “Everyone takes ownership of their cloud usage”. Tags can assist in achieving that.

7. Cloud-native workload: I believe use of cloud native architecture for application development can also help in managing costs in the cloud rather than the standard approach of lift and shift from onprem. Use of microservices, serverless, containers can help streamline and isolate independent services for high performance and scalability. This should be used when applicable.

8. Use of Cost Advisor: Azure Cost advisor is a tool on the azure portal that gives personalised details on cost effectiveness, reliability, security and performance. By taking advantage of this tool, it helps in cost optimisation. Please note that the recommendations can either be accepted, ignored or postponed. The tool does not force any of its recommendation on the subscription or scope.

Challenges

  1. Organisation alignment: Getting an organisation alignment with the introduction of FinOps practices was bit challenging. Even when you think this has been approved from the top and needs to be a top-down approach, you still find it difficult in getting everyone on the same page. Getting engineers, product managers, security teams, project managers etc to think of cost optimisation before application or development phases can be very challenging as they might see it as a shortcoming or making the architecture or deployment phase slow. These were just a few of my observations and I believe it will take longer for an organisation to fully align.
  2. Cultural changes: Incorporating FinOps culture can be a bit challenging as it takes planning, education, continuous learning, upskilling etc. Adapting this new change was a bit challenging as there were some blockers from different stakeholders but by drawing up a proper FinOps cultural plan and making it iterative seems to bring some breakthrough. You can read more on FinOps culture from FinOps organisation.
  3. Process: Engaging different stakeholders on this front was a bit challenging. FinOps being a collaborative effort involves collaborating with different stakeholders. Decisions taken has to be collaborate as these cost optimisation options cannot be enforced. The decision going through different stakeholder takes more time in its implementation. Approvals from different stakeholders also makes it challenging.
  4. Risk Assessment: Making most cost optimisation decisions should involve risk assessments. For example, right sizing should involve taking in lots of risks because if not done appropriately, this can cause massive disruption to applications and affect organisation reputation. In as much as I support this process, most times it can be daunting and challenging.
  5. Effort vs Time: Most times the effort needed to implement the recommendations for cost optimisation might not be worth the time it will take for approval. So juggling between Effort, Time and the cost saving could be challenging. I being a Cloud Engineer, having my daily BAU tasks and also trying to incorporate FinOps activities was challenging and that is why FinOps org advises that there should be a FinOps practitioner that will manage all FinOps activities within an organisation. There should always be a FinOps team in an organisation to manage personas and all activities within the organisation.

Future of FinOps

  1. AI in FinOps: With the new trend in AI, I see AI coming into FinOps. I know this has started but I see a big future in cost optimisation where it will be based on AI. With the introduction of AI in cost management in Azure, I believe this will help in future cost optimisations.
  2. Automation: As FinOps process is being incorporated into organisation, I see lots of engineers coming up with different automation tools in reducing cost and eliminating waste. This will lead to loads of shift left automation.
  3. Vendor FinOps tools: I see a rise in Vendor FinOps tools where an organisation just needs to plug in their tenant and it does all the cost optimisation processes. There are currently some vendor tools and I see a rise in use of these in the future.
  4. Sustainability: The more organisations implement FinOps practices, the reduction of carbon emission from datacentres and the more sustainable the global economy. I believe this will bring more about sustainability in the world.
  5. What if tool: I believe there will be more improvement on the what if tools that will be able to predict accurately how much it will cost with migrations from on-premise to the cloud. The total cost calculator and will be improved upon.
  6. FOCUS: With the introduction of FinOps Cost and Usage Specification from the Finops org and all major cloud providers coming onboard, I believe this will help to improve reporting, consistency and removing overheads in billing. Please read more about focus.

In summary, I have been able to share my thoughts and demonstrate how I was able to reduce cost by 65% using the power of FinOps.

I will be sharing more tips later on as there is still more to discuss.

Here are some useful links:

Microsoft documentation on FinOps – https://learn.microsoft.com/en-us/azure/cost-management-billing/finops/

Azure FinOps guide – https://techcommunity.microsoft.com/t5/fasttrack-for-azure/the-azure-finops-guide/ba-p/3704132

Cloud FInOps book (2nd Edition) by JR Storment and Mike Fuller

FinOps Foundation – https://www.finops.org/

Leave a comment

I’m Adedeji

I am a Microsoft MVP. Welcome to my blog. On this blog, I will be sharing my knowledge, experience and career journey. I hope you enjoy.

Let’s connect