Capacity Planning
リソース枯渇の予測と事前対応で「突然のサーバーダウン」を防ぐ
よくあるシナリオ:年末セール当日にサーバーダウン
ECクライアントで年末セール当日の午前10時、突然サイトが落ちる。DBのディスクが満杯。緊急で追加ストレージを発注するが調達に3日かかり、数千万円の機会損失。翌日の会議で「なぜ予測できなかったのか」と責任追及。
- 毎日少しずつ増えていたのに誰も気づいていなかった
- 緊急調達で通常の3倍のコストが発生
- 深夜・休日に全員招集で対応する消耗戦
- ユーザーへの影響→ブランド毀損→解約リスク
3ステップで「突然の障害」を防ぐ
キャパシティプランニング 3 ステップ
CPU・メモリ・ストレージ・帯域の使用量をメトリクスで収集。過去トレンドを可視化。
線形・指数・季節性モデルで将来のリソース需要を予測。枯渇時刻(Time to Exhaustion)を算出。
リードタイムを考慮して事前に発注・スケールアウト。コスト最適化も同時に検討。
核心概念を押さえる
Time to Exhaustion。現在の使用量と成長率から「何日後に上限に達するか」を計算。これが計画の出発点。
例:現在50GB、毎日2GB増加、上限100GB → (100-50)÷2 = 25日後に枯渇
線形(毎月一定増加)・指数(毎月倍増)・季節性(年末に急増)の3パターン。間違ったモデルを選ぶと予測が大きく外れる。
例:SNSサービスが急成長中→線形ではなく指数モデルで予測しないと大幅に過小評価
リソース調達に必要な期間。「枯渇予測日 - リードタイム - バッファ」が対応開始期限。これを知らないと手遅れになる。
例:クラウド新インスタンス: 即時。オンプレサーバー: 2〜4週間。
上限の20〜30%は余裕として確保する。ピークトラフィックへの対応とウォームアップ時間を考慮。
例:最大使用量80GBのディスク → 100GBを調達(20%バッファ)
Auto Scalingは数分かかる。年末セールのような急激な増加には事前スケールが必要。組み合わせが重要。
例:大型セールの1週間前から段階的にキャパシティを増やし、当日に最大規模にしておく
上限の80%到達時点でアラートを発火させる。100%になってから知るのでは遅い。Prometheusで自動設定可能。
例:ディスク使用率80%でSlack通知 → チームが2週間前に対処できる
キャパシティ予測チャート(CPU使用率 %)
AI で SRE の仕事はどう変わるか
- スプレッドシートで線形予測(季節性を見逃す)
- 手動で過去データをグラフ化して目視判断
- 大型イベント前の手動キャパシティレビュー
- インシデント後に「なぜ予測できなかったか」の振り返り
- 季節性・外部イベントを考慮したMLベース需要予測(AWS Predictive Scaling)
- 過去パターンから自動スケールスケジュールを提案(Google Cloud Autopilot)
- 複数リソースの枯渇リスクを統合スコアリング(Datadog Forecast)
- ビジネスカレンダーと連動した自動プロビジョニング(Azure AI capacity)
- 新規ビジネスイベント・プロモーション情報の提供
- コスト上限・調達承認の最終判断
- AIモデルが見落とした外部要因の考慮
- 長期アーキテクチャ設計(スケール戦略の方向性)
主なツール:AWS Predictive Scaling、Google Cloud Autopilot、Datadog Forecast、Azure AI、Spot by NetApp
この先の見通し:2027年にはAIがビジネス計画(売上目標・マーケティングカレンダー)を読み込み、インフラ需要を自動予測・プロビジョニングする完全自律型キャパシティ管理が実現。人間の介入は異常値のレビューと大型投資の承認のみになる見込み。
導入による効果の目安(業界の一般的な傾向)
- キャパシティ起因障害
- ゼロ
- 計画的対応で完全防止
- インフラコスト削減
- -25%
- 過剰プロビジョニング防止
- 緊急調達コスト
- -80%
- 計画調達vs緊急調達の差
- 大型イベント成功率
- +100%
- セール・キャンペーン対応