Serverless computing is a cloud-based execution model where the cloud provider runs the server, and dynamically manages the allocation of machine resources. It allows developers to build and run applications and services without thinking about servers. Some key characteristics of serverless computing include on-demand scaling, utility-based pricing, and vendor lock-in. Major cloud providers like AWS and Azure offer serverless computing through products like AWS Lambda and Azure Functions.