My previous company went "full serverless" on new development, and delivered amazing performance at very low cost. My general opinion has flipped after that experience. I believe there are use cases where serverless isn't an option, but not very many. I think most people don't realize just how "burstable" their own traffic is. If you're looking at graphs with one-hour resolution, remember that AWS bills for lambda at…
Interesting. How would you compare the developer experience between the two approaches? And what was your use case?
It was in EdTech, so we had students downloading assignments, uploading results (lambda-fronted S3 for blob storage, DynamoDB for data), administrators paging through result, grading things, students uploading images and videos of themselves, administrators reviewing them, many lambdas being triggered by changes to S3 or DynamoDB tables, or SNS messages sent from other lambdas.
I don't think most people would consider it especially bursty, except in the most general sense around midterms and finals, but in truth even a "heavy user" is only hitting APIs every so many seconds at most, and like I said, AWS lambda bills at the millisecond level.