Working on a new web project, have you ever considered:
- how much time will the application stay idle?
- how many resources will be spent on infrastructure operation?
- how much effort will be invested into architecting an easy to evolve solution? (decoupling, scalability, monitoring, etc.)
Even if you have a very complex workflow, AWS Lambda functions are a real good fit for implementing independent steps of an event orchestrated process. And in fact there is more, serverless is not only FaaS!
With serverless you integrate several managed services so that you can focus on building your application without worrying about infrastructure. In this scenario you will be forced to think in terms of decoupled modules, the resulting application will be scalable and available by design (microservices anyone?).
Last but not least you pay for what you use, so running your serverless solution may cost way less than a highly available group of always on VMs.
I am not trying to fool you, even serverless has its drawbacks and may not be the best fit for your workloads (e.g. latency, extreme decoupling, function memory/duration constraints). But I really recommend you figure out yourself answering those questions.
Want to learn more about serverless? Try this serverless hands-on introduction