It's literally a method which has a single parameter class, and a single class returned...
Even if you're using node, java, golang, python. Other than the packaging. How is there any lock in?
Unless all of the providers have the same API to deploy functions, they are all trying to lock you in.
So not lock-in at the code level (unless your serverless app talks to S3 or whatever Amazon services), but lock-in of your whole devops process.
It sounds like, no matter what you do, you're locked in. Using Docker? Ah you're locked into Docker. Wrote your app in PHP, on you're locked into PHP now.
I just don't understand this whole 'lock-in' mindset, it's just absurd now.
If you don't understand it, then it's probably not absurd.
Look into the whole free software movement and the history behind it (e.g. the evils of Microsoft in the 90s).
If a vendor can change a price on something that forces you to pay up or lose your system, you are locked in.
This isn't just some open source ideology without impacts either. It should be immediately obvious to anyone with any business acumen why making yourself beholden to the decisions of a single vendor is a bad position to be in.
If you write your application in any language, or use any framework or library, you're locked in, by today's standards.
Nobody cares if they are locked into x86, tcp/ip, and http. If you don't understand this difference as an engineer, you end up causing a big risk to your company (or clients) without even knowing it.