本日も乙

ただの自己満足な備忘録。

「実践AWS Lambda」はAWS Lambdaを使うすべての人が読むと良い本

[toc]

AWS Summit 2017で先行発売(PDF版付き)されていたので、購入して読んでみました。 Amazonの商品ページを見ると、6/9発売なんですね。

本の構成

Amazonから引用してきました。

Chapter 1 AWS Lambdaとは Chapter 2 Amazon Web Services(AWS)利用の準備 Chapter 3 AWS Lambdaの使い方 Chapter 4 プログラミングモデル Chapter 5 サーバレスとは Chapter 6 ユースケース Chapter 7 サーバレスで作るアプリケーション例 Chapter 8 サーバレスアプリケーション開発のデプロイ

Chapter1〜4

前半(Chapter1〜4)はAWS Lambdaについての説明がメインです。AWS Lambdaの概要から細かい仕様まで解説されています。 AWSアカウントの作成から解説しているので、AWSアカウントを作ったことがない人もこの本だけで始めることができます。画面図が多く、とても分かりやすいので本を片手に写経できます。サポートしている全ての言語ランタイム(Java, Node.js, C#, Python(2.7, 3.6))それぞれ取り上げているのも嬉しいですね。

体系的に解説されているので、AWS Lambdaを普段から使っていても意外と知らないことがありました。例えば、以下の項目は知りませんでした(お恥ずかしい限りですが・・・)。

  • Lambda関数をローカルで実行する方法 (今まで関数書き換えていました・・・)
  • 環境変数の設定方法、 Lambda関数内で定義されている環境変数
  • AWS Key Management Service (KMS)を使った環境変数の暗号化 (今までCLIでKMSで暗号化して、Lambda関数内で復元していました・・・)
  • デッドレターキュー

料金体系は、料金表にある料金例を見ても理解しづらかったのですが、本書では計算根拠を丁寧に説明されているのと、複数の計算例を出していたので分かりやすかったです。料金表にかかれている金額がおよその価格だとは知りませんでした(今、価格表を見たら確かに書いてありました)。 AWS Lambdaバリバリ使っている人は「4.5 Lambda関数作成時のポイント」だけでも読んでおくと意外と落とし穴にハマっていることもあるので一読をオススメします。

Chapter5〜8

前半だけ読むと「実践」というよりも「入門」に近い印象を受けましたが、後半(Chapter5〜8)はサーバレス、AWS Lambdaと他のAWSサービスを使ったユースケースの紹介、Serverless Application Model(SAM)と「実践」という本のタイトルに沿ったものになっています。

API Gateway, DynamoDB, S3を組み合わせたサムネイル作成やAPIバックエンドの実装例が紹介されており、説明通りに手を動かすだけで簡単に作ることができます。 AWS Serverless Application Model (AWS SAM)も取り上げており、CloudFormationでAWS LambdaだけでなくAPI GatewayによるAPI実装やCloudWatch Eventsによる定期実行の設定ができるのはとても良いですね。 デプロイの自動化では、AWS CodePipelineとAWS Codebuildを設定し、GitHubにgit pushするだけでデプロイする方法が紹介されています。Jenkinsなどビルドやデプロイ環境を自前で用意しなくても良いので運用者は必読です。

オススメ読者層

  • AWSに馴染みがない初心者
  • AWS Lambdaについてあまり知らない人
  • AWS Lambdaを普段から使っているが、もっと活用したい人
  • AWS Lambdaについてもっと深く知りたい人

最後に

タイトルでも書きましたが、「実践AWS Lambda」は初心者から上級者まで幅広くAWS Lambdaに触れる人にとって良い本だと思います。 ※私はAWSを普段から使っていますが、AWSの回し者ではありません。