ネットワーク機器がクラウドを支える
データ・アクセスの向上がトレンド
現在の一般的なコンピューティング環境では、性能のボトルネックが発生する個所はRDBMS(リレーショナル・データベース管理システム)である。WebサーバーやWebアプリケーション・サーバーの層とは異なり、スケール・アウトによる処理性能の拡張が難しいというのが理由だ。
このため、データ格納の仕組みを変える技術として、今回の冒頭でも軽く触れたが、米GoogleのMapReduceや、MapReduceのオープンソース実装であるApache Hadoopなどが登場した。
さらに、アプリケーション・アーキテクチャーの変更を要求する技術以外にも、SSD(Solid State Drive)やインメモリ・データベースを用いたデータ・アクセス性能の向上策が注目されている。
株取引を自動化したアルゴリズム取引システムなどの高スループットを要求するシステムでは、既にこうした技術を取り入れ、ミリ秒単位の売買トランザクションを実現している。データセンターでは、このような技術に対するサポートも必要である。
これら、ネットワークを集約する技術については第2回以降でも詳しく触れるため、今回は割愛する。
性能のボトルネックをDBから引きはがす
第1回の最後として、今日の代表的なクラウド構成技術について簡単にまとめる。これまで解説してきた各種のクラウド・フレームワークは、いずれも、KVS(キー・バリュー・ストア)、Consistent Hashing(コンシステント・ハッシュ法)、データ・レプリケーション技術などで構成されている。
詳細はWebコンテンツなどを参照していただきたいが、おおまかには、以下のプロセスの通りにデータを格納/参照する。
- 分散ハッシュ・テーブル(DHT)によりキーを特定のノードに振り分け
- ノード内ではKVSを使用し、高速クエリーを実施
- データ・パーシステンシ(永続性)が必要な場合、複数ノードに分散して配置
各種のクラウド構成技術に共通するポイントは3つある。
- DBをパーティショニングして、アトミック操作の範囲を限定する。
- 連想配列のデータ管理に対し、データ・パーシステンシを提供する。
- 並行I/Oによる高速化を図る。
これらを組み合わせることで、昨今における性能のボトルネックは、ディスク・アクセス遅延からノード間通信へと移ってきている(図3)。
まとめ
これまで解説してきたように、クラウド・コンピューティングとは、一般的なアプリケーションを仮想アプライアンスという形態で配布して動的にプロビジョニングする技術や、スケーラブル・コンピューティングのためのプラットフォームを搭載した仮想アプライアンス(または物理サーバー)などで構成されている。
アプリケーション自身はネットワークを意識しないため、想定しているネットワーク環境が、使用するIT基盤上にオーバー・レイされる。また、主にコストの低減を目的に、現在では「インターコネクト」と呼ばれるカテゴリの技術も集約されてくる。さらに、これらのネットワークやリソースを動的にプロビジョニング/モニタリング/課金するためのフレームワークが必須になる。
これらの技術の詳細は、第2回以降、順を追って紹介する。続く第2回では、ITILなどの視点に立ち、プロビジョニング・フレームワークなど、IT基盤の運用管理技術について解説する。