Appendix B. Lock-in
There is much debate about using a cloud provider and avoiding vendor lock-in. The debate is often more ideological than practical.
Lock-in is often a concern for engineers and management. It should be weighed as a risk to an application in the same way as choosing a programming language or framework would be. The selection of a programming language and cloud provider are forms of lock-in, and it is the engineer’s responsibility to understand the risks and know when the risk is acceptable.
There are a few things to keep in mind when you are choosing a vendor or technology:
-
Lock-in is unavoidable.
-
Lock-in is a risk, but not always high.
-
Don’t outsource thinking.
Lock-in Is Unavoidable
In technology there are two types of lock-in:
- Technology lock-in
-
Deals with decisions lower in the stack of development
- Vendor lock-in
-
Most often, deals with services and software that are consumed as part of the project (vendor lock-in can also include hardware and operating systems, but we will focus only on services)
Technology Lock-in
Developers will choose technologies they are familiar with or ones that provide the greatest benefit for the application being developed. These technologies can range from vendor-provided technologies (e.g., .NET and Oracle Database) to open source software (e.g., Python and PostgreSQL).
The lock-in provided at this level often requires conforming to an API or specification that will influence how the application is developed. ...