ISBN 9784844378068
【POD】PHPでもサーバーレス!AWS Lambda Custom Runtime入門
概要
PHPでAWS Lambda Custom Runtimeを構築しサーバーレス関数を実行する
想定読者
PHPを主力言語とするバックエンドエンジニアで、サーバーレスアーキテクチャへの移行を検討しているが、公式サポート言語に縛られたくない開発者
こんな人には向いていない
- AWSやサーバーレスの基礎知識がまったくない初学者(IAMやAPI Gatewayの基本操作が前提)
- すでにbrefやSeverless Frameworkでphp-lambdaを本番運用している人には構成内容の大半が既知になる
- Python・Node.js等の公式ランタイムで運用しており、PHPへの要件が特にないエンジニア
読了後にできるようになること
- Lambda Custom Runtimeの仕組み(bootstrap実行フロー・ランタイムAPIとの通信モデル)を理解できる
- PHPのバイナリをLambda実行環境向けにパッケージングし、レイヤーとして配布する手順を実装できる
- 独自カスタムランタイムをゼロから作成し、任意言語をLambdaで動かす応用力が身につく
- LaravelやSlimなど主要PHPフレームワークをLambda上で動作させるための設定を行える
- Custom Runtimeの知識をPHP以外の言語(Ruby・Rustなど)に転用できる視点を得られる
ハイライト
- AWS Lambdaの新しい機能として、好きな言語でサーバーレス関数を実行できるカスタムランタイム(Lambda Custom Runtime)が追加されました。本書は、このカスタムランタイムをPHPで使うための解説書です。(「好きな言語で」という点が本書の独自性を最も端的に表している箇所)
- PHP以外の言語でカスタムランタイムを実行する際にも役に立つ一冊です。(PHPに限定されない汎用性を示しており、言語を問わずLambda拡張を検討する読者にも訴求できる)
外部からの言及
- PHP を Lambda で動かす試みは 2018年末の re:Invent 発表直後から複数の実装記事が書かれており、bref・stackery 等のツール経由での環境構築が主流になっている。書籍レベルでの体系的解説は少なく、本書はその空白を埋める位置づけ(qiita)
編集メモ
Qiita で直接この ISBN を引用した記事は確認できず。PHP + Lambda Custom Runtime というニッチな組み合わせを専門に扱う国内書籍として希少性はあるが、シグナル数値の裏付けが乏しいため supplementary とする
読む前に押さえておきたいこと
- AWS IAMの基本操作(ロール・ポリシー設定)とLambdaの基本的な関数作成経験
- PHP 7.x の基礎的な文法知識とComposerによる依存管理の経験
- LinuxコマンドラインおよびDockerの基本操作
学習のコツ
- まず第1〜2章でCustom Runtimeのbootstrapフローを理解してから、PHPフレームワーク章へ進むと設定の意味が把握しやすい
- Lambda Custom RuntimeのランタイムAPI仕様(AWS公式ドキュメント)を手元で開きながら読むと、本書コードとAPIの対応が見えやすい
- フレームワーク章は実際に手元のAWSアカウントでデプロイしながら追うと、コールドスタートやメモリ設定の感覚がつかめる
出版社による内容紹介
AWS Lambdaの新しい機能として、好きな言語でサーバーレス関数を実行できるカスタムランタイム(Lambda Custom Runtime)が追加されました。本書は、このカスタムランタイムをPHPで使うための解説書です。基本的な実行方法から独自のランタイムを作成し利用する方法まで紹介し、さらにいくつかのPHPフレームワークを実際にLambda上で動かすまでの流れも解説しています。PHP以外の言語でカスタムランタイムを実行する際にも役に立つ一冊です。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。