社内向け業務システムやSaaSのMVP(実用最小限の製品)を、Vercel(フロントエンドのホスティングサービス)とSupabase(PostgreSQLベースのバックエンドサービス)で組んだあと、サービス数が増えて管理が煩雑になってきたという相談は珍しくありません。
この記事は、そうした構成の運用を1〜3人程度の小規模チームで担当しているエンジニア・情シス担当者に向けて書いています。初期構築を担当した本人が異動・退職したあとに引き継いだ、という状況でも参考になるはずです。
どんな場面でこの判断が必要になるか
VercelとSupabaseの組み合わせは、立ち上げ時のスピードに優れています。
フロントエンドはGitにpushすれば数分でデプロイされ、PostgreSQL(オープンソースのリレーショナルデータベース)と認証機能もSupabase側にあらかじめ用意されています。
問題は、要件が増えたときです。バックグラウンドジョブ、Redis(インメモリ型のキャッシュ・キュー管理ツール)によるキュー処理、メール送信、監視、バックアップと、機能を足すたびに別サービス・別ダッシュボード・別料金体系が増えていきます。
結果として、障害が起きたときに「どのサービスの責任範囲か」を特定するだけで時間を取られる状態になります。アプリのリクエストが遅いとき、ホスティング側・DB側・外部サービス側のどこを見るべきか、切り分けの手間が発生する構成です。
この状態に心当たりがあるなら、構成を見直すタイミングです。判断軸を整理します。
判断軸1: 障害切り分けのコスト
1つ目の軸は、障害発生時にどれだけ早く原因箇所を特定できるかです。
サービスが分散しているほど、ログの参照先も分散します。フロントの遅延がネットワークなのか、DB接続プールの枯渇なのか、外部APIのレート制限なのか、切り分けに複数のダッシュボードを行き来する必要が出てきます。
業務システムでは、障害時の一次対応者が初期構築者と異なるケースが多くあります。ドキュメント化されていない依存関係が多いほど、引き継ぎ後の運用コストは膨らみます。
判断軸2: 従量課金の予測可能性
2つ目の軸は、コストが利用状況とともにどう変化するかです。
マネージドサービスの多くは、リクエスト数・DB接続数・アクティブユーザー数など複数の指標で課金されます。トラフィックが増えたときに、どの指標がボトルネックになり請求がどう跳ねるか、事前に見積もりにくい構成です。
業務システムの予算管理では、月次コストが一定であることの価値が意外と大きくなります。特に社内システムでは、利用部門への課金按分やコスト説明が必要な場面もあり、変動費より固定費のほうが説明しやすいことがあります。
判断軸3: 運用スキルセットとチーム規模
3つ目の軸は、インフラ運用に割ける人的リソースです。
DIYで専用サーバーを借りて自前運用する選択肢は、コストの予測可能性とコントロール性が高い一方、OSアップデート・TLS証明書の更新・バックアップ・監視まで自分たちで面倒を見る必要があります。
小規模チームがこれを担うと、本来の開発業務に割く時間が圧迫されます。逆に、専任のSRE(サイト信頼性エンジニアリング)担当がいる組織であれば、DIY運用のコントロール性はメリットとして働きます。
判断軸4: エージェント・自動化ツールとの相性
4つ目の軸は、AIコーディングエージェントや自動化スクリプトからインフラを操作する頻度です。
管理画面をクリックしないと実行できない操作が多いサービスは、自動化との相性がよくありません。REST API(プログラムから操作できるインターフェース)やMCP(AIエージェントが外部ツールを呼び出すための標準プロトコル)に対応しているかどうかは、今後の開発フローに影響します。
選択肢の比較
| 選択肢 | 初速 | 運用負荷 | コスト予測性 |
|---|---|---|---|
| Vercel + Supabase等の組み合わせ型SaaS | 非常に高い | サービス増加で上昇 | 従量課金で変動しやすい |
| 専用サーバーのDIY自前運用 | 低い | 常に高い(自分たちが全責任) | サーバー費用のみで安定 |
| 1台に集約したマネージド専用機(Latheのような形態) | 中程度 | 低い(運用は外部が担当) | マシンサイズ基準で固定 |
1台の専用機に集約するアプローチは、Lathe(アプリ・DB・認証を1台のマシンにまとめて運用を代行するサービス)のような製品に見られます。Postgres 17にPgBouncer(接続プールを管理するミドルウェア)とpgvector(ベクトル検索を可能にする拡張機能)を組み合わせ、Redis・CouchDB・NATS JetStream(メッセージング基盤)まで同一マシン上で提供する構成です。
このタイプの料金は月額15〜89ドルで、マシンサイズ基準の固定料金になっています。リクエスト数やDB接続数、アクティブユーザー数で課金が変動しない設計です。
操作経路も、Webポータル・REST API・MCPサーバーの3種類が同じ操作対象に接続する形で用意されており、MCP経由では約65種類の管理オペレーションをエージェントから呼び出せるとされています。支払いや破壊的操作には人の確認が必要な設計です。
ケース別の推奨
- 社内向け業務システムで、担当者が1〜2人・障害対応の属人化を避けたいなら、サービス数を絞れる集約型構成が有利です。切り分けの手間が減り、引き継ぎ資料もシンプルになります。
- トラフィックがほぼ一定で予算の上振れを避けたいなら、固定料金型の構成を検討する価値があります。従量課金型のまま複数サービスを積み上げると、月次コストの説明責任が重くなります。
- AIエージェントによる運用自動化を積極的に進めたいなら、MCP対応やAPI経由での操作可否を選定基準に加えるべきです。管理画面の手作業が残る構成は、自動化の効果を薄めます。
- すでに専任のSRE・インフラ担当者がいて、細かなチューニングを重視するなら、DIY自前運用のメリットが相対的に大きくなります。
あえて見送るべき条件
一方で、集約型やDIY型への移行を見送ったほうがよい条件もあります。
トラフィックがほぼアイドル状態で、無料枠に収まる小規模プロジェクトであれば、Vercel・Supabaseの無料〜低価格帯プランのままで十分です。移行コストのほうが高くつきます。
また、将来的に水平スケーリング(サーバー台数を増やして負荷分散する方式)や高可用性構成が確実に必要になると分かっている場合、1台に集約する構成は前提と合いません。マルチリージョン展開やオートスケールが必須要件なら、従来のクラウドネイティブな分散構成を維持するほうが妥当です。
まとめ
構成を見直す前に、まず現状の障害対応ログを振り返り、切り分けにかかった時間を数えてみてください。
- 障害切り分けに複数ダッシュボードを行き来しているか
- 月次請求が予測しにくく説明に手間取っているか
- インフラ運用に割ける人員がチームに常駐しているか
- エージェントやスクリプトからインフラ操作を自動化したいか
これらの多くに当てはまるなら、Vercel + Supabase型の分散構成から、集約型のマネージド構成やDIY自前運用への切り替えを検討する価値があります。逆に当てはまらないなら、いまの構成を維持しつつ、増えたサービスの依存関係だけをドキュメント化しておくのが現実的な一歩です。