Slide 1

Slide 1 text

創業期 Not Severless ! ~ たくさんのリプレイスを添えて~

Slide 2

Slide 2 text

Agenda Serverlessは何がlessなのか? サーバーレスの選択に必要なもの ElasticBeanstalkの課題感 ECSに変更した理由 まとめ

Slide 3

Slide 3 text

自己紹介 テックリード / Suguru Ohki スー T e c h T r a i n の エ ン ジ ニ ア 1 人 目 。 技 術 を 反 復 横 跳 び し て い ま す が 、 前 よ り 抑 え ら れ て い ま す ・ ・ ・ ! 趣 味 : サ ウ ナ 、 お 酒 。 コ ー ド を 書 く こ と ・ ・ ・ ?

Slide 4

Slide 4 text

01 Serverlessは何が lessなのか?

Slide 5

Slide 5 text

Serverl essは何がl essなのか? 🙅‍♀️ サーバーがないこと 🙆‍♀️ サーバー管理がなくなること 大前提を揃えると・・・

Slide 6

Slide 6 text

Serverl essは何がl essなのか? トリさんのスライド より引用

Slide 7

Slide 7 text

Serverl essは何がl essなのか? トリさんのスライド より引用

Slide 8

Slide 8 text

Serverl essは何がl essなのか? トリさんのスライド より引用 ≒メリットである常駐プロセスの管理の放棄の決定

Slide 9

Slide 9 text

常駐プロセスの管理の放棄は何を意味するか? イベント駆動などのサーバーレスに適した アーキテクチャの選択

Slide 10

Slide 10 text

02 Serverlessの 選択に必要なもの

Slide 11

Slide 11 text

採用 サーバーレスのアーキテクチャに 慣れた人がいること 技術 現在のチームに適した技術で サーバーレスを利用しやすい状況で あること 1 2 サーバーレスの 選択に必要なもの

Slide 12

Slide 12 text

採用 サーバーレスのアーキテクチャに 慣れた人がいること 技術 現在のチームに適した技術で サーバーレスを利用しやすい状況で あること 1 2 サーバーレスの 選択に必要なもの →いない。社員1人。 →PHP?んなわけ・・・! Node.js使いこなせない!

Slide 13

Slide 13 text

サーバーレスの 選択に必要なもの サーバーレスに向いたアーキテクチャに慣れた人がいない 1 . バックエンドで慣れてる人が多いPHPが適していない 2 . 選定理由 ElasticBeanstalkを当時は選択 with スタートアップスタジオの方

Slide 14

Slide 14 text

03 ElasticBeanstalkの 課題感

Slide 15

Slide 15 text

El asti cBeanstal kの 課題感 PHPのバージョンアップ対応の遅さ 1 . スケールインアウトの粒度が大きい 2 . デプロイに時間がかかる 3 . 当時の状態

Slide 16

Slide 16 text

El asti cBeanstal kの 課題感 PHPのバージョンアップ対応の遅さ →自前でやりたい 1 . スケールインアウトの粒度が大きい→ECSなら小さくできそう 2 . デプロイに時間がかかる→ECSならCDの改善の余地あり 3 . 当時の状態

Slide 17

Slide 17 text

El asti cBeanstal kの 課題感 PHPのバージョンアップ対応の遅さ →自前でやりたい 1 . スケールインアウトの粒度が大きい→ECSなら小さくできそう 2 . デプロイに時間がかかる→ECSならCDの改善の余地あり 3 . 当時の状態 コンテナってやつの出番ではないか・・・?

Slide 18

Slide 18 text

El asti cBeanstal kの 課題感 環境のポータビリティ 1 . スケールイン・アウトの単位を小さくする 2 . 迅速なデプロイ 3 . コンテナ周りが解決すると考えていたこと 実際には、PHPの場合1のメリットが一番大きかった

Slide 19

Slide 19 text

04 ECSに変更した理由

Slide 20

Slide 20 text

ECSに変更した理由 ECS: 1 . EKS: 2 . コンテナを利用するにしても選択肢があった

Slide 21

Slide 21 text

ECSに変更した理由 ECS: コンテナ単位でたタスクを指定し、コントロールできる 1 . EKS: ECSよりもさらに細かくコントロールが可能 2 . コンテナを利用するにしても選択肢があった

Slide 22

Slide 22 text

ECSに変更した理由 ECS: コンテナ単位でたタスクを指定し、コントロールできる 1 . EKS: ECSよりもさらに細かくコントロールが可能 2 . コンテナを利用するにしても選択肢があった ECSを採用 。まだ当時1人の状況が続いており、 流石に Kubernetesのメンテコストを無視できなかった

Slide 23

Slide 23 text

ECSに変更した理由 事業的には人がいてお金があれば、 EKSという選択も実はアリだった。 補足 VSCodeなどのエディタのホスティングpodを発行 1 . 問題のTest実行をKubernetes内でpodを立てて実行 2 . ユーザーごとに1,2を踏まえた細かいハンドリングを実行 3 .

Slide 24

Slide 24 text

ECSに変更した理由 事業的にはk8sのメンテナがいてお金があれば、 EKSという選択も実はアリだった。 補足 ↑をやるにはECSだと難しいポイントが多い。 VSCodeなどのエディタのホスティングpodを発行 1 . 問題のTest実行をKubernetes内でpodを立てて実行 2 . ユーザーごとに1,2を踏まえた細かいハンドリングを実行 3 .

Slide 25

Slide 25 text

05 まとめ

Slide 26

Slide 26 text

まとめ サーバーレスを採用するにあたっては必要な人と技術がある 1 . ない→コンテナを使ったオーソドックスなWebがおすすめ 2 . 最近ハードルが下がったため、サーバーレススタートはあり! 3 .

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

余談: 今だったらどういう構成にする? PHPメイン 1 . Laravel+bref+Lambda a . 処理時間が短い, フロントエンドの充実が必要ない i . バックエンド系にロジックを入れたいならこれ ii . フロントエンドメイン 2 . Next.js+Cloudflare(or Vercel)+supabase a . 見せ方が重要,バックエンドのロジックが少なめ i . メディアに近い構成や会員サイトくらいならこれが楽 ii .