The ability to adapt quickly to ever-evolving and heightened customer expectations has become critical for an organization to thrive and survive in the 2020s. To dampen the impact of uncertainty and complexity in this modern business era, enterprises and small-to-medium organizations alike have had to discard their old, proven internal narratives and schemas based on planning and micromanagement. In place, they are adopting more iterative methods based on the inspect and adapt cycles made mainstream by the Agile movement. Thanks to the elimination of traditional structural silos between development and operational teams, combined with the adoption of more seamless operating modes (DevOps culture), a modern digital business can easily outperform the competition by innovating at speed.
Introducing FinOps
In the cloud computing era, engineering teams are a few keyboard clicks and a credit card swipe away from accessing a variety of digital services and resources - storage, computing, monitoring, data tooling and processing. By and large, the cloud has opened the door to new business opportunities, and has been a powerful enabler for innovation at speed.
Acting as an anchor against the pull of the new, procurement teams and executive leaders have been slow to ditch their old knowledge and practices centered on capacity prediction, mathification of risk and three-year planning/ budgeting. New practices will begin to transfer control over spending decisions to product and engineering teams now capable of directly committing the enterprise to spend.
‘With great power comes great responsibility.’ As the adage reads, rethinking the traditional finance and procurement silos, and reengineering financial governance under the lens of this new decentralized model may leave engineering teams and leaders feeling vulnerable and unenthused about experimentation.
FinOps addresses this reluctance with new scaffolding for the change. As a maturing discipline and cultural practice it creates good financial governance through transparency, shared financial accountability across teams, while democratizing access to spending decisions at all levels of the enterprise.
A typical FinOps journey
Create visibility
The adoption of cloud technology and its impact on an organization’s financial planning pushes together the two worlds of finance and engineering, which in 20th century, the models were completely separate - as governor and governed. At the simplest level, the cloud takes CAPEX (servers, storage, software amortized over 4-5 years) and transforms it to OPEX (monthly bills from a cloud provider), which alters long-term accounting models significantly.
An evolution to the full FinOps model is dependent on the company's ability to break down those two silos by increasing visibility in both directions, by forming a shared understanding of the potential of the new cloud paradigm and its consequences. This is the FinOps' Inform phase or the Visibility phase.
In this early stage, it is best to create a common language between the traditional finance and procurement teams and your engineering teams. Both audiences should come together to reduce the knowledge gap between them, and generate a common appreciation of the two paradigms at play: the world of finance vs cloud. Finance is typically based on forward-looking, capacity-based, long-term predictions vs cloud engineering which is fast moving, typically backwards-looking and based on actual spend.
Armed with new vocabulary, teams should start analyzing their spending data and accurately allocate each cost line to at least one application, service, team or business unit. This data will enable each team to forecast spend and generate budgets and more explicitly map the cost structure to the business value each service is generating.
The goal is company-wide transparency, by making spending data discoverable and easily available. Teams will create information radiators or implement the tools which will provide visibility over spend and its correlation to business value. The power of displaying a cloud cost comparison between squads on a large public dashboard cannot be underestimated - great engineers manage their cloud costs as well as build good products.
Great engineers manage their cloud costs as well as build good products.
Promote accountability
A new FinOps organization will emerge from the visibility phase with insight into its cloud spending, the distribution of costs over teams and business units and more importantly, the ROI. Armed with this knowledge, we enter the FinOps ‘Optimize’ phase.
Cloud cost optimization is probably the main reason many organizations start their FinOps journey. It is worth emphasizing that cost reduction should not be a goal per se, rather the aim is to maximize value on the capital invested. It is perfectly valid to grow your spend as the business grows - the goal is to optimize ROI.
Cloud costs follow a simple and consistent formula across providers:
Cost = Rate * Usage
where usage typically is time-based e.g. number of seconds/hours of resource use or volume-based or GB of data stored on a resource or transferred among resources.
Cost optimization strategies can therefore be split in two categories:
Cost avoidance (or resource utilization optimization)
Rate reduction
Domain and engineering teams typically own the cloud resources, know how they are used and understand better how they contribute in generating business value; they are also best positioned to assess their cloud usage and to identify any utilization inefficiency. The principle should be that usage optimization decisions are decentralized to where expert knowledge can be applied daily. The Devops ‘you build it, you run it’ ethos already ensures investment in tech quality up front, reducing maintenance costs later on (bugs and time to refactor) - but this can take years to manifest. You build it, you run it, and you pay for it - adds an extra dimension of care and avoids overspending on solutions.
You build it, you run it, and you pay for it - adds an extra dimension of care and avoids overspending on solutions.
Teams should be given full accountability on the costs of their cloud usage, and be empowered to make autonomous decisions, promoting cost avoidance practices. Examples include right sizing, shutting down and decommissioning resources, shaping usage based on actual demand (e.g. by scaling out during business hours and scaling in at other times) or even a redesign provided the savings outweigh the effort. Simple practices like developers creating cloud instances that are not always the biggest option can save material expenses over a year.
It is important for teams to continuously monitor their costs, and on the other side their optimisation effort, linking it back to the cost reduction they achieved. More mature organizations will promote team-level accountability by implementing chargebacks or showback protocols, or team-based P&L and budgets.
Rate reduction is all about paying a more advantageous price. This usually takes the flavor of usage-based volume discount, subject to an in-advance commitment e.g. reserved or spot instances. Rate reduction policies are usually best left to a centralized team which can identify and discuss saving opportunities and finally commit the organization to this cost. Even for rate reduction, it is fundamental to keep monitoring the effectiveness of the measure and keep optimizing in cooperation with engineering teams for the utilization of reserved instances - you do not want to see your committed resources underutilized.
Introduce lightweight governance
The journey to the harmonious Shangri-la is a long road paved with much learning, a lot of potential, but also with unforeseen detours. It is important to embrace this nature by promoting the Crawl, Walk and Run model for FinOps. The initiating organization should start by identifying and introducing FinOps change agents from both Finance and Engineering who can focus on and guide the adoption of a FinOps Culture.
This FinOps center of excellence will help establish and track the business-centered metrics and targets which will lead the organization to its success.
By further promoting inter-functional collaboration and decision making as well as a culture of learning in the context of doing, FinOps can better prepare enterprises for the future and provide them with the tools which will guide them in the implementation of new, faster-moving operating models.
Moreover, in recent years, organizations have grown in awareness of the impact of their business practices and their long term sustainability impact on the planet. At Thoughtworks, we have helped organizations implement FinOps as a fundamental tool of providing visibility and accountability of the business impact in terms of costs and carbon footprint.