Serverless architectures allow developers to run code without provisioning or managing servers. With serverless, code runs in ephemeral containers that are managed by third-party cloud providers. Key benefits include automatic scaling, high availability, and paying only for the resources consumed. Some limitations are vendor lock-in, memory and computing limits per function, and potential cold start delays. Serverless functions can be triggered synchronously, asynchronously via events, or via streaming data sources. Common event sources that trigger serverless functions include S3, API Gateway, IoT, and SQS. Serverless is well suited for building event-driven architectures and processing streaming data at scale.