インフラ設計に欠かせないキャパシティプランニングと仮想化について

ブログblog

インフラ設計に欠かせないキャパシティプランニングと仮想化について

インフラ設計に欠かせないキャパシティプランニングと仮想化について

キャパシティプランニングとは

キャパシティプランニングとは、アプリケーションのニーズを満たすために、必要となるハードウェア・ソフトウェアの構成を決めるためのプロセスのことです。
優れたキャパシティプランニング計画は、負荷データを長期的に観測し、パフォーマンスに影響を与えることなく業務遂行を可能にさせます。

インフラ設計にキャパシティプランニングが重要な理由

インフラの設計には、キャパシティプランニングに必要不可欠です。
その理由として、以下が挙げられます。

自社サービスに必要なキャパシティを把握できない

Webでサービスを提供するためには、そのサービスを運営できるだけのキャパシティがインフラ上に必要です。
十分な容量やスペックを持たないインフラでは、自社サービスを提供できない可能性があります。

例えば、100人の来訪客をもてなすパーティで、50人分の椅子と料理しか用意できなければ、パーティを開催できないのと同じです。

キャパシティプランニングは、そのサービスを円滑に運営させるために必要なキャパシティを算定するため、インフラを構築する上でなくてはならない工程なのです。

オーバースペックによるコストが発生する

キャパシティプランニングを疎かにすると、上記とは逆に、インフラのオーバースペックを招く恐れがあります。
上の例を再び用いるのであれば、招待客100人のパーティで「150人分の料理」を用意するようなものです。

インフラの構築・維持にはコストがかかるため、使わないスペック分に支払うコストは、無駄と言わざるを得ません。
キャパシティプランニングには、こういったオーバースペックを起こさせない役割もあるのです。

キャパシティプランニングのステップ

キャパシティプランニングの基本的な作業手順を紹介していきます。
主に、アプリケーションを設計するタイミングで、以下の3ステップを行います。

性能要件を決定

まずは、想定されるインフラの利用状況や作業負荷の割合を示すワークロード(負荷情報)を収集し、性能要件を決定します。
ワークロードはIT担当者や部門にヒアリングを行い、現在行っている業務の種類・処理量・頻度・現状の課題や理想の処理時間などを想定します。

その後は実際の処理ピーク時のトラフィック状況や毎秒ごとの処理件数、データサイズや許容時間などを収集するのです。

主な調査項目としては、以下のようなものがあります。

ハードウェア項目ソフトウェア項目
CPU情報(タイプ、個数、クロック数)ホスト名
メモリサイズOS
ディスク情報(タイプ、容量など)サービスパックレベル
ネットワーク情報(タイプ、枚数、転送速度)アプリケーション
ユーティリティ情報
それぞれのバージョン情報

「サイジング」でスペックを見積もる

上記で収集した性能要件から、インフラリソースのスペックを見積もります。
この作業を「サイジング」と呼び、個々のスペックを詳細に検討することで、必要な性能を明らかにしていきます。
例えば、以下のようなことを行います。

・CPUの使用率をチェックする
・CPUのコア数を計算する
・仮想化対象物理サーバーで必要なCPUクロックの合計値を算出する
・最終的に必要なCPUコア・クロックを算出する

スペックの精度を高める「評価・チューニング」

サイジングの結果を基に、必要スペックを洗い出していきます。
この過程を「評価・チューニング」と呼び、大きく分けて以下の3種類の検証手法があります。

静的積算

ハードウェアの性能を基にして、処理時間を割り出す手法です。
ハードウェアの性能という分かりやすい指標を基にするため、精度はそれほど高くありませんが、目安としての必要スペックの割り出しには有効です。

シミュレーション

ハードウェアの性能に加え、実際に発生する処理の種類・量を考慮したプログラムを作成して性能を検証する手法です。
プログラムを作成するまでに時間はかかりますが、一度作ったプログラムはパラーメーターを変更すれば、多種多様な検証に利用できます。

プロトタイピング

シミュレーション用のソフトウェアを使用し、性能を検証する手法です。
手間やコストがかかる反面、本番により近い環境での検証データが取れることがメリットです。

仮想化でのキャパシティプランニングの難しさ

仮想化技術を利用したキャパシティプランニングでは、既存インフラの仮想化環境での動作状況や、1台のサーバーにどのくらいの仮想サーバーを立てられるのか、などが重要になります。

仮想化とは、物理的に制約のあるハードウェア機器を拡張して使う技術です。
そのため物理サーバーのキャパシティプランニングに比べて、調査の希望が広く、複雑性も増します。

また性能要件に加え、「1台の物理サーバーに、どのくらいの仮想サーバーを積めるか」「仮想サーバーの組み合わせの適切さ」なども決定しなければならず、物理的なキャパシティプランニングよりも、高度な判断力が求められます。

円滑な業務運営にはキャパシティプランニングが不可欠

「仮想化」「クラウド化」は、インフラ構築において欠かせないトレンドです。
しかしクラウドや仮想化環境でキャパシティプランニングを正しく行える企業は、そう多くはありません。

当社が提供する「デジテラス」は、自社サーバーのクラウド移行と運営を代行するサービスです。
以下「デジテラス」の特徴と、導入メリットについて紹介していきます。

クラウドシステムの設計・環境構築・運用設計を代行

デジテラスでは、クラウド上に自社サービスを移行するための設計・環境構築・運用設計を代行します。
当然、クラウドにおけるキャパシティプランニングの代行も行っており、自社のリソースや時間を割いてまで、慣れない業務を行う必要がありません。

プロのエンジニアによる代行業務

デジテラスでシステムの設計・環境構築・運用設計を行うのは、プロのエンジニアです。
クラウドや仮想化環境でキャパシティプランニングを行えるだけの人材が所属している企業は、そう多くはないでしょう。

その点デジテラスは、専門知識・技術を持ったプロによる代行サービスのため、下手に自社でキャパシティプランニングを行うよりも安心です。
クラウドインフラは、自社のサービス展開の拠点となる場所ですので、プロの手に任せる方が確実でしょう。

まとめ

キャパシティプランニングによる適切なインフラ設計は、自社のシステムやサービス、業務の効率化に欠かせない過程です。
これか適切に行われなければ、今後の自社の運営そのものにも関わってきます。

適切な知識とノウハウを持つエンジニアが自社にいなければ、アウトソーシングをしてでもプロの手に任せる方が安心です。

当社「デジテラス」では、キャパシティプランニング、クラウド移行以外にも、さまざまなサービスを行っております。
自社のシステムを安全なプロの手に任せたいとお考えの方は、ぜひ「デジテラス」の導入をご一考ください。