個人開発 | 環境構築の考察メモ
個人開発の環境構築について考察したメモです
随時更新していく予定です
やりたいこと
基本構成
まずは、基本的な構成を考えた
技術選定
事例をいろいろ見てみると、以下の技術で実装すると、コスパがよさそう
Honoで完結できそう
当初は、Google Cloudの Cloud Run でアプリケーションサーバーを建てようと思ったけど、以下の記事で、CloudflareからDBにTCPで直接アクセスでそう
そうなると、アプリケーションサーバーを切り離す理由がなくなる。
Honoでどこまで実装できるかによるけど、不都合があれば、Google Cloudの Cloud Run でアプリケーションサーバーを建てようと思う
バッジサーバーは、Google Cloud Runを採用
AWS App Runner と悩んだけど、事例が多いCloud Runを採用した。
パフォーマンスが良さそうなGolang試してみる。
DBはNeon
Neon、PlanetScale、Supabase で迷ったけど、コストがよさそうなNeonを採用した
リアル通信サーバーはJanus Gateway
Agoraと迷ったけど、Janus Gatewayを採用する。
Agoraは、サーバー構築が不要で便利なんだけど、無料プランが月額10,000分間しかつかえない。
見積もり
各Passのフリープランで、どれぐらいのユーザ数のアクセスに耐えれるか計算してみる
Cloudflare Workers
1ユーザーがアプリを使用するたびに叩くリクエスト数は、仕様的におそらく50回もいかない気がする。
1日5回はアプリを使用と想定した場合、1ユーザーが叩くリクエスト数は多くても、250回になる
なので、Daily Active Usersが400ユーザー(100,000 ➗ 250)であれば無料プランでも耐えれそう
ここらへんは、実際にリリースしてみないとわからないけど、仮説として持っておく
Daily Active Usersの監視には、Firebase を使用する。
CPU timeに関しては、どうなるかわからないなー。
これはHoneで実装しながら、確認する必要がある
OSでCPU timeを取得できるぽいので、10ミリ秒間を超えたら、Error Reporting API エンドポイントでGCPになげれば検知できそう
Cloud Run
Google Cloud Platform 料金計算ツール で見積もりしたら、月額3.22円でいけそうだ。(ほんとうかな)
仕様的に、週次で、数万行のレコードを更新しそう
どれぐらいのスペックが必要なのか現時点ではイメージつかない
Neon
Pro プランを使用する
Janus Gateway
GCPのインスタンスにJanusいれて、インストールすれば良さそう最適化するには、インプットする必要がありそう
開発環境
Cloudflare Workersに関しては、wrangler を使ってにHonoを入れたらよさあそう
Goolge Cloud Run は Dockerで行う。そのままPushもできるみたい
Neonで開発環境、本番環境の両方が作れそう
まとめ
判断材料がある程度揃ってきたので、実際に開発してみる
参考資料
この記事が気に入ったらサポートをしてみませんか?