Identifying cold-starts is a huge win here, using something to keep your lambdas warm is important for user-facing functionality. That functionality alone makes a compelling feature.
I don't really understand this - if you need to 'keep your lambdas warm' why not just run them as a process?
There seems to be a lot of book-keeping and ritual for something which is supposed to just let you focus on the important bits of code, without worrying about how it runs.
If you're already "serverless" (or want to be), it's not that easy to just "add a process". Usually if you're running a process, you're maintaining one or more virtual servers, which can be a lot more operational overhead than a Lambda.
Having said that, I agree that there seems to be an inordinate amount of effort/thought going into keeping Lambdas "warm" (i.e. always running).
I think the prevalence of these hijinks indicates that AWS Lambda should consider adding a "keep running" option that ensure the particular function is always "warm", but costs a bit more.
Azure Functions offer an Always On option under a premium tier of Azure App Service but I don't know be that'd I call that just "a bit more", especially at scale.
Might as well containerize it and accept the overhead of some maintenance to ensure the lowest cost guaranteed availability and performance.
It seems that'd be too expensive for AWS for a free tier. I really like the idea of serverless, it just doesnt seem to live up to the promise in its current implementations. Are they spinning up a server per function?
There seems to be a lot of book-keeping and ritual for something which is supposed to just let you focus on the important bits of code, without worrying about how it runs.