自動でスケールアウト
Webサーバーやアプリケーションサーバーといった、各種サービスを提供するサーバーの数を増加させ、全体的な性能を向上させる事をスケールアウトと呼びます。
「オートスケール」は、サーバーへの負荷が高くなった場合など、定められた条件に応じてサーバーのスケールアウトや縮退を自動的に行う仕組みです。
従来、企業内システムのサーバー環境では、技術的・コスト的な制約を含め、オートスケールを実現することは困難でしたが、仮想化技術の進展やクラウド利用環境の拡大、リソース配布のAPI化により、今や簡単に実現する事ができます。オートスケール機能は、Amazon WebService参考1などのIaaS環境や、オープンソースソフトウェアのWakame-vdc参考2などで利用可能です。
パフォーマンス安定だけではないオートスケール
一般にスケールアウトと言えば、サーバーの負荷分散など、パフォーマンス安定が主眼ですが、オートスケールの用途は、パフォーマンス安定だけとは限りません。既に稼働しているサーバー内のアプリケーションの更新を行う際にも、オートスケールをうまく利用すれば、システムを止める事なくアプリケーションを刷新することが可能です。
インスタンス稼働に合わせたロードバランサーのリクエスト振り分け制御の切り替えや、監視サーバーへの監視対象の追加など、考慮すべき事は多くありますが、クラウド上のオートスケール機能を利用すれば、こうしたサービスの継続的な提供や、アプリケーションリリースにおけるリソース配布・再起動を自動化する仕組みを、より簡単に構築できるようになります。
並列処理技術の活用
スケールアウトしたサーバー上において、並列処理技術を活用し、初めて実現可能なこともあります。Apache Hadoopを使ったアプリケーションが代表的であり、大規模データを扱う並列処理で多くの実績を挙げています参考3。
また、科学技術分野で従来利用されてきたMessage Passing Interface(MPI)参考4を用いた並列処理技術の活用拡大も期待されます。こちらは大規模な回数の演算を行う場合の並列処理で、モンテカルロ法参考5によるリスク分析が一例として挙げられます。これまでは実行環境が研究分野などに限られていましたが、クラウド環境が整備されてきたことや、オートスケールで必要な時に必要なリソースを確保することで、エンタープライズ環境でも現実的なコストで実現できる可能性を秘めています。
これらの技術を用いてどのような価値を提供できるか、NTTデータでも検討を進めています。
参考文献
- 参考1Amazon WebServiceのAuto Scaling(外部リンク)
- 参考2Wakame-vdc(外部リンク)
- 参考3IT Leaders 国内外のHadoop導入事例 PART3(外部リンク)
- 参考4MPI(Message Passing Interface)は、分散メモリ環境で並列計算を行う場合における、プログラミングの規約及び実装のこと。
- 参考5モンテカルロ法(外部リンク)