Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS Lambda で PHP を動かす Bref の布教に来ました。

chatii
October 10, 2023

AWS Lambda で PHP を動かす Bref の布教に来ました。

2023-10-08 PHPカンファレンス2023で登壇した際のスライドです。
登壇では時間が足りなくなり全てお話しできませんでした…。

chatii

October 10, 2023
Tweet

More Decks by chatii

Other Decks in Programming

Transcript

  1. AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at

    PHPカンファレンス2023 2023-10-08 15:55 Track3
  2. 自己紹介 ちゃちい (𝕏: @chatii) 合同会社inbaa 代表社員 PHPerRoom 主宰 PHP Lovers

    Meetup 主宰 妻・息子・娘 + ウマ娘のトレーナー: 890 570 082 PHP 4からのPHPer AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  3. AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda で

    PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  4. 話すこと サーバーレスと AWS Lambdaの カンタンな紹介 Brefの紹介 Brefのデプロイをデモ 時間があれば ログ、エラー、モニタリング Lambdaの制限を避ける構成

    話さないこと サーバーレスの厳密な説明 Brefの仕組み PHPカンファレンス沖縄2023 清家さんの発表が参考になります (現時点非公開) AWS以外の クラウドベンダの話 AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  5. Bref AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda

    で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  6. Q. Brefを知っている? AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS

    Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  7. Q. Brefを使ったことがある? AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS

    Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  8. Q. Brefを本番環境で使ったこと がある? AWS Lambda で PHP を動かす Bref の布教に来ました。

    AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  9. Q. 選定候補にBrefを挙げたこと がある? AWS Lambda で PHP を動かす Bref の布教に来ました。

    AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  10. ご回答ありがとうございます Brefの布教が主題なので、 今どれくらい使われているかは知りたい AWS Lambda で PHP を動かす Bref の布教に来ました。

    AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  11. Brefの布教? AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda

    で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  12. AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda で

    PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  13. AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda で

    PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  14. AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda で

    PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  15. Brefを日本で広めたい AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda

    で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  16. 本題 AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda

    で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  17. サーバーレスとAWS Lambda AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS

    Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  18. サーバーレスとは サーバーの管理が不要 柔軟なスケーリング 使っていない時にはリソース不要 AWS Lambda で PHP を動かす Bref

    の布教に来ました。 AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  19. サーバーの存在を意識しなくてよい AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda

    で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  20. AWS Lambda とは AWS のサービスの一つ イベントを起点にコードを実行する Webのリクエスト 特定の時間になったら S3にファイルが置かれたら…など 「実行時間」と「リクエスト件数」に応じ費用

    "レイヤー"によるカスタマイズの他、コンテナイメージも AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  21. Lambdaが公式サポートしている言語 Lambda は、ネイティブでは、Java、Go、 PowerShell、Node.js、C#、Python、Ruby の コードをサポートしています。 AWS Lambda で PHP

    を動かす Bref の布教に来ました。 AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  22. また、関数の作成にその他のプログラミング言語を 使用できるようにするための Runtime API を 提供しています。 AWS Lambda で PHP

    を動かす Bref の布教に来ました。 AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  23. Lambdaの制限 項目 値 同時実行数(リージョンあたり) 1,000 タイムアウト 900 sec リクエスト/レスポンスのサイズ (同期リクエスト)

    6 MB 環境変数のサイズ 4 KB デプロイパッケージのサイズ 250 MB コンテナイメージのサイズ 10 GB AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  24. わかりやすいLambdaの活動の図 https://serverless-visually-explained.com/ Lambdaの発火〜終了がわかりやすい AWS Lambda で PHP を動かす Bref の布教に来ました。

    AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  25. Bref AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda

    で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  26. Bref Lambda のランタイム PHP 8.0 ~ 8.3RC2(2023-10-05時点) ARM/Gravitonのサポート Extentionのサポート Symfony、Laravelのサポート

    Serverless Framework, AWS CDK でのデプロイ CDKスキーとしては大歓喜 AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  27. 昨年(2022)の登壇 AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda

    で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  28. Brefを使った開発の進め方 ここからライブでデモをやります AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS

    Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  29. 時間あれば Brefのログや エラー、モニタリング AWS Lambda で PHP を動かす Bref の布教に来ました。

    AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  30. Brefならではというものはない CloudWatch Logsと仲良くする stdout , stderr めんどう…? Bref Dashboardで表示できる AWS

    Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  31. DataDog CloudWatch Logsを収集してくれる New Relic CloudWatch Logsを収集するLambdaが提供されている Tideways Brefのドキュメントで紹介されているが デーモンがEC2インスタンスで必要

    Sentry エラー検知のみなら AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  32. 時間あれば Lambdaの制限を避ける構成 AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS

    Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  33. 実行時間の制限を回避する リクエスト・レスポンスの制限を回避する AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS

    Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  34. 実行時間の制限を回避する 1. バッチ処理の開始 EventBridge Schedulerで発火 2. AWS Step Functionsの起動 1.

    バッチ処理対象を収集するタスク 2. 並列でバッチ処理 3. すべてが終わったらバッチ処理完了 1実行あたりの処理時間を極力減らすように作る 途中エラーがあったら巻き戻せるように作る AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  35. リクエスト・レスポンスの 制限を回避する リクエスト 大抵ファイルアップロード クライアントサイドで直接S3 にアップロード アップロード結果を サーバーサイドに知らせる レスポンス ファイルはS3に置くこと

    結果が6MBを超える そんなことある?? フロントエンドの設計も必要 AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  36. まとめ AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda

    で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  37. メリット サーバーを管理しなくてよい 実行時間に対する課金 Symfony, Laravelへの 導入の手軽さ 既存のアプリの移行はどうかな… デメリット 同時実行数の制限 リージョンあたり1000まで

    1関数ではなく、すべて 新規AWSアカウント作ると初期 値10 引き上げリクエストしないと… ローカル環境との差異 PHPが動くなら動くでしょうとい う割り切り コンテナを使おう AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  38. 話せなかったこと コンテナイメージでの構築 ↑を使ったローカル環境の構築 AWS Lambda で PHP を動かす Bref の布教に来ました。

    AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
  39. ご清聴ありがとうございました AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda

    で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3