One of the concerns for serverless is vendor lock-in and we have seen many FUD regarding how serverless platforms can lock you in. While vendor lock-in is a legitimate cobern for serverless platforms, it is not something that should deter you from using these platforms. In this post, we will discuss lock-in considerations for serverless platforms and highlight how it can be managed.
Open Source Platforms
Let us address the elephant in the room first. There is a widespread belief that using open source serverless platforms will avoid lock-in risks. While open source reduces the risks due to infrastructure and platform lock-in, it does add a considerable operational burden and could impact the developer productivity. The operational overhead necessary to deploy and manage the open source serverless platforms like Knative, OpenWhisk, etc. makes it a difficult option for many smaller organizations. While larger enterprises might have IT teams that can manage these platforms, the operational overhead has an impact on the ROI. Plus, the consumption and scaling for developers may not be as seamless as those provided by cloud providers. This impacts the agility and developer productivity, further reducing the ROI. Many times, there will be additional operational burden on developers in terms of using other services needed by the application such as databases, messaging, etc.. While open source serverless platforms might provide a feel good factor on vendor lock-in, the impact on operational overhead and developer productivity cannot be ignored.
Managing Lock-in Risks
If you want to benefit from the advantages offered by the serverless platforms, you could mitigate some of the lock-in risks by focussing on the application architecture and switching costs. By minimizing the impact, the serverless platforms can be leveraged for many different applications.
- Architectural considerations: Serverless platforms have the same level of lock-in risks that is associated with any cloud service. By picking the right architecture, these risks can be minimized. Some of the considerations for minimizing the risks are a) Avoid using hyperscaler native services for application dependencies like database b) Using a Portable API can help avoid some of these risks c) Use standards based querying (eg: database queries) wherever applicable
- Disposable Applications: Another aspect of lock-in is the switching costs involved in moving from one provider to another. If the cost of rewriting your applications is much lower than the switching costs (disposable applications), then it makes sense to completely rewrite the applications. Since most applications deployed on serverless platforms are functions or microservices, the cost of rewriting or re-architecting them will be much lower than switching costs. So, any concerns about vendor lock-in is overblown and can be easily mitigated
Even though the concerns regarding lock-in are valid, it can be easily mitigated in the case of serverless applications. While using the open source platforms may make complete sense for large enterprises and organizations using multi cloud, it adds considerable operational overhead and impacts developer productivity. Unless there is a strong reason to use such open source platforms, most organizations can maximize ROI using hosted serverless platforms.