我们在 Node.js (v10.x) 中有几个 AWS Lambda,其中一些具有一些“特定的大”依赖项,这些依赖项并非在所有它们之间共享。例如,我们有一个依赖于firebase-admin
NPM 包的“Authorizer”函数,这是唯一使用它的 Lambda。
为了使其更易于维护,目前我们有一个包含所有依赖项的层。将依赖项拆分为多个层有什么好处吗?我的假设是更大的层会增加“冷启动”时间。但是,相对于层的大小,这个惩罚有多大?我在 AWS 文档中找不到任何关于此的参考。
类似的问题,但跨越不同的语言。如果我们对 Lambda 使用多种语言(例如 Node 和 Python),我可以拥有一个包含两种语言依赖项的 Lambda 层吗?我想这是一个更简单的选择,因为Node.js 代码实际上永远不会使用 Python 依赖项。但是,我想阅读一些 AWS 推荐的管理层的最佳实践。