Slide 1

Slide 1 text

PHP Serverless Pattern PHPerKaigi 2 0 24 2 0 24 . 3 . 7 3 . 9 @seike 4 60 1 1 . 2 . PHP Bref Twelve-Factor App 3 . API 4 . Web 5 . 6 . 非 7 . Cron

Slide 2

Slide 2 text

っ 大 / 用 Cloud Native Computing Foundation CNCF Serverless Working Group CNCF Serverless Whitepaper v 1 . 0 2018 2 月 CNCF Serverless Whitepaper v 1 . 0 FaaS API BaaS 方 一方 言 行 み      自    用      用 金    用 比   用    用    ✕      用 長         行         比    行 2

Slide 3

Slide 3 text

PHP Bref Twelve-Factor App っTwelve-Factor App   Twelve-Factor App 方   12 っPHP Bref   AWS Bref 用   Bref PHP AWS Lambda 行 Bref 用 用   用 PHP Lambda 行   Bref 行 っPHP Twelve-Factor App   Bref 用 PHP AWS Lambda 用 Twelve-Factor App   AWS Lambda 用 用 大   GitHub Actions CI/CD 自 行   Twelve-Factor App PHP 3

Slide 4

Slide 4 text

Twelve-Factor App - 1 I. 1 GitHub 一 II. 示 言 Composer PHP composer.json composer.lock 一 III. AWS Secrets Manager 用 API IV. 用 V. 行 行 3 GitHub Actions Bref PHP 自 GitHub Actions 自 AWS Lambda 行 AWS Lambda 行 VI. 1 行 AWS Lambda 立 4

Slide 5

Slide 5 text

Twelve-Factor App - 2 VII. AWS Lambda API Gateway Lambda VIII. 行 AWS Lambda 自 IX. 高 大 AWS Lambda 高 X. / 一 一 Docker 用 AWS Lambda 自 AWS Lambda XI. AWS Lambda Amazon CloudWatch 自 用 ・ XII. 1 行 AWS Lambda 一 行 PHP Bref 用 Twelve-Factor App CloudNative 示 用 示 5

Slide 6

Slide 6 text

API PHP 用 API Amazon Cloudfront React PHP API API 示 UX DynamoDB 高 DB 6

Slide 7

Slide 7 text

Web Web AWS Lambda HTML 力 Laravel 一 Laravel public 非 Serverless Framework serverless-lift 用 用 public Amazon CloudFront 行 PHP DB DynamoDB 用 RDB 用 TiDB Serverless DB 入 RDB AWSLambda 用 7

Slide 8

Slide 8 text

用 8 Web 用 高 用 Cloudfront AWS WAF 用 自 IP 入口 Web AWS Lambda Amazon VPC AWS Lambda 用 Web 比 Amazon RDS 用 TiDB 用 AWS PrivateLink 用 SSL

Slide 9

Slide 9 text

非 9 Web 用 大 行 API 用 示 生 API AWS Lambda Amazon SQS SQS AWS Lambda UX AWS Lambda 行 Amazon SNS Amazon SES API Gateway 用 WebSocket

Slide 10

Slide 10 text

Cron 10 行 行 Amazon EventBridge AWS Lambda 自 行 AWS Lambda Amazon SNS Slack AWS Chatbot 用 力 SNS AWS Lambda