Serverless seems to me like another one of those mostly fashion-driven things where the actual use cases are applicable only to a very tiny minority of developers.
If you're small then serverless provides no real advantage over Docker or a VM with a small footprint that's easy to update.
If you're large enough that you want automated infrastructure scaling, well, technical considerations as far as things such as latency, service dependencies and data storage become complex enough that you're going to need a bunch of custom components and people who can manage them.
It seems like FastCGI has come around again, except that it's way costlier and more difficult.
Things like edge caching and a few latency-sensitive self-contained functions are a few of the very real use cases for this (which CloudFlare and others seem to be working on), but aside from that it's another specialty application that seems to be taking over for no particular reason, much like iterations of NoSQL and other faddish garbage.
CGI and FastCGI are really underappreciated as ancestors for this technology. They also mapped the same problem contours - using VM languages means paying the VM startup time cost.
If you're small then serverless provides no real advantage over Docker or a VM with a small footprint that's easy to update.
If you're large enough that you want automated infrastructure scaling, well, technical considerations as far as things such as latency, service dependencies and data storage become complex enough that you're going to need a bunch of custom components and people who can manage them.
It seems like FastCGI has come around again, except that it's way costlier and more difficult.
Things like edge caching and a few latency-sensitive self-contained functions are a few of the very real use cases for this (which CloudFlare and others seem to be working on), but aside from that it's another specialty application that seems to be taking over for no particular reason, much like iterations of NoSQL and other faddish garbage.