Skip to content

Adopting FinOps: Maximising financial efficiency in the public cloud

More and more companies are migrating to a public cloud, often neglecting a crucial aspect: FinOps! This approach has gained significant importance with the advent of public clouds because the economic model changes from a private cloud, shifting from CAPEX to OPEX. Let’s examine the implications and benefits of this new practice together.

Paradigm Shift

The transition from a CAPEX to an OPEX economic model radically transforms the thinking and organisation of cost management. With the CAPEX model, infrastructure is purchased in one go for a significant sum, then amortised over 3 to 5 years. This centralised model requires going through the “Purchasing Department” systematically, which can make processes long and complex.

In this configuration, technical teams use the infrastructure without necessarily worrying about usage as long as resources are available. On average, 10 to 15% of servers could be eliminated without impact. From a green IT perspective, this is not optimal, as it leads to unnecessary electricity consumption.

It is like our garages or basements at home: as long as there is space, we store our stuff without thinking. OPEX allows you to pay only for what you consume or provision, similar to your electricity or water bill, enabling a thorough consideration of usage, ensuring consumption is limited to what is strictly necessary.

This model promotes precise tracking of usage and needs. Unlike the centralised model where the purchasing department is the sole decision-maker, OPEX establishes a decentralised system where all departments of the company are involved:

  • The engineer creates the resource, thereby triggering billing.
  • The product owner monitors the usage and consumption of their application scope.
  • The finance department oversees and manages the overall budget.
  • The FinOps practitioner ensures that all best practices are followed and implemented.

The FinOps Approach

This collaborative approach is structured around 3 main pillars: Inform, Optimise and Operate. It is an iterative cycle to be adapted to each company according to its means and ambitions.

It is essential to implement this approach from the start, for both small or large organisations. As in life, it is important to progress gradually according to the maturity of the organisation.

Inform

To effectively perform cost analysis in Azure and facilitate the allocation of expenses by Business Unit (BU), as well as to set budgets and detect anomalies, you can follow these actions:

  • Design an intelligent hierarchy of management groups, subscriptions, and resource groups.
  • Define a tagging convention with mandatory and secondary tags.
  • Use Azure Policy to enforce tags on resources so that all Azure resources are tagged.
  • Define a budget per subscription and set up notifications.
  • Define dashboards with cost management (Azure’s native tool) or create Power BI dashboards to establish precise and granular views.

Optimise

This phase allows for cost optimisation actions based on three main axes:

Technical Optimisation (25-30% optimisation):

  • Proper sizing of resources.
  • Wise choice of storage redundancies (LRS, ZRS, GRS, GZRS).
  • Identification and deletion of orphaned resources (disks, snapshots, etc.).
  • Deactivation of provisioned but unused resources (turned-off virtual machines, app service plans, etc.).
  • Shutting down machines at night if possible.
  • Use of Spot virtual machines for testing, pre-production, and development.
  • Implementation of auto-scaling.
  • Modernisation of applications.

Financial Optimisation (50-60% optimisation):

  • Reservation of instances.
  • Savings plans.
  • Use of Azure Hybrid Benefit.
  • Use of SQL IAAS Agent.
  • Development and test subscriptions (Dev & Test).

Contractual Optimisation (15-20% optimisation):

  • Contracting with Microsoft to benefit from financial advantages.
  • Resource consumption commitment (MACC).

Operate

This final phase aims to improve and automate processes:

  • Clearly define responsibilities.
  • Establish effective governance (e.g., organise a monthly committee to review instance reservations based on ongoing projects).
  • Raise internal teams’ awareness of the importance of cost optimisation.
  • Define and monitor optimisation objectives.
  • Create scripts to detect optimisation opportunities and send email notifications in case of anomalies.

Conclusion

FinOps should be implemented from the beginning and progressively advanced as maturity increases, with a strong emphasis on raising internal team awareness. At Devoteam, we can support you in implementing this approach.