キャパシティプランニングは、システムやサービスに必要なリソースを把握して、将来的な需要に応じて適切に準備するための計画作業のこと。
※リソースとは、CPUやメモリ、ストレージ、ネットワークなどを指す。
キャパシティプランニングの手順は以下の通り。
- 現状把握
・現在のリソースを継続的にモニタリングする。
・リソースの内、なにがボトルネックになっているのか調査する。CPU使用率なのか、メモリ使用量なのか、ディスク容量なのか、など。
・時間帯やイベント時に負荷が高まるかどうかもチェックする。 - 需要の予測
・過去のデータから、将来的なリソース(CPU使用率、メモリ使用量、ディスク容量など)の需要を予測する
・季節要因やイベント、サービス規模の拡大なども考慮して、将来の負荷を予測しなければならない。 - サービスレベル(目標)の設定
・SLA、可用性、レスポンス時間などの目標を設定する。
SLA(サービス・レベル・アグリーメント):サービス提供者とその利用者の間で取り決められるサービスレベルのこと。ここでのサービスとは範囲や内容などのこと。
可用性:可用性とは、システムを無事に停止させることなく稼働させること。
レスポンス時間:利用者からシステムへ要求があってからそれに反応するまでの時間のこと - リソース要件の算出
・上記手順1~3を踏まえて、必要となるリソースの量を逆算する。
・必要リソースに見合ったサーバー数、データベースの性能などを見積もる。 - プランの策定と実施
・いつ、どのように実行するのか、計画を立てる
・具体的にはハードウェアの増設、クラウドリソースの拡大もしくは縮小などを行う。 - 継続的な見直しと調整
・プラン実施後に継続的にモニタリングを行う。
・需要の変化に伴いプランを見直し柔軟に対応することが求められる。
キャパシティプランニングを行う際には以下のコツがある。
- 過剰なリソースでコストを圧迫しない。しかし、リソースが不足するとサービス停止など致命的であることに注意する。そのための予測を緻密に行うことが重要。
- 定量的なデータに基づくことを徹底する。
コメント