すべての記事

データベース不要で月100万PVを支える、判断を減らす静的ブログ設計

データベース不要で月100万PVを支える、判断を減らす静的ブログ設計 Back to Blog

🚀 データベース不要で月100万PVを支える、判断を減らす静的ブログ設計

ブログを作るなら、WordPressかHeadless CMS。
データはデータベースで管理し、サーバーを立てる。

それで困らないケースも、確かに多い。

ただ、私はその前提をすべて捨てた。

データベースは使わない。
サーバーも持たない。

それでもこのサイトは、月100万PV規模まで同一コストで運用できている。

本稿は「どう作ったか」よりも、
なぜその設計判断を選んだかに焦点を当てる。

🔍 なぜそれが起きるか(構造)

ブログ運用で本当に重いのは、表示速度でも機能不足でもない。

判断が必要になる依存が増えることだ。

  • ⚠️ DB障害時にどう復旧するか考える
  • 💾 バックアップやマイグレーションに悩む
  • 📈 スケール時の構成を議論する

これらはすべて、「書く」という行為と無関係だ。

⚙️ 解決の方針(設計原則3つ)

1

依存を減らし、判断点を消す

DB・CMS・サーバーという依存を減らすことで、
運用中に発生する「どうする?」を最小化する。

2

壊れ方を先に決める

製造業で学んだのは、
「失敗しない設計」ではなく「失敗しても迷わない設計」だった。

3

書く以外の摩擦をゼロにする

記事を書く以外の作業が増えた瞬間、ブログは止まる。

🛠️ 実装 / 運用の具体

📁 ファイルベースCMS

記事はHTMLファイルとして管理する。
GitがそのままCMSになる。

  • ✅ データベース不要
  • ✅ 履歴=バックアップ
  • ✅ ホスティング移行が容易

完全静的生成(SSG)

Next.jsで静的生成し、CDN配信のみ。
トラフィック増加=コスト増加、にはならない。

🔄 prebuildキャッシュ

外部サービス(Qiita / Zenn等)はビルド時に一度だけ取得。
本番アクセス時にAPIは叩かない。

📊 他システムとの比較

項目 一般的なCMS 本システム
データベース ❌ 必須 ✅ 不要
サーバー ❌ 必須 ✅ 不要
月額コスト 💸 $20〜100 🎉 $0
障害点 ⚠️ DB / サーバー ✅ ビルド時のみ

⚠️ 失敗パターン

  • 🚫 新しい技術を使うことが目的化する
  • 🚫 運用を後回しにする
  • 🚫 判断基準を決めないまま作り始める

意思決定のチェックリスト

障害時に、誰が判断するか決まっているか
アクセス増加時の追加コストを説明できるか
書く以外の作業が増えない設計か
やめる判断を即座に出せるか

すべて「Yes」と言えないなら、
その設計は運用フェーズで必ず重くなる。

💡 まとめ

このブログシステムは、派手な技術の集合体ではない。

判断・依存・迷いを減らした結果として、
スケールと安定性がついてきただけだ。

技術選定で迷ったときは、
「それは判断を減らすか?」と自分に問い直してみてほしい。

🔗 GitHub: repository

🌐 Live: site

💬 設計や判断の話が合いそうなら、静かに連絡してください。