Lambda Layers and Deployment Packages
Bundle shared dependencies into reusable Lambda Layers and manage deployment packages for large runtimes.
The Dependency Problem in Lambda
Lambda deployment packages must be self-contained—all dependencies (libraries, SDKs, binaries) must be included in the ZIP. This quickly inflates package size: a Python data science function with NumPy, Pandas, and SciPy can exceed 200 MB uncompressed. Every update to your function code requires re-uploading the entire bundle including unchanged libraries. Lambda Layers solve this by separating shared dependencies from your function code.
What Is a Lambda Layer?
A Lambda Layer is a ZIP archive that contains libraries, custom runtimes, data, or configuration files. Layers are stored separately from your function code and mounted into the function's execution environment at /opt. Multiple functions can share the same layer—update the layer once and every function using it benefits. Each Lambda function can have up to 5 layers, and the combined unzipped size must stay under 250 MB.
All lessons in this course
- Lambda Functions: Runtimes, Triggers, and Handlers
- Concurrency, Throttling, and Reserved Concurrency
- Lambda Layers and Deployment Packages
- Lambda@Edge and Event-Driven Patterns