Serverless computing or Function-as-a-Service is a cloud computing execution model where the only thing remaining for the user is to push code to the cloud. The cloud provider that runs the server will dynamically manage the allocation of machine resources. Pricing is based on the amount of micro-resources consumed by an application (like CPU cycles and memory needed for a specific function), rather than on larger units of capacity like a virtual machine.
We like the following definition from Wikipedia:
Function-as-a-service, or FaaS, is a category of cloud computing services that provides a platform allowing customers to develop, run, and manage application functionalities without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app.
Serverless computing significantly simplifies deploying code into production, makes scaling a breeze, and capacity planning and maintenance no-brainers. Most of those functions are hidden away.
Typically applications are built 100% serverless or in a hybrid model with containers, supported by an event-driven model.