Lieutenant General Jean-Baptiste Vaquette de Gribeauval, born on September 15, 1715, was a pioneering French artillery officer and engineer who significantly transformed French military artillery. His development, known as the Gribeauval system, replaced the older de Vallière system, introducing lighter, more uniform cannons that improved effective range and power. This innovation not only streamlined production but also made field operations more efficient. Crucially, Gribeauval was among the first to advocate for the interchangeability of gun parts, a approach that allowed for quicker repairs and standardization across the French artillery units. His reforms equipped the French army with superior artillery capabilities that proved decisive in numerous military engagements during the Napoleonic Wars, establishing France as the leader in European artillery technology during that era.
The concept of interchangeability that Gribeauval introduced is appealing to those in today's technology and architectural domains who are looking to establish similar technology dominance. Its ideas of componentisation and flexibility are inspiring and it is easy to think that adopting interchangeability across our architectures is best practice. However as we will explore the situation is more nuanced.
We live in a different era to Gribeauva and our rate of innovation and the number of market place offerings are significantly higher. Our era is landmarked by task-specific tools with high interoperability and rapid deploy ability. With this in mind we need to adapt Gribeauvals ideas and not blanketly apply interchangeability. For this we need to think of interchangeability on a per component basis where we evaluate not only the level of interchangeability but also the likelihood of needing to switch. For this we are essentially minimising vendor lock-in in areas where we will likely want to rapidly select and move to new innovative technologies.
We can define vendor lock-in as a customers dependence on a product or service for which they are unable to use another without incurring substantial switching costs. Vendor lock is not new, but it does largely shape commercial technologies. The classic modern example is the QWERTY key board whose layout is common place in the West despite more efficient layouts existing. The configuration stems from original type writers whose typebars had to be positioned in such a way that they did not collide with each other when typing. A combination of early adoption, network effects, path dependence and compatibility issues has resulted in its continued use.
We can broadly define several types of lock-in:
There are many more types of lock in but these cover most common scenarios.
When examining the major cloud providers, we observe a complex blend of these different types vendor lock-in. Although these platforms offer largely the same foundational services, their specialized products and services contribute more significantly to vendor lock-in. As a general rule we can observe that, moving from bare metal solutions to Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS) increases both the difficulty of migration or replacement but also the richness of the features provided by these services.
Analysing the stance of the top three cloud providers on vendor lock-in, we find that their well-architected frameworks lack specific provisions for portability. Despite this, these frameworks exhibit a high level of maturity in facilitating transitions in from on-premises infrastructure to cloud-based services. Yet, when organisations decide to migrate away from these cloud services, the costs related to data transfer mount and can be prohibitively high, with prices generally starting at $0.09 per gigabyte. The technical labour costs are also high as business have to rebuild parts of there architectures to change provider. It essentially at a regulatory level that portability is enforced, through standards, such as the General Data Protection Regulation (GDPR), California Consumer Privacy Act (CCPA), and the International Organization for Standardization (ISO) as well as others. These regulations are designed to ensure data portability, thereby directly influencing cloud providers' operations. Although compliance with these regulations increases customers capability to migrate, it also serves as a value proposition that attracts more clients than the lack of portability deters.
So how can we navigate this dynamic and move past the lockin = bad approach? Firstly, it's important to acknowledge that some degree of lock-in is inevitable. Secondly, we might willingly accept certain lock-ins if they offer substantial benefits, such as unique features or utilities that competitors don't provide. This concept can be illustrated using a straightforward two-by-two matrix:
The matrix evaluates our choices along two axes:
Each of the four quadrants represents different scenarios:
Though simple, this matrix is a valuable tool for evaluating and visualizing your software components and helps in understanding your exposure to lock-in. But it isnt the only framework we should use. Understanding the true cost of lock-in requires a us to evaluate future needs. And so we can create another matrix. This matrix differentiates between the cost of making the switch and the likelihood that a switch will be necessary. Items with low switching costs and low likelihood of switching are not concerning, while those with high costs and high likelihoods are problematic and should be addressed. The quadrants represent different strategies:
Common biases would be that we tend to over estimate the likelihood of switching platforms and under estimate the cost to switch.
Bringing these models together we can formulate a strike price (or option price) where the cost to switch is the strike price and where we can invest some energy upfront to lower our liability. Achieving lower switching costs increases the value of the option but requires significant upfront investment. For example we can add a layer of abstraction to our application so that its works with multiple vendors but we have to pay upfront to build this. Often, minimising switching costs is not the most economical choice.
To decide how much to invest in reducing switching costs, consider the total cost, which includes both the upfront investment and potential liability (calculated as the product of switching cost and likelihood). Over-investing can lead to higher overall costs due to diminishing returns, particularly in low-probability scenarios. It's crucial to strike a balance between upfront investments and potential future savings. Investing too heavily in minimizing switching costs for scenarios that are unlikely to occur can result in wasted resources. Conversely, under-investing can leave an organisation vulnerable to high costs if a switch becomes necessary.
In conclusion, while the concept of interchangeability inspired by Gribeauval's innovations offers compelling advantages in today's landscape, it must be approached with careful consideration of the nuances of modern lock-in. Acknowledging that some degree of lock-in is inevitable, organisations can navigate this terrain effectively by evaluating each component's unique utility and switching costs. By employing frameworks like the two-by-two matrix and comprehensive cost models, stakeholders can make informed decisions that balance innovation, flexibility, and strategic alignment, ensuring they harness the benefits of technology while mitigating potential drawbacks.