Mais conteúdo relacionado
Semelhante a How you can speed up serverless development by local (20)
How you can speed up serverless development by local
- 1. How you can speed up
Serverless development
by local
ピクスタ株式会社 星直史
16545027 Photo by Fast&Slow
- 12. ● 109行のコード、1つの関数
● 重複コード
● AWS DynamoDB SDKのラッ
パーが使えていない
● テストが存在しない
● ローカルで回せていない
● デプロイに時間がかかる
→ 開発継続に備えて自動テスト
を書いて振る舞いが変わっていな
いことを確かめる環境を整備した
い
- 20. ● DynamoDBの準備
○ Tableの作成
○ 作成したテーブルにデータの追加
● Lambda Functionを準備してデプロイ
○ デプロイパッケージ作成
■ go get -u hogehoge
■ ビルド
■ ZIP圧縮
○ 実行ロール作成
■ IAMロール作成
■ ARNをメモしてLambdaに適用
● 目視でテスト
○ Lambdaのコンソールでテスト用のJSONを作成、実行、コンソールのログを
目視で確認
○ もしくは、AWS CLIでLambda Functionを実行、結果を目視確認
テスト手順書_v1
- 21. ● DynamoDBの準備
○ Tableの作成
○ 作成したテーブルにデータの追加
● Lambda Functionを準備してデプロイ
○ デプロイパッケージ作成
■ go get -u hogehoge
■ ビルド
■ ZIP圧縮
○ 実行ロール作成
■ IAMロール作成
■ ARNをメモしてLambdaに適用
● 目視でテスト
○ Lambdaのコンソールでテスト用のJSONを作成、実行、コンソールのログを
目視で確認
○ もしくは、AWS CLIでLambda Functionを実行、結果を目視確認
テスト手順書_v1
- 22. ● DynamoDBの準備
○ Tableの作成
○ 作成したテーブルにデータの追加
● Lambda Functionを準備してデプロイ
○ デプロイパッケージ作成
■ go get -u hogehoge
■ ビルド
■ ZIP圧縮
○ 実行ロール作成
■ IAMロール作成
■ ARNをメモしてLambdaに適用
● 目視でテスト
○ Lambdaのコンソールでテスト用のJSONを作成、実行、コンソールのログを
目視で確認
○ もしくは、AWS CLIでLambda Functionを実行、結果を目視確認
テスト手順書_v1
- 23. ● ServerlessFramework定義書作成
● Lambda Functionを準備してデプロイ
○ デプロイパッケージ作成
■ go get -u hogehoge
■ ビルド
■ ZIP圧縮
● 目視でテスト
○ Lambdaのコンソールでテスト用のJSONを作成、実行、コンソールのログを
目視で確認
○ もしくは、AWS CLIでLambda Functionを実行、結果を目視確認
テスト手順書_v2
- 24. via. Testable Lambda: Working Effectively with Legacy Lambda / Takuto Wada
AWSにデプロイを行うことでフィー
ドバックループに時間がかかる
- 30. ● Synonym関数内でStage( dev / staging / test / prod)によるエンドポイントの分岐がある
● コードを直接編集しなくても振る舞いを変えたい
→ Synonym関数の一つ前に薄い関数を噛ませることで、
DyanmoDBのClientを外から差し込めるようにしたい
- 35. via. Testable Lambda: Working Effectively with Legacy Lambda / Takuto Wada
● ServerlessFrameworkによ
りデプロイの簡略化
● LocalStackのモックを利用
することでデプロイが不要
に
● 粒度の大きいテストでまず
は最低限の動作を担保
フィードバックループにかかる時
間が30分から2秒に