Laravel VaporServerless Laravel2019/09/25 PHP勉強会秋葉 誠一@akki_megane
View Slide
自己紹介名前:秋葉 誠一生年月日:1993/12/17会社:株式会社ニジボックス趣味:スノボ、サバゲー、野球(NPB,MLB)@akki_megane
● サーバーレスとは● Laravel Vapor とは● Laravel Vapor 使ってみて● まとめAgenda
サーバーレスとは※本題ではないのでざっくり説明します
サーバーレスとはサーバーレス
サーバーレスとはサーバーレスサーバーレス・コンピューティング
サーバーレスとはクラウド・プロバイダーがアプリケーションに必要なマシン・リソースの割り当てを動的に管理し、事前に購入されたことに基づく請求ではなく、各アプリケーション要求を満たすために使用される個々のリソース量に基づいた請求を行うようなクラウド・コンピューティングの実行モデルであるユーティリティ・コンピューティングの一形態である
サーバーレスとは物理サーバーがアプリケーション・コードを提供するユーザーの視点から完全に抽象化されているため、「サーバーレス・コンピューティング」という名前が使用される。出典:wikipedia
サーバーレスとはFaaSFunction as a Service
サーバーレスとは
サーバー管理レス柔軟なスケーリング従量課金
サーバーレスとはざっくり説明あとは自分で調べてね
Laravel Vapor とは
Laravel Vapor とは2019/07/24-25Lraracon US にてLaravel6と一緒にお披露目されました
Laravel Vapor とは作者:Taylor OtwellFounder of Laravel9〜10ヶ月 週40時間かけて作った
Laravel Vapor とはLaravel用 の サーバーレス展開・管理プラットフォームVaporは Laravel アプリケーションを、AWS Lambdaに展開し、S3、RDS、ALB 等のWebアプリケーションに必要な各種AWSのサービスと連携することができます。
Laravel Vapor とはLaravel で作った、アプリケーションをAWS Lambdaに乗っけて、動かすための機能を提供してくれるサービス(SaaS)
いくつかの機能 with 公式ドキュメント(Google 翻訳)
Laravel Vapor とは有料
Laravel Vapor とは有料AWSの料金
Laravel Vapor 使ってみて
環境● PHP:7.3以降● Laravel:6.0以降
事前準備● Laravel Vapor への登録● AWSのIAMユーザーの連携
デプロイしてみようLaravelのプロジェクト作る- このときVaporだということを意識することはない- (今の所)
デプロイしてみようツールのインストール- vapor-cli- CLIから操作できるようにするためのツール- vapor-core- Lambdaで動かせるようにするためのツール入れとくだけ
デプロイしてみようvapro.yml(設定ファイル)の編集- Vaporに関する設定はこの ファイルだけあればいい
デプロイしてみようデプロイコマンド実行- $ vapor deploy production
デプロイしてみよう
デプロイ解説※公式で詳しい解説がないので、AWSにできてるものと、ソースから追いました。間違えてる箇所もあると思いますので、ざっくり解説なので、大目にみていただけると幸いです。
デプロイ解説CLI AWS CLI
uploadLaravel のソース
個人的ツボ
個人的ツボLambda 及び、API Gateway は1つしか作られないので、Lambda内部のLaravel をつかってルーティングしている
かなり簡単にデプロイまでいける!
かなり簡単にデプロイまでいける!しかもサーバーレス!
DBにもつなぎたいよね!
VPC 作成 (CLIからでも作れる)
RDS 作成 (CLIからでも作れる)
DB補足固定サイズのRDS MySQL 8.0自動スケーリングAurora MySQL 5.6
vapro.yml 編集
vapro.yml 編集DB情報DBマイグレーション
後はデプロイするだけ
とっても簡単!
まとめ
感想● すげー!と思った● Lambdaでごにょごにょしてた身としてはとにかく驚き● なんだか革新的な感じがした● フルスタックなフレームワークでこれをやるのか
感想ただ一番思ったのが
感想帯に短し 襷に長しなんだか中途半端に感じだなー
インスタンス立てれば?LambdaのAPIにわざわざLaravel 使わなくても、、オートスケールしたならコンテナでいいんじゃ、、感想
疑問Taylor Otwell はなにを思ってLaravel Vaporを作ったのか?
海外のPodcast で答えていましたhttps://www.serverlesschats.com/7
Q. なぜLaravel Vapor を作ったのですか?
A.サーバーについて二度と考えたくないからです。そのために Laravel Forge を作りました。ただそれでも、サーバーについて考える必要がありました。
A.サーバーについて考えなくていいように、完全にサーバレスにするために、Laravel Vapor を作りました
Q. Laravel が将来的にサーバレスに向かっているということですか?
A.間違いなく将来、大きなの割合を占めるものだと思います。そして、サーバーレスの哲学とLaravelの哲学は非常に似ていると思います。目標は、価値を提供し、ビジネスに意味のあるロジックを書くことに集中できるということです。それらはうまく調和すると思います 。
A.将来、複雑さが増し、構成ファイルが増え、もっと変なコンテナ オーケストレーションですか?人々が自然に引き寄せられるような未来がこれだとは思いません。
A.人々はもっとシンプルなものが欲しいと思う。そして、結局のところ、サーバーレスの方が簡単だと思います。プラットフォームが良くなるにつれて、ツールが良くなるにつれて、よりシンプルになるだけです。
今後Laravel はどうなっていくのか?サーバレスは本当に未来なのか?なんだか面白いな!
ご清聴ありがとうございました