特集:Windows Azureインタビュー

現実はどうなの? クラウドとWindows Azure

デジタルアドバンテージ 一色 政彦
2009/07/08
Page1 Page2

Windows Azure Storageについて

―― 一般的な.NET開発者は、「Windows Azureのクラウド・アプリ開発は難しい」という印象を持っているようです。特にデータ・アクセス関連の開発が難しいという印象が強いようです。

砂金 それは、恐らくWindows Azure Storage(以降、WAS)に対する印象だと思います。WASではなく前述のSDSを使えば、既存のデータベース開発とほとんど変わりません。しかし、クラウドならではのメリット、例えばスケールアウトなどを得るには、WASを使うことになります。WASを使う場合、新しいテクノロジに慣れている開発者が世の中にまだあまりいないため、難しいと思われてしまうこともあるかもしれません。マイクロソフトとしても、今後、Visual Studioなどの支援ツール側を改良して、より開発しやすくする改善の余地はあると思います。

―― WASではテーブル間のリレーション(関連)という概念を持ちませんが、このためにSDSよりもスケールしやすいのでしょうか?

砂金 はい。大量のデータを無限に蓄積していったり、高画質の動画をストリーミング配信したりするなど、さまざまな用途のアプリに利用できます。

―― しかしWASで作ると、当然ながらアプリはWASに依存してしまいます。そうすると、Windows Azureにロックインされていまい、Windows Azure以外のクラウド・プラットフォームへは移行しにくくなるのでしょうか?

砂金 アプリケーション本体を移行するのは、それほど難しくないと思います。しかし、WASに格納されているデータをほかのクラウド・ストレージに移し替えることや、その逆方向への移し替えは、それほど簡単ではないかもしれません。

―― 例えば、アプリ本体だけをWindows Azure上からAmazon EC2上に移し替え、ストレージ環境はWASを使い続けるということは可能なのでしょうか?

砂金 あり得るとは思います。プログラム内で利用するクラウド・ストレージのインターフェイスは、オープンなREST APIによるPOST/GETコマンドですので、ほかのクラウド・プラットフォームからでも利用できます。ただし、それがベストな構成かは分かりません。

―― WASのストレージをバックアップしておきたいというニーズもあると思います。これは可能なのでしょうか?

砂金 Windows Azure内部のシステム構造からいっても、クライアントPC上にあるよりも、クラウド上にデータがある方が安心できるはずです。しかし、それが納得できない、あるいは何か特別な理由があるのであれば、バックグラウンドで非同期にデータを取得してクライアント・ストレージに保存するようなクライアント・ツールを開発すればよいと思います。

SQL Data Servicesについて

―― WASではなくSDSについてですが、クラウドのSDSとローカルのSQL Serverを同期させるサービスも考えられていましたよね?

平野 はい。「Huron」(開発コード名)です。その詳細は未定ですが、計画はあります。

―― オンプレミスからクラウドにアプリを移行しようと思うと、データの移行が必要になりますが、これは簡単に行えるのでしょうか?

砂金 SDSか、WASかで、大きく対応が変わりますが、WASへの移行はあまりないでしょう。SDSの詳細仕様が固まるまで明確な説明はできませんが、SDSへの何らかの移行手段、例えばバックアップ/リストアのような機能が提供され、比較的簡単にデータがインポートできるようになると思います。

関田 SDSに関する明確なプランはまだ説明できませんが、8月の公開リリースで、より多くの情報が明らかになると思います。

Windows Azureの展開/運用

―― やはり本当に取り組むとなると、実運用面の効率などは大いに気になります。例えば、現状で割り当てられる「○○○.cloudapp.net」という形式のドメイン名やIPアドレスは、任意に設定できるようになるのでしょうか?

関田 現状では、ドメインを取っていただき、DNS設定をしていただくことになります。

―― DNS設定を行うためのDNSサーバは自分で用意しなくてはならないのでしょうか?

平野 Windows Azure上でDNS設定が利用できるようになるかは、まだ分かりません。

―― Windows Azureでは、プロジェクト全体をパッケージングしてアップロードすることでアプリをアップデートできます。しかしこの手法だと、一部を少し変更しただけでも全体をアップロードしなければならず、更新作業がおっくうになってしまいます。今後、部分更新の機能は提供されないのでしょうか?

砂金 世界中でそういう要望はよく挙がってきます。いずれ対応されると思いますが、「どの段階で、いつ対応されるか」はまだ分かりません。

Windows Azureのパフォーマンス

―― Windows Azureだけではなくクラウド・プラットフォーム全般の課題ですが、データ・アクセスがインターネット上のREST APIやWebサービス経由になるので、やはりレイテンシ(遅延)があるのではないでしょうか?

マイクロソフト
デベロッパー&プラットフォーム統括本部
砂金 信一郎 氏

砂金 当然あります。「アプリをクラウド上に乗せたら速くなる」といのは誤解です。確かにスケーラビリティは上がりますが、必ずしもスループットが上がるわけではありません。閲覧数が増えすぎて応答が遅くなっているアプリであれば、スケールアウトする(=台数を増やす)ことで待ち時間が短縮されるため、速くなったように見えます。ただし、1つ1つのスループットに関しては、当然、ネットワーク経由よりもアプリが手元にある方が速いです。

 では、そのネットワークのレイテンシをどう解決するのかというと、マイクロソフトはネットワーク・インフラ自体を提供する会社ではないので、その手の技術革新は、その道の企業に期待するしかありませんね。

―― つまり、オンプレミスでは問題のない設計手法が、クラウドでは通用しなくなるのでしょうか?

平野 昔のVB6クライアント・サーバ型システムのように、ビューから直接、ローカル・データベースにアクセスしているアプリを、その構造のままWebに持っていくと、遅いWebアプリになってしまいます。それと同様に、通常のWebアプリからクラウド・サービスに移行するには、前述のネットワーク・レイテンシの問題があるという点に十分注意して設計する必要があります。

 例えば、セッション・オブジェクトに大量のデータを詰め込んで、クライアント/サーバ間でやりとりしているようなWebアプリは、イントラネットでは問題なくても、クラウドではそれが耐えられないほど遅くなる可能性があります。このような場合には、ローカル側の領域にデータを保持する仕組みを作るなど、アプリ側で何らかの工夫が必要になる、といった状況はあり得ます。

―― レイテンシに関していえば、データ・センターがない国はサーバとクライアントとの距離が遠くなるので、より不利なのでしょうか?

平野 当然、距離が遠くなれば遅くなるので、それを回避して高いユーザー・エクスペリエンスを発揮するための技術やアーキテクチャの情報がこれから多く出てくると思いますし、マイクロソフト自身も提供したいと考えています。

 レイテンシの解決策としては、例えばSilverlightを活用したRIA(リッチ・インターネット・アプリ)や、Windowsフォームを活用したスマート・クライアントなどが考えられます。これらの技術を使って、クライアント側でできるだけ多くの処理を行わせることで、必ずしもネットワークにつながっていなくてもある程度の作業ができたり、必要なときだけアクセスするようにしたりすることで、ネットワーク・レイテンシの問題を回避できる可能性があります。

Windows Azureのセキュリティ

―― 実運用を決定するに当たって、どうしても気になるのは、セキュリティです。Amazon EC2の場合、規約で制限されているため、例えばポート・スキャンのようなセキュリティ検証を行いたくてもできません。そういった点は、Windows Azureではどのようになるのでしょうか?

関田 例えば、すでにサービスを開始しているマイクロソフト・オンライン・サービス「BPOS(Business Productivity Online Suite)」の場合は、世界5大銀行のうち4行が採用しているほど定評のあるサイバートラスト認証にのっとって、セキュリティ保証がカバーされています。このようなセキュリティ保証は、多層防御によって、つまりデータ・センター自体のセキュリティから、入館手続きに至るまで、何重ものセキュリティ対策によって実現されています。Windows Azureについても同様のセキュリティ対策が検討されているところです。

平野 セキュリティ対策は、先ほど説明したインフラ・レベルのものに加えて、アプリ・レベルでも考えられています。アプリ・レベルのセキュリティ対策としては、機能性やスケーラビリティ、セキュリティなどの観点から、複数のロール・モデルが提供されています。いまはまだWebロールとWorkerロールの2種類しか提供していないのですが、このほかに検討中のアイデアが30種類ぐらいあります。その中で、さまざまなセキュリティ制約を課したロールを提供するという可能性があります。

―― クラウド上に保存したデータが、データ・センターの運用管理者らに見られる心配はないのでしょうか?

関田 マイクロソフトの場合、データ・センターの運用管理者らが持つソフトウェア上の権限は非常に限られており、データを見る権限が基本的にありません。

Windows Azureのパートナー開発企業向け施策

―― パートナーからのWindows Azureに関する問い合わせは多くありますか? 実際にパートナー向けの施策として、何か行われているのでしょうか?

平野 問い合わせはけっこうあり、クラウド・コンピューティングに対する期待感は高まってきています。SaaS型アプリを提供したいというISVには、積極的に対応しようとしているところで、7月以降に実際に開始していきたと考えています。

 ただし、料金体系やSLAがまだ明確でないこと、SaaS型アプリでの課金代行の仕組みを行うのか、シングル・サインオンのためのフレームワークを提供するのかなど、いくつかの検討事項が片づいていません。もちろんこれらの事項すべてに最初のバージョンから対応するのは難しいと思いますが、バージョン・アップを重ね、これらの課題がクリアされてくると、パートナー各社のクラウド・コンピューティングへの取り組みも、より強力に進んでいくと思います。

 インタビューの内容は以上である。

 7月13日〜16日に米国ニューオーリンズでパートナー向けカンファレンス「WPC09(Worldwide Partner Conference 2009)」が開催され、その中で価格体系やSLAなど多くの発表が行われる予定だ。また、8月あたりで、新生SDSが開発者向けに公開予定だ。つまり、7〜8月はAzure関連の重要発表が多数なされる予定で、多くの会社や個人がAzureとクラウド・コンピューティングの検討を開始する契機となりそうである。

 今回、いまひとつ明確な回答が得られなかった個所もたくさんあったが、それらの多くはこれらの発表で明らかになるはずなので、7〜8月中はAzure関連情報に要注目だ。End of Article

 

 INDEX
  [特集] Windows Azureインタビュー
  現実はどうなの? クラウドとWindows Azure
    1.マイクロソフトのクラウド戦略/Windows Azureでの.NET技術以外の活用
  2.Windows Azureの展開/運用/パフォーマンス/セキュリティ
Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

キャリアアップ

.NET未来展望台

未来展望台コーナースポンサーからのお知らせ


- PR -
- PR -
ソリューションFLASH

「ITmedia マーケティング」新着記事

米司法省がGoogleに「Chrome」売却要求 広告業界への影響は?
米司法省によるGoogleへのChrome売却要求は、リテールメディアネットワークに恩恵を与え...

トランプ氏勝利で追い風 ところでTwitter買収時のマスク氏の計画はどこへ?――2025年のSNS大予測(X編)
2024年の米大統領選挙は共和党のドナルド・トランプ氏の勝利に終わった。トランプ氏を支...

AI導入の効果は効率化だけじゃない もう一つの大事な視点とは?
生成AIの導入で期待できる効果は効率化だけではありません。マーケティング革新を実現す...