This document provides an overview of serverless computing. It defines serverless computing as a cloud computing model where the cloud provider dynamically manages machine resources and customers pay based on usage rather than pre-purchased capacity. It discusses how serverless applications rely on backend services (BaaS) and custom code run in ephemeral containers (FaaS). The document also outlines some pros and cons of serverless computing such as reduced costs and complexity but also vendor lock-in risks. It provides examples of serverless use cases and tools for development, infrastructure-as-code, emulation, and pricing calculators.