# Lambda Layers

* Additional libraries may be bundled and moved as a layer.
* Lambda can have upto 5 layers per function, with maximum deployment size limit of 50 MB/layer.
* The packages added in layers are available in `/opt` directory during invocations.

## Custom Runtimes

* Allows languages that are not officially supported by AWS to be used to develop and deploy on Lambda.
* C++ rutimes is one such example. Some of the common ones can be found [here](https://github.com/orgs/awslabs/repositories?q=lambda-runtime).

## Externalize Dependencies

* Dependencies which we use in our lambda code may not change often compare to our application/lambda code. So in order to avoid reuploading dependencies which seldom changes, one can leverage the lambda layers.
* As layers are externalized they can be reused across multiple function code.

## References

* Using [Lambda Layers](https://aws.amazon.com/blogs/compute/using-lambda-layers-to-simplify-your-development-process/)
