前回は技術的な観点で、ネットワーク機器のキャパシティープランニングのポイントを紹介した。今回はそれらを使って、どのようにプランニングを進めるか、別の言い方をすると、どのように未来予測をして事業計画にシステム計画を組み込んでいくかを説明する。

シンプルなモデルをつくる

 ネットワークでもサーバーでもキャパシティープランニングを行う際、「事業キー数字」(事業の観点でカギとなる数字)とシステムの関係を見つけることが欠かせない。例えば、事業キー数字がページビューなら、1億ページビュー(PV)/日の場合サーバーは何台必要(または、トラフィックが何Mビット/秒流れる)といったことをつかんでおく。

 そのためには、事業キー数字を代入すればサーバー台数やトラフィック量などシステム管理に必要な数字を算出するモデル(数式モデル=関数)を作っておく必要がある。ここで重要なのはモデルをできるだけシンプルにすることである。関数のパラメータをなるべく少なくするとシンプルになる。パラメータ値は日々のシステム監視の中で取得することになるので、パラメータ数が多いと数字の取得に工数がかかる。

 厳密にはサーバーやネットワークの負荷は多くの要因に支配される。アクセス数はもちろん、コンテンツのサイズ、データベースのレコード数などにも影響を受ける。そうした中でモデルをシンプルにするには、負荷を大きく支配する数字を見つけ、連動するパラメータの正規化を行う。つまり、「無視できそうな要素を無視した上で要素をまとめる」ということである。

 例えば、負荷がPVと会員数に依存するというモデルを作ったとする。このとき、PVと会員数に何らかの相関があれば、PVだけに依存するモデルで負荷の状態を表すことができるかを検討する。

見積もり精度

 「どのくらいのキャパシティーを確保しておくべきか」――。システムの計画段階で、皆さんはどのようにして判断しているだろうか。

 大きなキャパシティーを確保しておけば安心できるが、PVが確実に右肩上がりになる保証はどこにもなく、場合によっては過剰投資になる。未来のことは誰にも分からない。

 筆者は計画値の幅や精度に応じて、設計や見積もりの精度を変えている。変わる可能性が高い計画であれば、ケーブルの本数とスイッチのポート数の整合性まで合わせた細かな設計をする必要はない。ラフな見積もりで費用感を出すことに意味がある。

 その場合、キャパシティーの限界に達したときのコストを、あらかじめ把握しておく。例えば、3億PV/日をさばくには追加投資1000万円、5億PV/日をさばくには2000万円といった、ざっくりしたレベル感で議論の土台になるようなラフ案を作る。細かい設計・見積もりは向かうべき方向・目標が決まった段階で行う。

複数案を作る

 目標値を決めたらその目標値を満たすためのシステム構成を検討する。多くの場合、実現方法は1通りではない。機器、接続方法、構成そのものなど異なるパターンがある。必ず2~3パターンを検討し、それぞれの資料を作成する。

 最初に思いついた方法だけで進めると、大事なことを見落としているかもしれないし、よりベターな解があるかもしれない。また、意思決定の場にいるシステム以外の立場の人にとって、複数の選択肢があれば安心感が生まれる。

 一つの方法しかないように思えても、深く考えることで大抵の場合は複数案が出てくる。例えば、目標とするキャパシティーを一気に満たすような構成を取るか、徐々に段階的にキャパシティーをアップしていく方法を採るかといったことだけでも、違った案が考えられる。

 複数の方法が出てこないなら、それは、設計者の中で暗黙の前提を作っているからかもしれない。例えば、「段階的なキャパシティーアップは工数がかかるしリスクが高い」というような、経験から来るイメージが案の具体化を阻害している場合がある。複数案を策定する際は、できるだけ先入観を排除し、事実に基づいてドライに考えることが重要である。

 複数案の中から選定するには、コストと納期を明確にすることが重要である。コスト的にも品質的にも最も良い案があったとしても、納期に間に合わなければその案は捨てざるを得ない。効率の観点で多少の無駄があっても、必要な時期に必要なキャパシティーを確保する。そのためには、「間に合わないベスト」ではなく、「間に合うベター」を選択していく必要がある。

モデルの検証

 キャパシティープランニングに終わりはない。機器の導入後も、次の増強に備える。そのためには、確立したモデルが実際と合致しているのかを確認し、必要であれば補正していくことが必要である。新機能の導入や、新端末の対応によるコンテンツサイズの拡大などにより、モデルを変えていかなければならないかもしれない。定期的にウォッチしてモデルの検証を行う。

 当たり前のことだが、キャパシティープランニングに伴って行った作業の後、当初の目的を果たしたのかを確認する。難しい作業や長いスパンの作業を終えると、作業そのものへの満足感から作業自体が目的になってしまうことがある。スタートラインに立ち戻り、目的を再確認し、予定通りなのかそうでないのかを振り返り、必要であれば追加の施策を打っていく。

茂岩 祐樹(しげいわ ゆうき)
ディー・エヌ・エー システム統括本部 IT基盤部 部長
1995年日本IBMに入社、ストレージ製品の技術支援に従事。1999年9月にDeNA(ディー・エヌ・エー)へ入社。現在は「モバゲータウン」などDeNAが提供するサービスのIT基盤(サーバー、ネットワーク、データベース、設備など)を計画・構築・運用している。DeNAホームページ