serverless frameworkでのLambdaファンクション縮小/デプロイ速度向上
serverless framework (v1.4)使用。
include/exclude
普通にデプロイすると、node_modules以下が全てパッケージングされ、各Functionのサイズが大きくなってしまったり、デプロイに時間がかかったりする。
結論としては、パッケージングの設定をきちんとすること。
公式ドキュメント参照のこと。
この設定はもちろん各Functionごとに独立させることもできるみたい。
開発時にwebpackを使っている方なら、(作り方にもよるが)そもそも初めから各エンドポイントに必要なものだけrequireしてbundleする構成にはなってるかと思うので、
一括でnode_modules以下をexcludeしても構わないかもしれない。
serverless.yml
service: hogehoge
package:
exclude:
- node_modules/**
...
serverless-webpack排除
2016年末段階ではserverless-webpackプラグインを常用していたが、
serverless deploy function -f <functionName>
に対応していない?ため、全functionの一括デプロイしか手段がなかった。
普通に自前のwebpackでjsを吐いた方が個別にアップロードできるため何かと融通がきくかもしれない。
このプラグインは、
serverless webpack serve
でローカルのテストが簡単にできる利点があったが、serverless-offlineに移行すること。