In the first part of this two-parter, we explored the concepts of FinOps and how that can help enterprises deliver more value from their investments in the cloud. Here, we take a deeper dive into the principles that underpin FinOps, and how understanding the relationship between FinOps and platform thinking can help drive better outcomes.
FinOps and platform thinking
When reading around the topic of FinOps, we often find a lot of information about core principles and the need to ‘optimize the spend. But when it comes to cloud operations, that phrase ‘optimize the spend can be unhelpful — at what level should you be looking to optimize?
Speaking to clients, we encounter their project teams, all of whom optimize their cloud operations for their specific needs. A knock-on effect is that they fail to optimize at an enterprise level — and end up missing out on economies of scale. When it comes to delivering more business value from your cloud investments, it can be instructive to view it through a platform-thinking lens.
The principles of platform thinking
Over the years, Thoughtworks has successfully partnered with many different organizations in their transformation efforts. It’s through such work that we’ve developed out approach to platform thinking, which can be summarized as follows:
Cloud and platform strategy. This practice is the place we bring everything together so that the organization's overall business strategy and technology strategy are aligned. This is underpinned with a focus on a product-centric approach.
Architectural and development practice. This practice consistently represents the value of a well-factored and considered architecture as part of the overall platform strategy. We consider a well-factored architecture to be one that is highly tuned to an organization’s specific needs.
Delivery infrastructure and cloud. This represents the value of a well-factored and considered developer experience, delivery infrastructure and cloud implementation as part of the overall platform strategy.
Platform product thinking. We look at products, whether a business domain centric or a technical capability platform as a product with clear ownership of this platform.
Engineering excellence. This is the ability to explain measures of modern software delivery. Many organizations will do this using the so-called DORA four key metrics, which can then be applied with a curated perspective on how to organize leadership enablement so that it unlocks your developer teams’ potential in a modern engineering environment.
We believe that by considering enterprise cloud usage through a platform-thinking lens, you can ensure the optimal usage of cloud resources and maximize the business value you deliver. We don’t believe this is a question of choosing the right tool for analysis and reporting but as a fundamental rethinking of how to build and deliver products on the cloud.
The principles of combining platform thinking and FinOps
We’ve found that those organizations that are able to successfully apply FinOps principles to their organizations demonstrate the following characteristics:
Collaboration. A highly collaborative approach between all the key stakeholders is critical for the overall success of your strategy. This will require you to apply core capabilities around organizational change, engineering effectiveness and applying the right architectural models.
Business-value-driven decision making. Decisions should be driven by what your product needs are. The product-driven mindset, the core services of our practices, provide is an essential approach to ensuring that the business make the right decisions
Accountability of cloud usage. More often than not, we see that the accountability of cloud usage is distributed across the organization. While distributed accountability is not inherently bad, the inability to get the right visibility, empowering the right distributed leadership is the primary reason why cloud spend spirals into uncontrolled territory. To achieve accountability, we recommend that you focus on engineering effectiveness, coupled with a sound organizational change mindset, to ensure that there are clear accountability models within your organization.
Accessible data. Public cloud providers make a plethora of data available, but as an organization you need to ensure that this data is actually accessible and actionable. There is a translation that goes on behind the scenes to make that happen. Thoughtworks has worked with several clients in the FinTech, industrial automation and public sector to create the layer of translation to make the available data accessible and actionable through the applications of our delivery infrastructure platform capabilities.
Centralized team for quarterbacking. Even where organizations understand what they want from a FinOps team, many struggle when it comes to establishing those teams and making them effective. We frequently see this happen where the FinOps team becomes accountable for optimizing cloud investments and outcomes. We believe FinOps teams are at best quarterbacks that coordinate, enable, report and keep the goal at the top of everyone’s mind so that it never takes a backseat. We believe the right level of architectural models can ensure that relationships between teams and different parts of the product ecosystem and mapping of product features and requirements to the infrastructure ( and the overall cloud service usage), is established at the outset so that this gets into the DNA of the organization.
Variable-cost model. One of the beauties of the public cloud services is that it provides an easy way to adopt variable cost models. In theory, this should enable organizations to align their cloud costs with their specific requirements, at any given time. But too often, we see clients try to stipulate how much to allocate to a given team or product/domain in terms of variable or even capital costs. This drives the suboptimal outcomes of teams, who end up managing their own infrastructure without the organizational and system scale benefits of managed resources. One example of this was a client that created a container orchestration/Kubernetes cluster as a shared compute platform across teams. While there are models where usage of a container orchestration cluster can sometimes be determined, that is missing the point: Do you actually need to know that? Or do you want to optimize your Opex and Capex to get the most margin and return from a product line? Our recommendation is that you should focus on the latter. We think it is typically the engineering manager — who consumes a service or knows the footprint of a service based on the scalability, security, coupling and revenue potential — that has the best insight into how to manage variable costs.
Through architectural assessment, evaluation and refactoring possibilities, coupled with effective engineering process improvement capabilities, you can change the game in streamlining your approach to right sizing and managing variable cost models.
In the first part of this two-part article, we discussed the importance of approaching solving the FinOps problem as you would approach any holistic paradigm shifts in an organization by establishing a vision, managing the stakeholders, building the foundational aspects of observability and doing the necessary steps to making value driven decisions.
In the second part, we introduced the concepts of Platform thinking as recommended and practiced by Thoughtworks. We then talked about combining these concepts with the FinOps principles.
The eventual success of your FinOps journey requires you to look at the platform principles we have described above through the lens of the industry standard FinOps principles as defined by the FinOps foundation.
Through iterations and learnings we have gathered at multiple clients at different industry verticals, we have seen that these approaches work and will provide you measurable improvement for your cloud investments