Cold Starts
When a function hasn't been called recently, the provider needs to spin up a new instance (100ms-2s latency).
Use smaller runtimes (Node.js, Python > Java)
Keep function bundles small (< 5MB)
Provision concurrency for critical paths
Choose regions close to your users
When Serverless Costs More
Steady high traffic
Long-running tasks (> 15 minutes)
Large memory requirements (> 3GB)
High-frequency polling patterns
Best Practices
Design functions to be idempotent
Use environment variables for configuration
Implement error handling and dead-letter queues
Monitor costs from day one
Use infrastructure-as-code (SST, CDK, Terraform)