いまさら聞けないクラウドのアレコレ
この連載も第4回ですが、以前から私たちを取り巻くコンピューティング環境にはいくつかの利用形態がすでに定着していることを解説しました。パブリッククラウド、プライベートクラウド、サーバー仮想化、データセンター利用など、それぞれが関係するシステムエンジニアによって支えられ提供されているのです(図1)。
それらは各組織のシステムに対する設計思想や設備コスト的な制限などにより、実際はたいへん多種多様な背景を持っています。ここではパブリッククラウドを例に上げて、その最深部に迫ってみましょう。
図2は、CloudHarmony社が公開する全世界の主要パブリッククラウドの仮想マシン性能を、もっとも過酷な利用状況となるWSAT(Write Saturation)状態のストレージに着目して分析したものです(図2)。
非常に細かい数値なので、詳細な理解すべき要素のみを解説すると、これら数値から「仮想CPUコア数に比例することなく、提供するクラウド事業者のサービス種目によってストレージ変化に差がみられる」というものです(興味のある方は、じっくり図を分析してみてください)。
単純な割り算でいえば、10を2で割れば5です。しかし、パブリッククラウドの事業者では「1つの仮想CPUコアあたりの性能をどこまで抑えるか」は、企業秘密のような扱いで外部に公開されることはありません。そのため、世の中で言われるパブリッククラウド上の仮想マシンの「仮想CPU○○コア」は、当然均一な性能指標ではないのです。
古くからのシステムエンジニアの方であれば至極当たり前の常識ですが、新しい方やまったくこういった業界動向を知らない方から見れば「???」となるような話しではあります。この背景には前述のとおり、各組織のシステムに対する設計思想や設備コスト的な制限に起因しています。どのパブリッククラウドのサービス品目を競合他社に比べて魅力的に見せるか、また調達によりコストを抑えたが利益を出すためには、どこまで仮想マシンの仮想CPUコア性能を抑える必要があるかなど、クラウドの中の人なりの悩みも存在しています。
さきほどの図ではストレージに関して解説しましたが、パブリッククラウド内部におけるクラウドネットワーク内の通信速度に関しても同じ状況です(図3)。
ちなみに、これら設計思想が明確に見えてくる性能評価値もいくつかあります。図4は、全世界の主要パブリッククラウドの仮想マシンが持つ仮想CPUコア単位でのメモリアクセス性能を示したもです。ここでも、限界性能評価をやや厳しめに確認するためにDRAMアクセスをTriad(グループ変数がたくさんある場合の計算)しているものを比較しています。Triadではサーバー仮想化されたパブリッククラウド上で「仮想CPUのコア跨ぎ」「仮想メモリのコア跨ぎ」が発生するであろう状況であり、1つの物理サーバーあたりで、どれだけ仮想マシンを詰め込んでいるかが透けて見えてくる数値としても筆者は認識しています。
昨今のサーバー仮想化やCPUの仮想化支援機能により、DRAMなど物理メモリも仮想マシンの仮想メモリから柔軟かつ効率的に利用することが可能になっています。しかし、10のメモリを2で割れば、いくら最新のサーバー仮想化技術やCPUの仮想化支援機能があろうとも、その数字には規則性(限界)が見えてきます。
非常に細かい数値なので、詳細から理解すべき要素のみを解説すると、これら数値から「仮想CPUコア数に比例して、提供するクラウド事業者のサービス種目によってメモリアクセス性能に差がみられる」というものです。
つまり「仮想CPUコア数が多いものは、値段的は高いが、ちゃんとしたシステム性能が出る」(傾向にある)という点が理解できます。