kakakakakku blog

Weekly Tech Blog: Keep on Learning!

Lambda を軸にサーバレスを解説した「実践 AWS Lambda」を読んだ

AWS Summit Tokyo 2017 の先行発売でゲットした「実践 AWS Lambda」をさっそく読んだ.Lambda の解説だけではなく,サーバレスの文脈で導入事例が増えてきたアーキテクチャ(ユースケース)の紹介がされていたり,サーバレスのデプロイツールとして AWS SAM の紹介がされていたりして,非常に良書だった.Amazon を見ると,一般発売は明日 6/9 になっていたので,気になる人はすぐに買うと良いのでは!

実践AWS Lambda ~「サーバレス」を実現する新しいアプリケーションのプラットフォーム~

実践AWS Lambda ~「サーバレス」を実現する新しいアプリケーションのプラットフォーム~

Chapter 3 AWS Lambdaの使い方

3-7 バージョニングとエイリアス

Lambda 関数の ARN にバージョンを付与して識別できるのは知らなかった.また,エイリアスを付けて運用できるのも知らなかった.実際に運用している Lambda 関数を見てみたところ,確かにバージョンなしの ARN もあったし,バージョンありの ARN もあった.ちなみに Lambda 関数は Apex でデプロイをしているため,Apex の実装を確認したら自動的に current エイリアスを付与するようになっていた.おおお!

  • arn:aws:lambda:ap-northeast-1:111111111111:function:sample
  • arn:aws:lambda:ap-northeast-1:111111111111:function:sample:$LATEST
  • arn:aws:lambda:ap-northeast-1:111111111111:function:sample:50
  • arn:aws:lambda:ap-northeast-1:111111111111:function:sample:current

docs.aws.amazon.com

3-10 環境変数の利用

暗号化ヘルパーを使うと,環境変数を KMS で暗号化できるのを知った.今のところ,暗号化が必要な環境変数を使っていないため,普通に Apex の project.json でベタ打ちして運用していた.

docs.aws.amazon.com

Chapter 4 プログラミングモデル

4-5 Lambda関数作成時のポイント

特定の言語に依存せず,対応言語全て (Node.js / Python / Java / C#) の解説があるのは素晴らしかった.また Lambda の特性に合ったアーキテクチャに関しては,AWS Summit Tokyo 2017 で講演があった内容とも似ていた.

speakerdeck.com

Chapter 8 サーバレスアプリケーション開発のデプロイ

個人的に1番良かったのは AWS SAM の紹介がされていた点だった.今まで Lambda のデプロイなら Apex を使って,API Gateway が必要なときは Serverless Framework を使っていたけど,AWS から公式に提供された AWS SAM はずっと気になっていてまだ使ったことが無かった.現状サポートされているリソースは Lambda と API Gateway と DynamoDB とのことだが,CloudWatch Events もサポートされると良いなと思う.Apex もここはサポートしていなくて,自動化できなかった.

github.com

本書には記載がなかったけど,AWS SAM で Tracing を設定すれば X-Ray も合わせてデプロイとのこと.気になる!

www.slideshare.net

誤植

初版だからかもしれないけど,typo 系の誤植があって少し気になった.実際に5箇所を発見したため,マイナビに報告をしておいた.確認してもらえれば,以下のサポートサイトに反映されるのかな?と期待している.

book.mynavi.jp

まとめ

  • Lambda を軸にサーバレス全体の理解を改めて整理できた
  • 実際に Lambda + API Gateway + DynamoDB を使うチュートリアルも紹介されていて未経験者にも参考になる内容だった
  • AWS SAM の紹介があり Lambda の運用まで考慮された解説範囲の広さだった

関連記事

先週参加した AWS Summit Tokyo 2017 の参加レポートも参照してもらえればと!

kakakakakku.hatenablog.com

実際に運用している Lambda + Apex の事例も前にまとめていて参照してもらえればと!

kakakakakku.hatenablog.com