[Sponsored]
[[特別編集企画]エンタープライズ クラウド最前線 ~ハイブリッドクラウドの最適解 Windows Azure ~]
第2回:真の弾力性を考え抜いたWindows Azure
2012年4月2日(月)
オンプレミスとクラウドのそれぞれにある企業システムの要素をどのように密接に連携させるか。この課題に対して、マイクロソフトのWindows Azureは、いくつかの答えを用意している。その特徴的な機能を概観しよう。
オンプレミスとクラウドを適材適所で活用
クラウドの技術進展やエコシステムの形成、多種多様で膨大なデータの生成と吸収、ソーシャルメディアを代表とする市場起点の情報流通ムーブメント…。こうした背景の中、企業情報システムは今、大きな転換期を迎えている。
弾力性を備えた情報システムを具現化するに当たってクラウドは欠かすことのできない技術要素となるが、その一方で企業は、これまでに構築・運用してきたシステム資産との連携/共存も念頭に入れてグランドデザインを描かなければならない。つまりはオンプレミスとクラウドを適材適所で活用する視点が欠かせないのだ。
こうしたハイブリッド型のシステム運用を当初から想定した企業ITプラットフォームの1つが マイクロソフトのWindows Azureである。今回は、特に「ハイブリッド」という視点で見た場合の特徴を概観する。
まずWindows Azureの全体像を理解する
しばしば我々はマイクロソフトのクラウドプラットフォームを「Windows Azure」と総称しがちだが、これは正確ではない。全体としては「Windows Azure Platform」として認識すべきで、この中にクラウドOSの「Windows Azure」やクラウドDBの「SQL Azure」、更には現在では 「Windows Azure」ブランドに統合されたが、以前は「Windows Azure Platform AppFabric」と呼ばれていたハイブリッド クラウドのための各種サービスが存在する(図2-1)。これらの集合体が提供する機能によってスケーラビリティやサービス連携、自動管理といったことが実現されている。
Windows Azure Platformのハードやネットワークについては、マイクロソフトのデータセンター上にある。OSやファイルシステムなどをクラウド上のサービスとして提供するための管理基盤「Fabric Controller」が、仮想マシンの稼働状況や障害対応を一手に担う構成を採る。誤解を恐れずに言うなら、System Centerを機能拡張させたようなクラウド管理レイヤーが全体を下支えするようになっている。
こうした環境下でクラウドOSとして機能するのが「Windows Azure」だ。現行のWindows系OSとかけ離れたものではなく、そこで形成されるシステム環境は、Windows Serverのハードと仮想インスタンスが無数に集まったものととらえることができる。具体的には、Workerロール(アプリケーションサーバー用途)や、Webロール(Webサーバー用途)といった仮想インスタンスが稼働するが、その実態は“パッケージ化されたサーバーイメージ”で、デプロイすればただちに稼働する。
ミドルウェア層として位置付けられるのが「SQL Azure」や「Windows Azure」ブランドの機能であるキャッシュ、サービス バス、アクセス制御サービスだ。前者は、その名称から推察できるようにRDB(リレーショナルデータベース)である。後者は、SOA(サービス指向アーキテクチャ)に基づくサービス連携やアクセス制御を司るものである。
稼働するアプリケーションは、Visual Studioと.NETで開発したものが動くのは当然として、PHPやJava、Ruby、更には Node.jsで開発したものもサポートされる。これは開発の容易さといった点で注目すべき特徴である。
ハイブリッド型運用における4つのトピック
マイクロソフトがクラウドプラットフォームを世に提供するに当たってオンプレミスとの連携を重視した理由には、これまでWindows Serverを基軸に企業ITの分野に深く関わってきた実績と、それと裏返しの関係にある大きな責任があるためだ。
ハイブリッド運用を想定したものとして、いくつかの特徴的な実装を挙げることができるが、ここでは「データ連携」「サービス連携」「ID連携」「ネットワーク接続」を例示してみよう(図2-2)。
クラウド本格活用時代を迎えた今、アプリケーションもデータも“技術的には”クラウド一辺倒でまかなう素地が整いつつある。しかし、実際のビジネスに照らせばそうもいかない側面もある。ビジネスの個性を発揮するシステム(とデータ)だけは社内環境に残したいというニーズは根強いし、法制度や商習慣といった観点からすべからくクラウドにシフトすることへの心理的抵抗も少なくない。
クラウドへの移行に踏み切ることを決めたユーザーにしても、一足飛びに環境変更するのではなく、事業活動全体の整合性や安定性を優先して徐々にシフトしていきたいとの声もある。つまり1か0かの二者択一を迫るのではなく、クラウドへのソフトランディングの道、あるいは、いざとなればクラウドからオンプレミスに引き戻せるような“中間的な”解がほしいのだ。
【データ連携】
データという観点でマイクロソフトは、SQL Serverと、それをベーストするSQL Azureの連携で柔軟性を提供している。RDBサービスとして提供されているSQL Azureへのデータアクセスの仕組みはSQL Serverと共通で、既存の.NETやその他のライブラリ群を流用できる。システム要員が身に付けている、あるいは組織的に共有しているスキルを生かせる意義は大きい。
SQL ServerとSQL Azureとが混在した環境での実運用では、2つ以上のDBのデータ同期という問題に直面する可能性がある。この解決手段としてマイクロソフトが用意するのが「SQL Azure Data Sync」だ。更新の差分を発見して競合を解決し、正確なデータ同期を図る仕組みだ。オンプレミス-クラウドのDB連携が人の手を煩わせずに、まさにシームレスで可能となる。同サービスはpreviewながらも管理ポータル上からの簡単な操作で利用が可能である。
オンプレミスとクラウドに同じDBを持つことができれば、運用方法を大きく変えずに移行する足がかりを築きやすい。この機能を積極的に活用すれば、基本はクラウド上にデータを起きながらも、(もしそれが海外データセンターであれば)ネットワーク遅延を解消するためにオンプレミスのSQL Serverをキャッシュとして使うような応用も考えられる。
【アプリケーション(サービス)連携】
一方、アプリケーションの観点でクラウド-オンプレミス連携を図る上で重要な役割を果たすのが「Windows Azure サービス バス」である。
これは、アプリケーション(サービス)がオンプレミス環境/クラウド環境のいずれにホストされているかに関わらず、相互に連携させる目的で開発された。SOAに基づいた企業システムを具現化させる際、サービス間をつなぐものとしてESB(エンタープライズサービスバス)が重要な役割を果たすが、このコンセプトをクラウドも対象にして実装したものと言うことができる。
どこにアプリケーションがあろうと、場合によってはオンプレミス→クラウドとアプリケーションのホスト場所が変更になっても、利用者(呼び出し側)に意識させずにサービスを提供し続けることを担保する。クラウドへのソフトランディングをはじめ、企業システムに弾力性をもたらす上で大きなアドバンテージになる。
サービスのエンドポイントを動的に公開するのは簡単なことではない。技術的な詳細は割愛するが、サービス バスがクライアントからのリクエストメッセージを中継する一方、各サービスはサービス バスにメッセージを受け取りに行き、IPアドレスやポート番号などの情報を交換した上で最終的に通信を確立するのが基本的な仕組みとなる。
【ID連携】
Windows Azure が提供するもう1つの重要な機能が「アクセス制御サービス」だ。アプリケーション(サービス)にアクセスしてくるクライアントを認証(authentication)し、さらに何を実行してよいかを認可(authorization)する役割を担う。
これらはセキュリティ上、欠かせない要件となるが、アプリケーション開発者が常にここを意識しなければならないとすると面倒さがつきまとう。そこで、アクセス制御に関わる部分を個々のサービスから切り離してWindows Azureの世界の共用レイヤーとして利用できるように配慮した。開発者はサービスの実装に集中することができる。
ここでもハイブリッド型が考慮されている。オンプレミスのディレクトリサービスの対象としては、Active Directoryが使える。ADに認証されれば、クラウド上のサービスにアクセスできるといった運用が可能だ。一方、クラウド上のそれとしては、Windows LiveやGoogle、Facebookなどの認証システムの流用もできるようになっている。
【仮想ネットワーク接続】
オンプレミス-クラウドを共存させるハイブリッド環境において、先に見たサービス バスを介したアプリケーション(サービス)連携は1つの理想的な姿に映る。メッセージベースの連携基盤は、今後、多様なサービスを企業ITに取り込んでいく上で重要な役割を果たすだろう。
他方、企業によっては、もっと直接的にネットワークをつないでハイブリッド環境を整備したいというニーズもある。それに応えるものとしてマイクロソフトは、Windows Azure Connectを用意する。(preview)
オンプレミスのWindows ServerとクラウドのWindows AzureをVPNで利用される IPSec という暗号通信で接続する仮想ネットワーク機能だ。これによって、クラウドからオンプレミスのリソースを直接使えるようになる。つまり、Windows Azure上のサービスから、オンプレミスのSQL Serverに直接アクセスするといったことができるようになるわけだ。
また、既に展開しているActive DirectoryのドメインにWindows Azureのサービスを参加させることも簡単になる。さらに、オンプレミスのアプリケーションで使用しているのと同じツールを、リモートでの管理やトラブルシューティングに適用することも可能だ。
すぐにスタートを切れるソリューション
以上までに見てきたようにWidows Azureは、オンプレミスとクラウドとの連携を様々な観点から考えた情報基盤である。可用性や信頼性、そして安全性を考え抜いた企業ITを考える時、ともすると大がかりな準備や心構えが必要との観念にとらわれがちだが、マイクロソフトはその必要がないことを訴求する。
これまでWindows Serverを中心にシステムを構築・運用してきた企業であれば、クラウドの最適な利活用に向けて、ファストスタート/スモールスタートを切れるソリューション、それがWindows Azureの位置付けである。
なお、日本マイクロソフトは現在、期間限定のトライアルキャンペーンを展開しています。1GB の SQL Azure データベースを持つ S の Windows Azure インスタンスを、試用開始から 90 日間無料で実行できます。