Slide 1

Slide 1 text

Laravel Vapor Serverless Laravel 2019/09/25 PHP勉強会 秋葉 誠一 @akki_megane

Slide 2

Slide 2 text

自己紹介 名前:秋葉 誠一 生年月日:1993/12/17 会社:株式会社ニジボックス 趣味:スノボ、サバゲー、野球(NPB,MLB) @akki_megane

Slide 3

Slide 3 text

● サーバーレスとは ● Laravel Vapor とは ● Laravel Vapor 使ってみて ● まとめ Agenda

Slide 4

Slide 4 text

サーバーレスとは ※本題ではないのでざっくり説明します

Slide 5

Slide 5 text

サーバーレスとは サーバーレス

Slide 6

Slide 6 text

サーバーレスとは サーバーレス サーバーレス・コンピューティング

Slide 7

Slide 7 text

サーバーレスとは クラウド・プロバイダーがアプリケーションに必要なマシン・リ ソースの割り当てを動的に管理し、 事前に購入されたことに基づく請求ではなく、 各アプリケーション要求を満たすために使用される個々のリ ソース量に基づいた請求を行うような クラウド・コンピューティングの実行モデルである ユーティリティ・コンピューティングの一形態である

Slide 8

Slide 8 text

サーバーレスとは 物理サーバーがアプリケーション・コードを提供するユー ザーの視点から完全に抽象化されているため、「サーバー レス・コンピューティング」という名前が使用される。 出典:wikipedia

Slide 9

Slide 9 text

サーバーレスとは FaaS Function as a Service

Slide 10

Slide 10 text

サーバーレスとは

Slide 11

Slide 11 text

サーバー管理レス 柔軟なスケーリング 従量課金

Slide 12

Slide 12 text

サーバーレスとは ざっくり説明あとは自分で調べてね

Slide 13

Slide 13 text

Laravel Vapor とは

Slide 14

Slide 14 text

Laravel Vapor とは

Slide 15

Slide 15 text

Laravel Vapor とは 2019/07/24-25 Lraracon US にてLaravel6 と一緒にお披露目されました

Slide 16

Slide 16 text

Laravel Vapor とは

Slide 17

Slide 17 text

Laravel Vapor とは

Slide 18

Slide 18 text

Laravel Vapor とは 作者:Taylor Otwell Founder of Laravel 9〜10ヶ月 週40時間 かけて作った

Slide 19

Slide 19 text

Laravel Vapor とは Laravel用 の サーバーレス展開・管理プラットフォーム Vaporは Laravel アプリケーションを、AWS Lambdaに展開 し、S3、RDS、ALB 等の Webアプリケーションに必要な各種AWSのサービスと連携す ることができます。

Slide 20

Slide 20 text

Laravel Vapor とは Laravel で作った、アプリケーションを AWS Lambdaに乗っけて、動かす ための機能を提供してくれるサービス(SaaS)

Slide 21

Slide 21 text

いくつかの機能 with 公式ドキュメント(Google 翻訳)

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

Laravel Vapor とは 有料

Slide 24

Slide 24 text

Laravel Vapor とは 有料 AWSの料金

Slide 25

Slide 25 text

Laravel Vapor 使ってみて

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

環境 ● PHP:7.3以降 ● Laravel:6.0以降

Slide 28

Slide 28 text

事前準備 ● Laravel Vapor への登録 ● AWSのIAMユーザーの連携

Slide 29

Slide 29 text

デプロイしてみよう Laravelのプロジェクト作る - このときVaporだということを意識することはない - (今の所)

Slide 30

Slide 30 text

デプロイしてみよう ツールのインストール - vapor-cli - CLIから操作できるようにするためのツール - vapor-core - Lambdaで動かせるようにするためのツール 入れとくだけ

Slide 31

Slide 31 text

デプロイしてみよう vapro.yml(設定ファイル)の編集 - Vaporに関する設定はこの ファイルだけあればいい

Slide 32

Slide 32 text

デプロイしてみよう デプロイコマンド実行 - $ vapor deploy production

Slide 33

Slide 33 text

デプロイしてみよう

Slide 34

Slide 34 text

デプロイ解説 ※公式で詳しい解説がないので、 AWSにできてるものと、ソースから追いました。 間違えてる箇所もあると思いますので、 ざっくり解説なので、 大目にみていただけると幸いです。

Slide 35

Slide 35 text

デプロイ解説 CLI AWS CLI

Slide 36

Slide 36 text

upload Laravel のソース

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

No content

Slide 39

Slide 39 text

個人的ツボ

Slide 40

Slide 40 text

個人的ツボ Lambda 及び、API Gateway は1つしか作られないので、 Lambda内部のLaravel をつかってルーティングしている

Slide 41

Slide 41 text

かなり簡単にデプロイまでいける!

Slide 42

Slide 42 text

かなり簡単にデプロイまでいける! しかもサーバーレス!

Slide 43

Slide 43 text

DBにもつなぎたいよね!

Slide 44

Slide 44 text

VPC 作成 (CLIからでも作れる)

Slide 45

Slide 45 text

RDS 作成 (CLIからでも作れる)

Slide 46

Slide 46 text

DB補足 固定サイズの RDS MySQL 8.0 自動スケーリング Aurora MySQL 5.6

Slide 47

Slide 47 text

vapro.yml 編集

Slide 48

Slide 48 text

vapro.yml 編集 DB情報 DBマイグレーション

Slide 49

Slide 49 text

後はデプロイするだけ

Slide 50

Slide 50 text

とっても簡単!

Slide 51

Slide 51 text

まとめ

Slide 52

Slide 52 text

感想 ● すげー!と思った ● Lambdaでごにょごにょしてた身としてはとにかく驚き ● なんだか革新的な感じがした ● フルスタックなフレームワークでこれをやるのか

Slide 53

Slide 53 text

感想 ただ一番思ったのが

Slide 54

Slide 54 text

感想 帯に短し 襷に長し なんだか中途半端に感じだなー

Slide 55

Slide 55 text

インスタンス立てれば? LambdaのAPIにわざわざLaravel 使わなくても、、 オートスケールしたならコンテナでいいんじゃ、、 感想

Slide 56

Slide 56 text

疑問 Taylor Otwell はなにを思って Laravel Vaporを作ったのか?

Slide 57

Slide 57 text

海外のPodcast で答えていました https://www.serverlesschats.com/7

Slide 58

Slide 58 text

Q. なぜLaravel Vapor を作ったのですか?

Slide 59

Slide 59 text

A. サーバーについて二度と考えたくないからです。 そのために Laravel Forge を作りました。 ただそれでも、サーバーについて考える必要がありまし た。

Slide 60

Slide 60 text

A. サーバーについて考えなくていいように、 完全にサーバレスにするために、 Laravel Vapor を作りました

Slide 61

Slide 61 text

Q. Laravel が将来的に サーバレスに向かっているということですか?

Slide 62

Slide 62 text

A. 間違いなく将来、大きなの割合を占めるものだと思いま す。そして、サーバーレスの哲学とLaravelの哲学は非常 に似ていると思います。 目標は、価値を提供し、ビジネスに意味のある ロジックを書くことに集中できるということです。 それらはうまく調和すると思います 。

Slide 63

Slide 63 text

A. 将来、複雑さが増し、構成ファイルが増え、 もっと変な コンテナ オーケストレーションですか? 人々が自然に引き寄せられるような未来が これだとは思いません。

Slide 64

Slide 64 text

A. 人々はもっとシンプルなものが欲しいと思う。そして、 結局のところ、サーバーレスの方が簡単だと思いま す。 プラットフォームが良くなるにつれて、ツールが良くなる につれて、よりシンプルになるだけです。

Slide 65

Slide 65 text

今後Laravel はどうなっていくのか? サーバレスは本当に未来なのか? なんだか面白いな!

Slide 66

Slide 66 text

ご清聴ありがとうございました