忍者ブログ
平成22年 第12回「米・食味分析鑑定コンクール:国際大会」(松江市)有機栽培・JAS認定部門で特別優秀賞を受賞。(食味90・味度83・計173点) 平成25年、第15回魚沼と第16回北京開催運動中! 無農薬魚沼産コシヒカリ生産農家・理想の稲作技術『CO2削減農法』 http://www.uonumakoshihikari.com/
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

クラウドコンピューティング
http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0

Microsoft Windows Azure
http://ja.wikipedia.org/wiki/Windows_Azure

マイクロソフトのクラウドコンピューティングプラットフォームである「Windows Azure Platform」について、開発者が知っておくべき基本的な内容を紹介する。

文:Justin James(Special to TechRepublic)
翻訳校正:村上雅章・野崎裕子 2010年6月22日 08時00分

Microsoftが同社のクラウドコンピューティングプラットフォームである「Windows Azure Platform」(以降、Azure)を最初に発表した際、筆者はそれをどう評価すべきか判断できなかった。Microsoftはただ流行に乗り遅れまいとしているだけなのか、それともクラウドコンピューティングというパラダイムは本当にエンタープライズの使用に耐えられるものになっているのかといった疑問に答えを出すことができなかったのである。

 Azureが利用可能になったという発表の直後、筆者は関連情報に目を通してみた。しかし、基本的なことを理解していない筆者のような人向けに書かれた情報はほとんどなかった。また、残念なことにMicrosoftは、有益な情報をオンラインビデオとして公開するという、いつもの悪い癖を出してしまっていたのである・・・IT関係の仕事をしているのであれば、自分にとって必要な情報が本当に含まれているかどうか分からないビデオを3時間も4時間も見るだけの暇を持て余しているとでも思っているのだろうか。とは言うものの、筆者はこういった情報をふるいにかけ、Azureの正体と、Azureを用いた開発を支える基本的なコンセプトについて探り出すことができた。

*Azureはプラットフォームである
 最初に、Azureという言葉自体は製品名ではなく、プラットフォームを構成する複数のサービスを包含したものであるということを理解しておく必要がある。現在発表されているサービスには以下のものがある。

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上に配備されているアプリケーションやサービスのマーケットプレースである。
 Windows AzureとSQL Azureでは従量制の課金方式となっている一方、Azure AppFabricでは接続単位の課金方式となっている。これら3つのサービスはいずれも、データ転送で追加課金されるようになっている(すべての価格情報についてはこのページを参照のこと)。ただし、サービスレベル契約(SLA)に目を通してみると、率直に言って、ミッションクリティカルなアプリケーションに耐えられる内容だとは思えない(保証されている稼働率は99.9%となっている)。「99.999%」の稼働率を実現するには多額の費用が必要となるのは確かである。しかし稼働率が「99.9%」ということは、1カ月間に約40分間のサービス停止時間が発生し得るということを意味している。あなたの企業は、こういったアプリケーション停止を看過できるだろうか?それでは問題があるというのであれば、Azureの採用は見送った方がよいだろう。

*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のことを覚えているだろうか?)。

*まとめ
 Azureは.NET開発者の目には興味深い選択肢として映るだろう。ただ、その価格が他のサービスと比肩し得るかどうかについて、筆者は疑問を持っている。確実に言えるのは、高負荷やインフラ規模の縮小に対応できるという点で、Azureはバッチ処理(レポートの生成や、単体テスト、統合テストなど)といった業務に適しているということだ。また、バッチ処理であれば上述したようなSLAの懸念も大きな問題にはならないはずである。

 Azureを検討するにあたっては、自社アプリケーションのアーキテクチャがクラウドモデルに適しているかどうかを確認しておくことが重要である。つまり、セキュリティやレイテンシ、ネットワークの通信量といったものを考慮しておく必要があるわけだ。また、外部ネットワークとの接続がダウンした場合でも稼働し続けなければならないミッションクリティカルなアプリケーションはAzureに適していない。SQL Azureへの移行はそれほど困難ではなく、コードの書き直しも必要ではないと思われるが、既存のコードをAzureに移行するにはそれなりの作業が伴うことを覚悟しておいた方がよいだろう。


この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。
PR
この記事にコメントする
NAME
TITLE
COLOR
MAIL
URL
COMMENT
PASS   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
174  173  172  171  170  169  168  167  166  165  164 
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
フリーエリア
最新コメント
最新トラックバック
プロフィール
HN:
魚沼コシヒカリ.com
年齢:
70
性別:
男性
誕生日:
1954/01/01
職業:
農業
趣味:
スキー・読書・インターネット
自己紹介:
私は、魚沼産コシヒカリを水口の水が飲める最高の稲作最適環境条件で栽培をしています。経営方針は「魚沼産の生産農家直販(通販)サイト」No1を目指す、CO2を削減した高品質適正価格でのご提供です。
http://www.uonumakoshihikari.com/
魚沼コシヒカリ理想の稲作技術『CO2削減農法研究会』(勉強会)の設立計画!
バーコード
ブログ内検索
P R
忍者ブログ [PR]

designed by 26c. / graphics by ふわふわ。り