We have several AWS Lambdas in Node.js (v10.x) and some of them have some "specific big" dependencies that are not shared across all of them. For example, we have an "Authorizer" function that depends on the firebase-admin NPM package and this is the only Lambda that uses it.
To make it simpler to maintain, at the moment we have a single Layer that contains all the dependencies. Is there any benefit in splitting the dependencies in more than one Layer? My assumption is that a bigger layer increases "cold start" time. However, how big is that penalty in relation to the size of the Layer? I could not find any reference in the AWS Documentation about this.
Similar question, but across different languages. If we use multiple languages for our Lambdas (eg. Node and Python), can I have a single Lambda layer that contains dependencies for both languages? I guess this is more of an easy choice as the Python dependencies will effectively never be used by the Node.js code. However, I would like to read some AWS recommended best practices to manage layers.