This article has been authored by Dan Rickards, Head of Strategic Cloud Consulting | 9th April 2025
How to Combine Application Modernisation with Cost Engineering
A common misconception is that optimising an application for cost comes at the expense of performance. In reality, by combining application modernisation with cost engineering, organisations can achieve both. Modernising the application along with the software delivery flow will not only bring innovation to solutions but naturally lead to cost optimisation.
Understanding Cost Engineering vs. Traditional FinOps
Cost engineering differs from traditional FinOps. Established FinOps teams are typically enabling teams, providing guidance through cost reporting, building dashboards, identifying rate and usage optimisations to ‘tweak’ workloads, and support the application teams to optimise costs within a workloads preexisting architecture.
However, there’s a limit to these tweaks. Eventually, organisations reach a point where further cost savings require a deeper integration of cost engineering into the application development process.
Cost engineering shifts FinOps into the application team, ensuring that developers and engineers prioritise both cost and performance. By embedding cost awareness into software development, teams can design applications that are inherently efficient. The methodology enables technical teams to leverage software architecture design to make use of cost efficiency at desired performance and estimated scalability. This approach prevents cloud cost optimisation from stalling once rate and usage efficiencies have been exhausted, ensuring continued value from cloud investments.
The Challenge of Cost-Effective, High-Performance Cloud Workloads
Building performant and cost-efficient cloud workloads is difficult. Many organisations rapidly rehosted their workloads onto the cloud, modernising only the platform layer while leaving the application layer largely untouched. They may have invested in FinOps tools and teams to identify cost inefficiencies, but their focus has often been on individual services or components rather than the overall architecture and design.
Now, these organisations are assessing their rehosted workloads and looking for ways to extract even more value from their cloud investments. This requires a shift from reactive cost optimisation to a proactive, design-led approach. This is where combining application modernisation with cost engineering becomes essential.
Moving Up the Modernisation Ladder with Cost Engineering
Adopting cost engineering in the design and implementation flow embeds optimisations efforts into the architecture of an application, moving up the modernisation latter. This breaks down tightly coupled monolithic workloads with modularity. It applies FinOps principles to identify inefficiencies at the component level, while applying a modernisation and design scope across the full stack. This enables organisations to create scalable, cost-efficient architectures that evolve with business needs. This approach brings application and cloud teams together to redesign architectures that integrate cost and performance efficiencies from the outset.
The Theory of Constraints: A Scientific Approach to Optimisation
A powerful way to achieve this is by applying the Theory of Constraints, a problem-solving methodology that identifies the limiting factor—or bottleneck—in a system. By addressing this constraint, organisations can optimise for both cost and performance simultaneously.
Every system has a weak link. Identifying and resolving it is key to unlocking further efficiencies. As well as asking, “How do we reduce cloud spend?”, organisations should be asking, “What is the constraint limiting our optimisation efforts?” This shift in thinking often leads to more effective, long-term solutions.
Applying the Theory of Constraints to Real-World Scenarios
Example 1: High-Availability Web Applications
Imagine a high-availability web application that requires more resources due to growing demand. A traditional cost optimisation approach might involve throttling requests or vertically scaling infrastructure—actions that may reduce costs but could negatively impact performance.
However, applying modernisation principles under the Theory of Constraints reveals alternative solutions. Instead of simply reducing resources, we could implement server-side caching, static API responses, as well as integrate API gateways and service mesh for high availability communication resilience and optimised back-end data querying. These solutions introduce architectural efficiencies that scale with demand. These solutions reduce infrastructure costs while maintaining or even improving performance in alignment with scaling needs.
Example 2: Query Costs in BigQuery
Consider an organisation heavily using Google Cloud’s BigQuery for data analysis. As query costs rise, a basic cost-cutting approach might involve limiting query volumes via centralised governance policies. While this reduces costs, it also restricts teams’ ability to access data, potentially impacting business insights.
A cost engineering mindset, guided by the Theory of Constraints, takes a different approach. The real constraint is not query volume but individual query cost. Instead of restricting usage, solutions could include:
- Materialising intermediate query results to reduce data scanned per query
- Partitioning and clustering data for more efficient retrieval
- Optimising query structures to minimise unnecessary data processing
- Adjusting data lifecycle policies to balance performance and storage costs
- Read only optimised tables for retrieving large data sets
By addressing the constraint, the inefficiency in query execution, costs are optimised without sacrificing access to critical insights.
The Business Case for Cost Engineering and Modernisation
Cloud cost optimisation often has clear executive buy-in, as leadership wants to see reductions in cloud spending. However, articulating the value of modernisation can be more challenging.
By integrating cost engineering with modernisation initiatives, organisations create a compelling business case for tackling hidden legacy costs through cost engineering. This approach shifts cost considerations earlier in the design phase, allowing applications to be reimagined to fully leverage the benefits of cloud-native architecture