JavaScript
Node.js
serverless

lambdaのソース管理をflcutからserverlessに切り替えて嬉しかったこと

More than 1 year has passed since last update.

概要

とあるプロジェクトで、fluctを使ってコード管理していたものを、serverless(旧JAWS)に切り替えた。その際、良いなと思ったことをメモしておく。

lambdaのコード管理

fluctやserverlessは、平たくいうと、Amazon API GatewayとAmazon Lambdaでつくるサーバーレスなアプリケーションの管理を簡単にするものである。詳細はReadmeを見るのが早い。

嬉しかったこと

component、module、functionというプロジェクト構成

actionsディレクトリしかないfluctに比べて、少し複雑に見えるが、規模が大きくなっても耐えうる構成になっている。

Stage管理ができる

serverlessだと、development, productionなどのStage管理ができる。開発中はdevelopment stageのAPI GatewayとLambdaのみにデプロイして確認ができ、より実践導入が考慮されているといえる。

API Gatewayのステージ

スクリーンショット 2016-01-21 9.10.06.png

Lambdaのステージ

ローカル環境での簡易テストが可能

Function Runを使うと、ローカル環境で関数を走らせることが可能である。event.jsonに実行時のイベントを定義できる。

± serverless function run path/to/func
Serverless: Running path/to/func...
Serverless: -----------------
Serverless: Success! - This Response Was Returned:
Serverless: {"status":200,"message":"OK"}

様々なプラグインがある

serverlessはPluginsを用意に導入できる。便利なものとしては、CORS対応用の設定を追加してくれるserverless-cors-plugin、localhostでエンドポイントを立ち上げてくれるserverless-serveなどがある。

まとめ

serverlessを使うと、API Gateway+Lambdaなアーキテクチャをより実践に導入しやすくなると思った。今後も使いドコロを見て試してゆきたい。