AutoMateの開発元HelpSystemsが「予測分析と機械学習を用いたキャパシティ予測の自動化」というコラムを執筆しています。経験や勘に頼って判断していたようなことが機械学習を用いてキャパシティ予測される。コラムを読むとキャパシティ予測の自動化の概略について理解することができます。
予測分析と機械学習の進歩により、キャパシティ予測の新しい方法が生まれました。これらのテクノロジーは独自の機能を提供し、多くの価値を付加することができますが、それは他の方法に取って代わるものではありません。さまざまな選択肢とその特徴を理解することで、ビジネスニーズに応じて最適な予測方法を選択し、プランニングの的確さと価値を最大限に高めることができます。
キャパシティ予測の目的
情報技術に依存するあらゆる種類のビジネスプロセスはプランニングする必要があります。サービスのホストがパブリッククラウド、または従来のデータセンターであろうが、現在のリソースでどこまで対応できるかを把握することは有益です。さらに、キャパシティ予測を行うことで、必要に応じてオペレーションを維持するためのアクションを実行できる準備が整います。
ほとんどの組織にとって、計画を立てる主な理由は、ビジネスサービスのパフォーマンス低下や利用不能によるリスクを軽減することです。このような状況を予測することで、積極的にリスクを軽減することができます。
予測を行うもうひとつの理由は、財務計画と効率の向上です。予測を行うことで、予算や投資計画の基礎となる正確で現実的なパフォーマンスデータを提供することができます。
キャパシティモデルとは?
キャパシティモデルは、将来のキャパシティニーズを予測するためのもので、サービスを構成するコンポーネントのパフォーマンスモニタリングデータから導き出されます。具体的には、サービスの特性を把握するための高度な数式を用いたモデルとなります。アクティビティや使用量の変化が基礎となるリソースにどのような影響を与えるかを予測するために使用されます。また、正しく行われていれば、次のような質問に答えることができるはずです。
・現サービスの利用者数を30%増やしたらどうなるのか?
・今後6ヶ月の間にキャパシティに関する問題が発生した場合、対処する必要性があるか?
・同じ時間枠で50%増加したトランザクションを処理するには、どのような追加リソースが必要なのか?
これをアシストするためには、現在のサービスの主要な特性を把握し、その特性を操作できるようにする必要があります。
キャパシティ予測とプランニングのための選択肢は何があるのか?
モデルはいくつかの異なる方法で構築することができ、それぞれ詳細度や洗練度は異なりますが、一般的には、キャパシティ予測とプランニングに役立つ4種類の手法があります。以下では、それぞれのタイプの特徴と、よくある使用例を説明します。
回帰モデル
このタイプのモデルは、回帰分析を使用して過去のデータから外挿することにより、将来の行動を予測します。最も単純な形では、データセットの上昇/下降傾向を捉える線形外挿を行うことができます。また、より洗練されたバージョンでは、データの季節性、スパイク、ランダムな変動を考慮して、より洗練された正確な予測を行うことができます。このような使用量の極大(山)と極小(谷)がいつ発生するかを事前に知ることで、インフラのスケールアップやスケールダウンが可能になり、起こりうる負荷のピーク前に対応したり、予想される閑散期にコストを節約することができます。
ホルトウィンタース、ARIMA、プロフェット、多項式回帰など、時系列の時間的なダイナミクスを捉える機械学習に基づく予測手法は数多くあります。また、時間構造を無視して、ディープニューラルネットワークアーキテクチャに基づいて予測を行うという方法もあります。しかし、ニューラルネットワークは計算コストが高く、過剰適合を起こしやすいため、多くの人はニューラルネットワークよりも前者を好みます。時系列予測では、データに内在する秩序や構造を利用して、より迅速な結果を得ることができます。
このタイプのモデルは、純粋に過去の時系列データセットに基づいて機能するため、予測の自動化が容易にできます。個々の構成要素の詳細ではなく、「全体像」を理解する必要があるようなハイレベルな予測には非常に有効です。
使用例:データセンターの運用チームは、環境全体の6ヶ月間の予測を行い、来期に特別な注意や対応が必要なキャパシティ状況を特定する必要があります。
相関関係モデル
相関モデルは、1つまたは複数のビジネス・アクティビティ・メトリクス(多くの場合、予測ユニットと呼ばれる)と一連のパフォーマンス・メトリクスとの間の関係によって駆動されます。予測ユニットと一連の関連するパフォーマンス・メトリクスの間の相関係数が確立され、それを用いてサービスの最大スループットを予測することができます。
相関モデルは、適切な予測単位を特定し、他のパフォーマンス・モニタリング・データと一緒に取り込まれていることを確認することから始まります。相関分析は、サービスのスループットを予測するための自動化が可能な「ビジネス対応」モデルを提供します。
使用例:サービスオーナーは、そのサービスに割り当てられている既存のリソースが、来年に予測されるビジネス需要の変化に対応できるかどうかを判断する必要があります。
待ち行列モデル
このタイプのモデルは、パフォーマンスモニタリングデータと、使用されているシステムの詳細な仕様の組み合わせに基づいて構築されます。待ち行列モデルは、トランザクションの強度、ホスティングプラットフォームの種類、リソースの割り当ての変更など、さまざまな“もしも〜シナリオ”を評価する機能を備えています。また、予測される問題を対処するために、モデルを修正する機能もあります。
待ち行列モデルは、とても粒度が細かく柔軟性に富んでいますが、その分明細な設定や計画シナリオの定義が必要となり、大量の評価や自動化には不向きです。
使用例:無機的な成長や複数の変化を並行して行うような、特定のビジネスシナリオに対する明細な計画など。また、他のモデリング手法による予測の精査にも使用できます。
確率モデル
このタイプのモデルでは、過去のデータを評価して信頼区間を算出し、最も可能性の高い成り行きを確立することで予測を行います。確率モデルは、通常1日から1週間程度の比較的短期間の予測に有効的です。予想される結果を詳細に予測するのではなく、予想される時期的パターンやそのパターンからの逸脱を素早く視覚的に把握することができるように設計されています。
使用例:観測された動作が過去のパターンの一定の割合を外れている(超えている、または下回っている)システムやサービスのリストを作成し、何かしらの対処方法が必要になるかもしれません。一目でわかるグラフを作成し、分布の大きさを算出してくれます。
あなたのビジネスに適したキャパシティ予測を決める方法
キャパシティ・モデルは、パフォーマンス・モニタリング・データに基づいて構築され、駆動される必要があると前述しました。ほとんどの組織ではすでにモニタリングデータを収集しているため、専用のツールを使わずにゼロから独自のモデルを作製することも可能です。しかし、その前に考慮すべき点がいくつかあります。
・データはすぐに入手できますか?データの取得と準備は、もっとも大変な部分で多くの時間を必要とします。データを分析することに時間を費やした方が良いでしょう。
・データの詳細は十分ですか?時系列予測に基づく回帰モデルでは、トレンド、季節性の変化、ピークなど、すべての特性がデータセットに存在する必要があります。
・自動化できますか?キャパシティ予測は、定期的に更新する必要のある計画を伴う反復的な作業です。自動化されていないと、計画に追いつくことができず、ソリューションの総所有コスト(TCO)を適正に確保するのに苦労するかもしれません。
・データサイエンスの経験とは?正確なモデルを構築するためには、どの種類の分析や手法が適用可能であるかを十分に理解する必要があります。選択肢の多さに圧倒してしまうかもしれません。
HelpSystems社のVityl Capacity Managementは、キャパシティ・モデリングに特化した機能により、データの収集と統合を効率化します。VCMは、高度な自動化と予測分析のための試行錯誤の手法を組み合わせて提供します。VCMは、データへのアクセス、分析、およびレポート作成を簡素化および自動化することで、無駄な支出を排除して問題を未然に防ぐことができます。