「Windows Azure Platform」:MSのクラウドについて開発者が知っておくべきこと - レポート - ZDNet Japan(情報元のブックマーク数)
笑ったw ビデオでの公開で3時間も見る暇ねーよ!w
Azureが利用可能になったという発表の直後、筆者は関連情報に目を通してみた。しかし、基本的なことを理解していない筆者のような人向けに書かれた情報はほとんどなかった。また、残念なことにMicrosoftは、有益な情報をオンラインビデオとして公開するという、いつもの悪い癖を出してしまっていたのである・・・IT関係の仕事をしているのであれば、自分にとって必要な情報が本当に含まれているかどうか分からないビデオを3時間も4時間も見るだけの暇を持て余しているとでも思っているのだろうか。とは言うものの、筆者はこういった情報をふるいにかけ、Azureの正体と、Azureを用いた開発を支える基本的なコンセプトについて探り出すことができた。
「Windows Azure Platform」:MSのクラウドについて開発者が知っておくべきこと - ZDNet Japan
ここポイント、Azureはプラットフォーム。
最初に、Azureという言葉自体は製品名ではなく、プラットフォームを構成する複数のサービスを包含したものであるということを理解しておく必要がある。現在発表されているサービスには以下のものがある。
「Windows Azure Platform」:MSのクラウドについて開発者が知っておくべきこと - ZDNet Japan
- Windows Azureサービスを用いることで、Microsoftのサーバ上にコードを配備できるようになる。このコードはローカルのストレージリソース(ブロブストレージやキューストレージ、テーブルストレージ)にアクセスすることができる。
- Microsoft SQL Azure(以降、SQL Azure)はクラウドに配置されているデータベースが搭載している機能を提供するサービスである。このサービスでは、SQL Serverが提供しているようなTransact-SQL(T-SQL)を使用できるようになっているものの、完全なSQL Serverインスタンスが稼働しているわけではない(このため、SQL Serverに搭載されているすべてのストアドプロシージャが利用可能となっているわけではない)。とは言うものの、SQL Serverと統合することは可能である。
- Windows Azure Platform AppFabric(以降、Azure AppFabric)というサービスバスを使用することで、LAN内のアプリケーションとAzureクラウドを連携させることができるようになる。つまり、このサービスによって認証やセキュリティといったものが取り扱えるようになるわけである。
- 「Dallas」(コードネーム)は、Windows Azure上に配備されているアプリケーションやサービスのマーケットプレースである。
WebロールとWorkerロール。まぁアプリとWebですな。
「Windows Azure Platform」:MSのクラウドについて開発者が知っておくべきこと - ZDNet JapanWindows Azure
- Webロールでは、コードに対してHTTP/HTTPSのエンドポイントが1つ提供される。この形態はASP.NETアプリケーションとよく似ており、ASP.NETの場合と同様に、グローバルイベントハンドラにフックすることができる。
- Workerロールではコードをバックグラウンドで動作させることができ、WCFサービスと同様に、必要に応じてさまざまなネットワークエンドポイントを公開することができる。また、Windows Azureと開発コードとの通信には、.NETライブラリやRESTインターフェースを用いることになる。これにより、非.NETコードをWindows Azure上で実行できるようになるだけではなく、非.NETアプリケーションからWindows Azure上のリソースにアクセスできるようにもなる。なお、コードを配備する際には、パッケージ化処理を行ってからWindows Azureにアップロードする必要がある。また、テストを目的として、内部的に配備を行うことも可能である。
SQLは通常のSQL Serverみたいなもんですな。
「Windows Azure Platform」:MSのクラウドについて開発者が知っておくべきこと - ZDNet JapanSQL Azure
SQL Azureを用いることで、企業は自社のデータベースをクラウド上に配置することができるが、その際にはアーキテクチャを慎重に検討する必要がある。データベースとのやり取りが多いアプリケーションの場合、それによって引き起こされるレイテンシ(アプリケーションもAzure上で稼働していない限り)に大いに悩まされることになるためだ。
ここが、MSのクラウド技術の強いところ。LANのものとの連携するための機能
「Windows Azure Platform」:MSのクラウドについて開発者が知っておくべきこと - ZDNet JapanAzure AppFabric
Azure AppFabricはAzure上のアイテムと、企業のLAN内のアイテムを結ぶゲートウェイやルータとして機能するだけではなく、Active Directoryフェデレーションサービスや認証、証明書といったものも取り扱う。Azure AppFabricはHTTPやRESTのエンドポイントを公開することができるため、必要に応じて非.NETアプリケーションとの連携処理を行わせることも可能である。
Azureが欲しいんじゃなくって、ビジネスが欲しいんだとちゃんと言えるようにしないといけませんね。クラウドに持っていくアプリ、持って行けるアプリってのを会社のセキュリティポリシーや色々と合わせて検討するのが今の段階かも。
Azureを検討するにあたっては、自社アプリケーションのアーキテクチャがクラウドモデルに適しているかどうかを確認しておくことが重要である。つまり、セキュリティやレイテンシ、ネットワークの通信量といったものを考慮しておく必要があるわけだ。また、外部ネットワークとの接続がダウンした場合でも稼働し続けなければならないミッションクリティカルなアプリケーションはAzureに適していない。SQL Azureへの移行はそれほど困難ではなく、コードの書き直しも必要ではないと思われるが、既存のコードをAzureに移行するにはそれなりの作業が伴うことを覚悟しておいた方がよいだろう。
「Windows Azure Platform」:MSのクラウドについて開発者が知っておくべきこと - ZDNet Japan