Why I don't use "serverless"
Most reasons I don't use serverless yet are the same reasons I wasn't using VMs 2 decades ago.Last week I asked why you’re not using serverless, and several of you responded.
Summarizing the answers I received why you have not yet used serverless:
- Want to avoid vendor lock-in
- Harder to test serverless functions locally
- Not supported by (internal) cloud provider
- Too expensive
- Traditional applications/services are easier to manage and understand
- Lack of a compelling reason to change
I also promised to explain why I don’t use serverless. My main reasons echo some of those listed above:
- I want to avoid vendor lock-in. If/when I explore serverless, Knative is at the top of my list, to help avoid this.
- As a strong believer in small, quick unit tests, and TDD, the difficulty with testing a complete serverless application locally is a big deterrent.
- I’ve yet to see a compelling case that serverless is actually better than (micro)services for any problems I have to solve.
What got me thinking about this was some reading I’ve been doing recently on Wardley Maps. It wasn’t long ago when many of these same arguments would have been made against “the cloud”.
People were installing their own physical servers in their own physical data centers (or server closets), and enjoying it.
And they didn’t want to go to the cloud because it was unproven. The benefits weren’t obvious. It was often expensive. It was difficult to test locally. They were afraid of vendor lock-in. Etc.
All of these are concerns with any technology that hasn’t yet achieved commodity-level maturity.
Will serverless be a commodity in a decade? I don’t know. But it might be!