Windows Azure
Windows Azure用のコードを記述するには.NET環境が必要となる。しかし、そのコードはFull Trustレベルで動作するため、必要に応じてアンマネージドコードを用いることもできる。なお、アプリケーションを記述するのではなく、コードをWebロールもしくはWorkerロールとして記述することになる。
- Webロールでは、コードに対してHTTP/HTTPSのエンドポイントが1つ提供される。この形態はASP.NETアプリケーションとよく似ており、ASP.NETの場合と同様に、グローバルイベントハンドラにフックすることができる。
- Workerロールではコードをバックグラウンドで動作させることができ、WCFサービスと同様に、必要に応じてさまざまなネットワークエンドポイントを公開することができる。また、Windows Azureと開発コードとの通信には、.NETライブラリやRESTインターフェースを用いることになる。これにより、非.NETコードをWindows Azure上で実行できるようになるだけではなく、非.NETアプリケーションからWindows Azure上のリソースにアクセスできるようにもなる。なお、コードを配備する際には、パッケージ化処理を行ってからWindows Azureにアップロードする必要がある。また、テストを目的として、内部的に配備を行うことも可能である。
SQL Azure
SQL Azureを用いることで、企業は自社のデータベースをクラウド上に配置することができるが、その際にはアーキテクチャを慎重に検討する必要がある。データベースとのやり取りが多いアプリケーションの場合、それによって引き起こされるレイテンシ(アプリケーションもAzure上で稼働していない限り)に大いに悩まされることになるためだ。SQL Azureとの通信は、ODBC接続やADO.NET経由で行うことができ、PHP向けのコネクタも用意されている。また、既存のツールを利用してSQL Azureに接続することができ、ストアドプロシージャやビュー、トランザクションといった機能も利用できる。
Azure AppFabric
Azure AppFabricはAzure上のアイテムと、企業のLAN内のアイテムを結ぶゲートウェイやルータとして機能するだけではなく、Active Directoryフェデレーションサービスや認証、証明書といったものも取り扱う。Azure AppFabricはHTTPやRESTのエンドポイントを公開することができるため、必要に応じて非.NETアプリケーションとの連携処理を行わせることも可能である。また、保護対象となっているアプリケーションへのアクセスを匿名ユーザーに許可することもできる。さらに、単方向通信によるユニキャストやマルチキャスト、そして全2重による双方向通信を含む、さまざまなネットワークアーキテクチャをサポートしている。Azure AppFabricは、利用の際にコードを大幅に書き直す必要のあるサービスというよりも、ちょっとした設定を必要とするラッパのように感じられるはずだ。
「Dallas」
現在のところ、「Dallas」は技術プレビュー(CTP)版として提供されており、その内容は変更される可能性がある。これはAzure上で稼働しているサービスに対するアクセスを売買するマーケットプレースである。顧客に対して.NETプロキシクラスを提供することができるため、顧客側でのXMLによるやり取りを不要にすることもできる。ある観点から見た場合、これは一歩後退しているように感じられるかもしれないが、筆者はアイデアとして地に足が着いていると考えている。とは言うものの実際のところ、これまでに開設された同様のサービスマーケットプレースは成功しているとは言い難い状況にある(UDDIのことを覚えているだろうか?)。