Slide 1

Slide 1 text

リリースされたばかりの Laravel Cloudを触ってみた PHP勉強会@東京#173 デロ (@dero1to)

Slide 2

Slide 2 text

@dero1to ■ 所属  株式会社キュービック Webエンジニア 新卒3年目 ■ 技術  Ruby、Rails、PHP、Laravel ■ 趣味  ドライブ、ダーツ、アニメ、自宅鯖 カンファレンスのスタッフ、イベントの配信 ■ 自称  カンファレンスジャンキー デロ ■ 運営  2 ■ 所属 

Slide 3

Slide 3 text

2/24 3

Slide 4

Slide 4 text

Laravel関連のアップデート ● Laravel 12 ● Laravel Cloud ● Starter Kits ● VS Code Extension 4

Slide 5

Slide 5 text

Laravel Cloud 5

Slide 6

Slide 6 text

Laravel Cloudとは 6 Laravel 用の 新しいホスティング&デプロイサービス ● Laracon US 2024で発表 ● 一昨日(2/24)に無事サービスリリース ● Laravel版Vercel

Slide 7

Slide 7 text

Laravel Cloudのできること 7 ● サーバーを管理せずに Laravel アプリケーションをデプロイ ● ワンクリックの自動スケーリング ● データベース、キャッシュ、ストレージ、セキュリティ ● ログ、メトリクスの確認やコマンドの実行も可能 ● 複数の環境に対応 ● エッジネットワーク

Slide 8

Slide 8 text

Laravel Forge、Laravel Vaporは? Laravel Forge サーバーを完全に制御して構成したい場合 ● サーバー管理 ● Application Deploy Service 8 Laravel Vapor トラフィックが急激に変化し無制限なスケール ● Laravel 用の自動スケーリング ● Serverless Deploy Platform

Slide 9

Slide 9 text

Laravel Cloudとは 9 私たちは 10 年以上にわたって開発者の要望に耳を傾けてきましたが、 答えはシンプルです。 開発者はただ出荷したいだけなのです。 We’ve spent more than a decade listening to what developers want, and it’s simple: they just want to ship. https://web.archive.org/web/20241229124534/https://cloud.laravel.com/

Slide 10

Slide 10 text

実際にLaravelをホストしてみる 10

Slide 11

Slide 11 text

Laravelのリポジトリの用意 今回はリリースされたばかりのLaravel12を使います 11

Slide 12

Slide 12 text

アカウント作成 https://laravel.cloud からアカウント作成してログイン 12

Slide 13

Slide 13 text

アプリケーションの作成 「New application」を押してアプリケーションを作る 13

Slide 14

Slide 14 text

アプリケーションの作成 リポジトリをどこから持ってくるかを選ぶ。今回はGitHubを選択 14

Slide 15

Slide 15 text

アプリケーションの作成 今回の使いたい「laravel12-app」のリポジトリを選択 15

Slide 16

Slide 16 text

アプリケーションの作成 現在はリージョンを4つから1つ選択 16

Slide 17

Slide 17 text

アプリケーションの作成 この画面ができたら完成 ただしデプロイはされていない 17

Slide 18

Slide 18 text

アプリケーションの作成 Edge networkとして ● DDoS protection ● CDN ● Edge caching これらは Cloudflare上で構築されている 18

Slide 19

Slide 19 text

アプリケーションの作成 コンピューティングリソースの設定 ● インスタンスサイズ ● オートスケーリング ● 休眠 ● スケジューラー ● バックグラウンド Job 19

Slide 20

Slide 20 text

アプリケーションの作成 コンピューティングリソースの裏 AWS Graviton EC2 ● Graviton 4 (オハイオ、フランクフルト) ● Graviton 3 (ロンドン、シンガポール) 20

Slide 21

Slide 21 text

アプリケーションの作成 コンピューティングリソースの裏 AWS Graviton EC2 ● Graviton 4 (オハイオ、フランクフルト) ● Graviton 3 (ロンドン、シンガポール) 21

Slide 22

Slide 22 text

アプリケーションの作成 ● データベース => Postgresはneon => MySQLは不明(プレビュー版) ● KV Store Redis互換のupstash ● オブジェクトストレージ S3互換のCloudflare R2 22

Slide 23

Slide 23 text

アプリケーションの作成 環境設定 ● PHP、Nodeバージョンの設定 ○ PHP ≧ 8.0 ○ Laravel ≧ 9.0 ● タイムアウト ● 環境変数の設定 23

Slide 24

Slide 24 text

アプリケーションの作成 環境設定 ● PHP、Nodeバージョンの設定 ○ PHP ≧ 8.0 ○ Laravel ≧ 9.0 ● タイムアウト ● 環境変数の設定 なぜか、PHP 8.2以降しか選べない😕 24

Slide 25

Slide 25 text

アプリケーションの作成 環境設定 ● PHP、Nodeバージョンの設定 ○ PHP ≧ 8.0 ○ Laravel ≧ 9.0 ● タイムアウト ● 環境変数の設定 なぜか、PHP 8.2以降しか選べない😕 25 Active Support終わってるし仕方ないよね

Slide 26

Slide 26 text

アプリケーションの作成 ビルドコマンドやデプロイコマンドも設定できる 26

Slide 27

Slide 27 text

アプリケーションの作成 dero1to.laravel.cloudのように、自分でlaravel.cloudより前のサブドメ インを指定できる。自分のほしいサブドメを抑えるなら今がチャンス! 27

Slide 28

Slide 28 text

デプロイ ワンボタンでデプロイ ※転送料などは別課金なのでクレジットの登録が必要 28

Slide 29

Slide 29 text

デプロイ 29

Slide 30

Slide 30 text

デプロイ 30

Slide 31

Slide 31 text

デプロイ 31

Slide 32

Slide 32 text

デプロイ 32

Slide 33

Slide 33 text

デプロイ 33

Slide 34

Slide 34 text

デプロイ ちゃんとデプロイしようとすると100分でも終わらない 34

Slide 35

Slide 35 text

デプロイ 35 爆速でいいですね

Slide 36

Slide 36 text

デプロイ 36

Slide 37

Slide 37 text

注意点 37

Slide 38

Slide 38 text

お金 38 ● プラン + リソース代 + 転送量 ○ リージョンごとに単価が異なる ● 転送量等にはプラン毎の基本枠があるが超過分は別途課金 ● リソースには休眠(hibernation)が用意されているので、 アクセスが少ないときには自動で停止できる ● Laravel Cloud には明示的な支出上限はない ○ 近日中に支出アラートが提供されるそう

Slide 39

Slide 39 text

リソース削除 39 ● アプリケーションの削除と環境の削除の2種類がある ● 環境を削除する際、デフォルトのリソースは削除ができない 別の環境を用意してデフォルトを切り替えた後に削除が行える ● またデータベース、KV Store、オブジェクトストレージは他アプリ ケーションと共有する可能性もあるため、アプリケーションを削除 しても自動で削除されないことに注意が必要

Slide 40

Slide 40 text

まとめ 40

Slide 41

Slide 41 text

まとめ ● 初めての人でも手軽にサービスをリリースできる ● 初めての人でも爆速にサービスをリリースできる 41

Slide 42

Slide 42 text

まとめ ● 初めての人でも手軽にサービスをリリースできる ● 初めての人でも爆速にサービスをリリースできる 42 さあ! 今すぐLaravel Cloudを初めて 自分のIDを抑えよう!