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.
In technology there are two types of lock-in:
Deals with decisions lower in the stack of development
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)
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. ...