I get the need for simplicity, but have you actually done a large serverless project? With AWS, just managing the CI config for tons of functions is a complete nightmare. And if you have functions calling other functions, which is a pattern in serverless, how do you even begin to debug that when something goes wrong. I think it's mostly about the tradeoffs you want to make. We decided to go with K8s because we can solve a much larger set of problems with it than serverless--stateful services, for example. Give it a year or two more and all the cloud providers will have a serverless K8s option. AWS is going down that road with Fargate. Then for me the question becomes why even use serverless functions at that point, when container workloads can do all that serverless can and much more.