2008年9月に執筆した「調べれば調べるほど分からなくなる「クラウド」」という記者の眼が思いのほか,読者の支持を得ているようである。9カ月も前の記事にもかかわらず「エンタープライズ・クラウド」関連記事のアクセスランキングの上位に位置することも少なくない。はてなブックマークでの反響を見ても,同じような問題意識を持っている人もいるようである。
だからといって,疑問をほったらかしにしておくわけにはいかない。「いつまでも分からないと言っていてはダメでしょう。早く調べて解決してくださいよ!」。記者の一人にも,こう指摘された。日経コンピュータの中田敦記者である。
中田記者は,黎明期からクラウド・コンピューティングを取材しており,日経コンピュータやITproに多くの関連記事を執筆している。4月に出版した書籍「クラウド大全」の筆者の1人でもある。彼にしてみれば「クラウド」はもはやバズワードではなく(関連記事:クラウドはバズワード,ってまだ言いますか?),既に始まっている現実なのだ。なのに,何だか分からないという状態が続いているのが我慢ならないのだという。
この指摘はもっともなので,筆者も今,当時の疑問を少しでも解消しようと,いくつかの連載記事の企画を進めている。そちらはエンタープライズ・クラウドやDevelopmentのサイト上で順次公開していくつもりだ。
すでにITproを含め各メディアでも,クラウドについて多くの出版物や記事,セミナーなどを通じて情報を発信している。「クラウドとは何か」というレベルでは,かなり明らかになってきたとは思っている(関連記事:クラウドの中身が次第に明らかに)。
しかし筆者としては,クラウドに関する疑問は解消されるどころか,2008年9月のころより,ますます疑問が増えているというのが実感である。確かに,クラウドの仕組みについては明らかになってきた。だが,クラウドの上で情報システムを構築・運用する手法については,まだ雲の中であるという気がするのだ。
というわけで,今回も前回の疑問を解消する情報は記載していない点をお断りしておく。現時点で筆者が抱えているクラウドに関する疑問を,前回記事の内容と合わせて改めて整理したい。
クラウド8つの疑問
疑問1●負荷テストや性能チューニングの方法は?
社内に構築したシステムであれば,稼働前に「負荷テスト」や「レスポンステスト」を実施する。要件に見合う性能が出なければ,ハードウエアを増強する,ミドルウエアのパラメータを変更する,アプリケーションのコードを修正する,ネットワークを見直す,などとチューニングする。
クラウドの場合,テスト目的で「LoadRunner」のようなツールで,インフラに高負荷をかけてよいのか。そもそも,そうした行為に意味があるのか。また,要件に見合うスループットやレスポンスタイムが出ない場合に,開発者が取り得るチューニングの手段としては,どのようなものがあり得るのか。
疑問2●これまでと同様のバックアップは可能か
100%のSLA(サービス・レベル・アグリーメント)が保証されることはあり得ないから,クラウドでもシステム障害は起こる。クラウド自体がダウンしなくても,アプリケーション障害やオペレーションのミスによって,データが消えてしまうことはあり得る。また,メールや電子帳票などでは大容量のアーカイブが求められる。
そのような事態に備えて,社内システムまたは他のクラウド上にデータをバックアップしておく必要がある。社内に構築したシステムであれば,RTO(目標復旧時間)/RPO(目標復旧時点)に応じてテープ・カートリッジやSAN/NASにバックアップやレプリケーション,ミラーリング,スナップショットを置くのが一般的だ。クラウドの場合も,そうしたバックアップの仕組みを構築できるのか。
疑問3●疑似攻撃は可能か
セキュリティ確保の手法の一つに疑似攻撃がある。例えばセキュリティ基準「PCI DSS」の認証を得ようとすると,システムに対する定期的な疑似攻撃が必須である。
クラウド上に構築した情報システムあるいはクラウドそのものに対して,疑似攻撃を仕掛けることは問題ないのか。また,何らかのセキュリティ・ホールが発見された場合,ユーザー側から取り得る対策はあり得るのか。
疑問4●大量データを移行できるか
社内に構築した既存システムからクラウド上にリプレースする場合,既存システム上のデータをクラウド上に移行する作業が発生する。既存システム上のデータはインターネット経由でアップロードすることになるとみられる。
このようにデータ量がテラバイトに達するような場合でも,実際のところ問題はないのか。また,顧客データの漏洩や改ざんにはどのような対策を採ればよいか。
疑問5●パッチの適用をユーザー側で制御できる?
本来,パッチ適用とアプリケーションの動作検証/改修は一体化した作業である。だが,クラウドはパッチを適用すべきOSやミドルウエアをサービスとして提供する。
OSやミドルウエアにセキュリティ・パッチなどがリリースされた場合,クラウドのユーザー側から取り得る対処方法は何かあるのか。知らない間にパッチが適用されたり,APIが変更されたりして,稼働中のアプリケーションに不具合が生じるといった可能性はないのか。
疑問6●障害発生時の体制をどう作るか
一般的に情報システム部門は,システム障害に備えて緊急時の連絡網を整備している。そこには情報システム部門の担当者のほか,インテグレータ,製品/サービス・ベンダー,利用部門の責任者など関連する会社や担当者の連絡先が網羅されている。特にミッションクリティカルなシステムでは,いつでも必要な担当者が駆けつけられる体制を敷いている。
クラウドでは,サービスに障害が発生した場合の緊急連絡先や,その際のオペレーション体制はどのように構築するのか。
疑問7●エンジニアをどう育成するか
クラウドではキー・バリュー型データストアなど従来とは全く違った技術を利用している。エンジニアもそれに対応した技術を身に付ける必要がある(関連記事:「キー・バリュー型データストア」開発者が大集合した夜 )。RDBMS(リレーショナル・データベース管理システム)の興隆期に,メーカー担当者が最も腐心したのはエンジニアの確保である。
ところが現時点で,GoogleやAmazonの日本法人がクラウドに対応したエンジニアの確保に向けて具体的な動きを見せる気配がない。クラウドの普及に欠かせないエンジニアを,日本で誰がどのように育成していくのか。
疑問8●日本の法制度が及ばない地域での運用で問題は生じない?
クラウドの基盤となるデータセンターのロケーションは,今のところ欧米が中心である。日本の法律が及ばない地域に,例えば公共関連のデータや個人情報を置くことに問題はないのか。
もちろん,一口にクラウドと言っても「Force.com」「Amazon EC2/S3」「Windows Azure」「Google App Engine」は,サービスのレイヤーも提供される機能の内容もそれぞれ異なる。上記の疑問に対する回答も,どの環境を使うかによって異なるだろう。
ほかにも,筆者が気付いていないクラウドに関する疑問は数多くあるはずだ。「自分はもっと別の観点で分からないことがある」「分からないと言うがそれは解決済みの話ではないか」といった情報や意見があれば,ぜひ下のコメント欄にお寄せいただきたい。
皆様からいただいた声は,今後手がける連載をはじめ,ITproの記事に反映したいと考えている。これから腰を据えて,クラウド・コンピューティングのトピックに取り組んでいくつもりなので,ぜひご協力いただければ幸いである。