Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS Lambda で PHP を動かす Bref の布教に来ました。
Search
chatii
October 10, 2023
Programming
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS Lambda で PHP を動かす Bref の布教に来ました。
2023-10-08 PHPカンファレンス2023で登壇した際のスライドです。
登壇では時間が足りなくなり全てお話しできませんでした…。
chatii
October 10, 2023
More Decks by chatii
See All by chatii
やるのか
chatii
0
49
BrefとCDKでライブアップデートしながら開発
chatii
0
280
イベントの告知です (PHP Lovers Meetup Vol.0)
chatii
0
140
名付けできない画面を作ってはならない - 名前を付けるとは何か
chatii
1
3.5k
LAMPをこじらせてサーバーレスに乗り遅れたPHPerがLambdaに入門してみる
chatii
2
1.8k
LaraDock がいろいろ参考になった話
chatii
0
150
Other Decks in Programming
See All in Programming
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
650
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.1k
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
520
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
1
370
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
230
ソフトウェアラスタライザ
fadis
1
720
高専、大学編入、そして未踏へ〜プロダクト開発とキャリアの歩み - Technical College, University Transfer, and On to “Mitou” / My Journey in Product Development and Career
pkmiya
0
100
MySQLとPostgreSQLって何が違うの?
akagami
0
150
業務時間外もAIに働いてもらう話
colorful12
2
8.6k
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
240
源内ハンズオン概要編
hideg
0
220
リアルな遅延を測る仕様
kota_yata
1
130
Featured
See All Featured
BBQ
matthewcrist
89
10k
Building the Perfect Custom Keyboard
takai
2
850
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
400
Producing Creativity
orderedlist
PRO
348
40k
Building Applications with DynamoDB
mza
96
7.2k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
550
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
490
Un-Boring Meetings
codingconduct
0
400
A Modern Web Designer's Workflow
chriscoyier
698
190k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Transcript
AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at
PHPカンファレンス2023 2023-10-08 15:55 Track3
自己紹介 ちゃちい (𝕏: @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
AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda で
PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
話すこと サーバーレスと 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
Bref AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda
で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
Q. Brefを知っている? AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS
Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
Q. Brefを使ったことがある? AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS
Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
Q. Brefを本番環境で使ったこと がある? AWS Lambda で PHP を動かす Bref の布教に来ました。
AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
Q. 選定候補にBrefを挙げたこと がある? AWS Lambda で PHP を動かす Bref の布教に来ました。
AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
ご回答ありがとうございます Brefの布教が主題なので、 今どれくらい使われているかは知りたい AWS Lambda で PHP を動かす Bref の布教に来ました。
AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
Brefの布教? AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda
で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda で
PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda で
PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda で
PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
Brefを日本で広めたい AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda
で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
本題 AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda
で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
サーバーレスとAWS Lambda AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS
Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
サーバーレスとは サーバーの管理が不要 柔軟なスケーリング 使っていない時にはリソース不要 AWS Lambda で PHP を動かす Bref
の布教に来ました。 AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
サーバーの存在を意識しなくてよい AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda
で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
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
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
また、関数の作成にその他のプログラミング言語を 使用できるようにするための Runtime API を 提供しています。 AWS Lambda で PHP
を動かす Bref の布教に来ました。 AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
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
わかりやすい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
Bref AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda
で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
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
昨年(2022)の登壇 AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda
で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
Brefを使った開発の進め方 ここからライブでデモをやります AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS
Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
時間あれば Brefのログや エラー、モニタリング AWS Lambda で PHP を動かす Bref の布教に来ました。
AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
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
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
時間あれば Lambdaの制限を避ける構成 AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS
Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
実行時間の制限を回避する リクエスト・レスポンスの制限を回避する AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS
Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
実行時間の制限を回避する 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
リクエスト・レスポンスの 制限を回避する リクエスト 大抵ファイルアップロード クライアントサイドで直接S3 にアップロード アップロード結果を サーバーサイドに知らせる レスポンス ファイルはS3に置くこと
結果が6MBを超える そんなことある?? フロントエンドの設計も必要 AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
まとめ AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda
で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
メリット サーバーを管理しなくてよい 実行時間に対する課金 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
話せなかったこと コンテナイメージでの構築 ↑を使ったローカル環境の構築 AWS Lambda で PHP を動かす Bref の布教に来ました。
AWS Lambda で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3
ご清聴ありがとうございました AWS Lambda で PHP を動かす Bref の布教に来ました。 AWS Lambda
で PHP を動かす Bref の布教に来ました。 by chatii at PHPカンファレンス2023 Track3 by chatii at PHPカンファレンス2023 Track3