クラウドガバナンス現在進行形 第2章【第3回】
利用者がIaaSの信頼度を計算するには?
IaaSは今、高可用性を実現する途上にあり、PaaSの時代はその実現を待って幕開けとなる。IaaSの成熟なくしてPaaSの時代は到来しない。本稿ではNIST定義を基にIaaSの現状を確認し、利用者がIaaSの信頼度を計算する方法を解説する。
「NIST SP500-292」に基づくクラウド定義のおさらい
NIST定義に込められた本当の意味でPaaSというためには、IaaS層を完全にラップしてしまわなければならない。実は、IaaS層自体が他のPaaSから見てPaaSにしか見えないようにならないと、真のPaaS時代到来とはいえない。
NIST定義に従うと、クラウドとは「インターネットを介してあらゆる制御を受け付ける、計算・記憶・伝送資源を抽象化して資源プール化した上に、仮想的に独立した顧客システムを収容し展開するシステム」と規定できる。つまり、資源プール全体と仮想資源プール上に展開される顧客システムの挙動を計測し、計測結果に応じて自らの状態を変化させるシステムだ。
現在のところ、クラウドの最も根源的なサービス提供形式であるIaaSであっても、事業者固有のAPIによるインターネットからの操作を受け付けるのが精いっぱいである。だが、今後は、計測・従量課金機能が「Cloud OSS」に進化し、複数のIaaS事業者を有機的に相互接続し、複数のAPIに適応したクラウドエコシステムを形成するようになる。その時代にはCSA(Cloud Security Alliance)が整備を進めているCCM(Cloud Control Matrix)などを基礎としたIaaS相互接続用の共通APIがコンセンサススタンダードとして成立しているだろう。この共通APIはクラウドエコシステムにおいて、電話網の制御に利用されている「共通線信号No.7」に当たる役割を果たす。
NIST SP500-292においてCloud Service Managementと命名されているコンポーネント群は、先の共通APIを利用する「Cloud B/OSS」(Cloud Business/Operating Support System)として実装され、電話網におけるB/OSS同様に相互接続された通信の制御、計測、課金、事業者間決済などの機能を担う。Cloud B/OSSは電話網で利用されているB/OSSとは異なり、それ自体がCloud上で動作するSaaS/PaaSとしてSOAに基づいたデザインがなされるだろう。The Open Groupが提唱するクラウド標準「SOCCI」(Service Oriented Cloud Computing Infrastructure Framework)が示すアーキテクチャが参考になるはずだ。
Cloud B/OSSが提供する監視系機能は、電話網で利用されているB/OSSでは不可能だった利用者によるクラウドそのものに対するプログラム制御をも可能とし、計測粒度と計測結果に応じた柔軟なクラウドの挙動制御まで自動化を可能にするだろう。この機能は資源消費と費用負担を一対一対応させた従量課金を基本とする料金体系を基礎とし、需給状況に応じて価格変動する市場モデルの課金体系を組み合わせることで、状況に応じたコスト負担という「痛み」をリアルタイムに利用者に提供する。
これを嫌う利用者が多いことは筆者も承知しているが、状況に応じた費用変動に適応することによって資源浪費が抑えられれば、結果的に利用者の利益にもかなう。埋没コストを放置して痛みから目をそらす選択は成長機会を失うに等しく、ガラパゴス化への一本道を選ぶことに他ならない。言い換えるなら、従量課金という形で洗練されたシステムに成長するための淘汰圧が提供されていると認識するべきだ。AWS(Amazon Web Services)が以前から提供している「スポットインスタンス」や2012年9月に発表した「Reserved Instance Marketplace」は、IaaS資源の市況商品化を図る動きの祖型と位置付けられるはずだ。
クラウド実装の本質的特徴
こうして振り返ってみると、クラウドの基底層を形作るIaaSの本質が仮想化ではないことをご理解いただけるだろう。仮想化は資源切り出し粒度の自由度を高め、物理資源と論理システムの切り離しを容易にするための技術にすぎない。利用者向けの切り出し粒度が十分に低い物理実装方法があるなら、仮想化を行わないクラウド実装も当然にあり得る。
IaaS実装の本質とは動的並列化だ。よく設計されたIaaS基盤では、並列化された資源プールで構成されたレイヤー間が、抽象化層(仮想化とは限らない)を介して通信を行う構造が繰り返し現れる。現状、個々の物理実装は帯域幅や遅延などの制約を抱えるため、並列化しつつも階層化の呪縛から免れ得ない。この問題を隠蔽する層としても抽象化層としてのオーバーレイネットワーク技術が求められている。2012年7月24日に発表された米VMwareによる米Niciraの買収など、オーバーレイネットワーク技術周辺が騒々しくなるゆえんだ。
クラウドの実装の特徴
このように並列化された構造を持つIaaSは、原理的に単一障害点(SPOF)を共有している資源粒度以上には障害範囲が拡散しないが、SPOFを排除するために資源プール間でフェイルオーバー構成を行っている場合、一方の障害によって発生した代替資源要求に十分応えられる資源(計算、記憶、伝送そして遅延時間)の余裕がないと、フェイルオーバー構成された資源全体が、要求の集中によるサービス提供不能状態(輻輳崩壊)を起こす可能性が残る。障害範囲を小さく抑え込み、代替資源(冗長資源)に対する障害資源比を低く保つことが輻輳崩壊を防ぐ手段となる(関連記事:クラウドの資源量で考える、単一IaaS事業者への依存リスク)。
ただし冗長資源は不稼働資源でもあるので、冗長資源比率が高くなるほど全体としての設備稼働率が下がりコストに跳ね返ってくる。過去のAWSの障害報告などを読んでも、この分野にはまだまだ改善の余地があることが見て取れる。クラウドにおける資源管理の問題は経済学でいう資源配分問題に他ならない。この面から考えても、筆者にはIaaS資源の市況商品化には一定の合理性があるように思える。
米Googleは、GPSと原子時計を利用して図3右図のような地球規模の分散システムにおける時間同期の方法を既に実用化している(参考:Spanner論文)。将来的には類似の仕組みが国際標準化されて広く利用される可能性がある。
可用性の基礎
既に承知されている方には甚だ基礎的な話をして申し訳ないが、しばらくお付き合い願いたい。可用性とはJIS X0014によると「必要となる外部資源が与えられたときに、ある時点において、又はある一定の期間、機能単位が決められた条件のもとで要求された機能を果たせる状態にある能力」と規定されている。要するに「使える」状態だ。使える状態とは故障していない状態なので、信頼性工学では平均故障間隔(MTBF:Mean Time Between Failure)と表現する。同様に、故障して使えない状態を修復に充てている時間として、平均修復時間(MTTR:Mean Time To Recovery)と表現する。MTBFとMTTRの関係は平均稼働率をAとすると、
というシンプルな式で表せる。また、システムを構成する個々の障害(部品故障など)はランダムに発生するのでポアソン分布する。
ただし、ネットワーク構造を持っている場合は、ポアソン分布した個々の故障がそれぞれランダムなネットワーク外部性を持っているので、全体として障害はべき乗則に従って分布する。とはいえ、システムの可用性水準を求める観点からは、インスタンスなどの計測単位で発生する個々の障害を他の要素に影響を与えないように封じ込めればよいのだから、結局、利用者にとって必要な障害発生確率はポアソン分布を用いて予測すればよいことになる。MTBFやMTTRがポアソン分布することを利用すれば、平均稼働率をシミュレーションするのはさほど難しくない。
ちなみに、IaaSのようなネットワーク外部性を持つサービスの場合、SPOFを共有している資源プール単位で障害に遭うし、個々の仮想サーバの障害はライブマイグレーションなどの技術によって救済可能なので、広い意味での可用性管理の観点では、利用者が仮想サーバ1台ごとの信頼度計算を行うことにはあまり意味がない。
個々の仮想サーバレベルでの信頼度計算に意味があるとしたら、仮想サーバ上で動作するアプリケーションの信頼度を計測し、要求する可用性水準を満足させるためにどの程度の並列化を行うべきかを決定する場合だろう。この場合には直列モデルの信頼度計算を行うことになる。また、異なる事業者が提供するPaaSを組み合わせてシステム構成する際も、直列モデルでの信頼度計算が役立つ。だが、定義のおさらいで触れた通り、抽象化された資源(IaaS)を隠蔽し、IaaSに対してポータビリティを持つ、真の意味でPaaSと呼べるサービスはまだほとんど市場に存在しない。Java EE 7の仕様リーダー Linda DeMichiel氏が2012年9月9日のブログで、Java EE 7の開発スケジュールを維持するためにPaaSとマルチテナンシーに関連した機能の実装をJava EE 8まで延期したことからも、真の意味でのPaaS実装が非常に難しいことが感じられるはずだ。
現時点では、利用者がIaaSの信頼度計算を行う場合は、SPOFを共有するアベイラビリティゾーン単位で並列モデルを利用するのが妥当だ。
ところで、約款に掲載されているSLAを見ると、サービスとして提供されている諸機能は、信頼度の値が与えられている。年間使用可能時間割合99.95%といった数値だ。SLA99.95%などとはっきり定義されており、かつ、第三者認証などによって、そのSLAが信頼に足ると考えられるなら、後は必要な信頼度になるように、並列モデルで要求する信頼度に達するまで並列化すればよい。
注意すべき点として、事業者によっては使用可能時間(または使用不能時間)の定義に条件が付加されている場合がある。例えば「5分未満の通信遮断は使用不能時間に参入しない」と約款に規定されているような場合だ。
5分未満の通信遮断が問題になる用途を想定している場合、通信遮断の発生頻度を一定時間計測する信頼性試験を行って、利用者が信頼度を決定してから利用したり、想定している用途で収容可能なコスト上限まで並列化して運用開始し、運用後に得られた信頼度データに基づいて並列度を引き下げていくといった工夫をして、SLAの制限を乗り越えようとしている利用者もいるかもしれない。だが、筆者としてはお勧めできない。
事業者が「保証しない」とした領域での品質は、どのように揺らいでも事業者は文句を言われる筋合いがないのだ。例えば、5分未満の通信遮断は保証しないとしている事業者において、過去実績では5分未満の通信遮断の24時間当たりの平均発生率が1回だったとしても、将来は3回になるかもしれない。こういった品質の変更や揺らぎに対して、静的に構成された利用者独自の可用性向上策は無力だ。しかも、このような場合は事業者の保証範囲を逸脱しているので補償を要求するのは難しい。
利用するサービスがきちんとMeasured Service(計測機能)を実装していてログ出力できるものであり、利用者が基本的な信頼度計算の方法とポアソン分布の概念さえ理解しているならば、正味の信頼度を得るのはさして難しくない。このような場合は利用者が独自にリアルタイムに信頼度を算出し、必要な並列度を保つように動的に制御するといった運用が可能だ。こういった情報の風通しの良さはクラウドのよいところだ。
将来的には、SLAの値と運用実績の監査証明がセットで比較可能になり、構成をデザインして必要な信頼度の値を与え、必要な冗長度を実装対象となるIaaSごとに割り出してくれるような設計(運用)支援ツールも登場するだろう。インスタンスの時価や伝送遅延も考慮して、最適な利用者システム展開先の提示も可能になるかもしれない。これはSOCCIが提示する未来像に近い姿だ。
IaaSでの高可用性実現
さて、IaaS実装それ自体が高可用性を実現する途上にあることと、基礎的な信頼度計算の方法について見てきたが、その事業者の約款と、取得している第三者認証の内容をきちんと見極めてさえいれば、利用者は現時点でもIaaS事業者の高可用化を待つことなく、IaaS上に高可用性システムを実装することが可能だ。
可用性を高めたいならデータセンター(DC)などのSPOFを共有しない複数のIaaS事業者を利用して、ハイブリッドクラウドを構成すればよいだけだ。前回作成した比較表でAPIを装備した7サービスなら実装可能だろう(比較表:35のIaaSクラウドをガバナンス要求で徹底比較)。
ちなみに、DC指定可能なサービスを使えばハイブリッド構成は不要なのではないか? という向きもあるだろうから付記しておくと、AWSのようにアベイラビリティゾーンと明示的にうたっている場合はご指摘の通りとなる。しかし、DCが複数用意されていても、Measured Serviceを実現するCloud OSS機能など、計測・制御機能などがDC同様に分割されていない場合は要注意だ。Cloud B/OSSを収容した親システム側が障害に見舞われた場合、子システム側の可用性が担保されるかは事業者ごとの実装に依存するためだ。
ここまで検討してきた高可用性ハイブリッドクラウド実装に必要な機能を考えてみよう。
繰り返しになるが、概念としてのクラウドの本質とは動的な並列化だ。動的な並列化を実現するには、Measured Serviceを用いて利用している資源の状態をリアルタイムに把握し、状態変化を計測し、APIを利用してOn-demand self-serviceにResource poolingされた資源プールからRapid elasticityに仮想資源を呼び出し配備して、動的にBroad network accessできなければならない。計算・伝送・記憶のそれぞれについて、クラウド定義に基づく全ての機能がそろっていないと動的並列化は実現できない。
計算資源の動的配備はハイパーバイザーによって実用化されて久しい。伝送資源についてもSDNの隆盛によって環境が整いつつあるし、記憶資源についてもクラウドストレージと呼ばれるスケールアウト可能な記憶資源が構築可能になりつつある。これら資源の利用を横断的に認証認可する認証基盤と、CSA CCMなどに準拠した共通のデータモデルに基づいて計測し制御する基盤が出そろってくると、高可用性を実現したハイブリッドクラウドの実装がぐっと簡便に可能になる。米Ping Identityが以前から提供している「PingOne」や、2012年9月11日に米セールスフォースが発表したファイル共有サービス「Chatterbox」、ID管理サービス「Salesforce Identity」はこの文脈で評価が可能だろう(関連記事:Chatterの新機能から見る――ソーシャル革命が変える私たちの未来)。
NIST SP500-292が描くアーキテクチャモデルを下敷きに、最近の技術開発動向や市場に投入され始めた新しいサービスを俯瞰すると、今後は「newvem」などの計測サービスやAPI共通化に挑戦している「DeltaCloud」「OpenStack」「CloudStack」といったクラウドフレームワークが、IaaSの全ての機能を抽象化するのではないかと筆者は考えている。これらは、個々のIaaS事業者が提供しているAPIを抽象化し、最終的にはCSA CCM標準に基づくIaaS制御言語を生み出していく。このIaaS制御言語が誕生したときこそ、真のPaaS時代の幕開けになるのではないだろうか。
Copyright © ITmedia, Inc. All Rights Reserved.
クラウドガバナンス現在進行形 第2章
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
4
221人調査で分かった「情シス最大のストレス」は?
-
5
「データストレージの活用方法」に関するアンケート
-
6
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
7
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
8
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
9
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
10
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー