fc2ブログ
 

Technology へようこそ
ここは技術者の「経験」と「ノウハウ」のブログです


2009年10月22日

Windows Azure Platform

先日、マイクロソフトのパートナー企業向けに開催されたWindows Azureセミナーに参加してまいりました。
Azure(アジュールと発音していました)ってのは、今流行りの「クラウド」ってヤツです。

これまで個人的には、クラウドって代物はどちらかというとインフラ絡みの要素が強いのではないか?、とか、デベロッパー、特に弊社のような弱小ソフトハウスはまったくもって出る幕なしなのでは?、といった印象を持っていたのですが、一口にクラウドといってもいくつか種類があるようで、インフラとサービスをコミコミで提供するいわゆる「SaaS」といったものから、IDCの機能を持ったインフラのみを貸し出す「HaaS/IaaS」、インフラを含むアプリケーションの実行環境(OSやストレージ)を主にベンダーに対して提供する「PaaS」と呼ばれるもの、などがあるようで、今回のWindows Azure Platformは「PaaS」に属するもののようです。
要は「インフラはマイクロソフトが面倒見るから、そこで動くアプリケーションはデベロッパーさんが考えて作って、顧客にサービス提供してくださいよ。」みたいな感じ。

どうやら自分が抱いていたイメージは「SaaS」に対するものだったようで、「PaaS」形態のほうはむしろ自力でインフラ周りを構築、維持できない中小SIerやソフトハウスが利用してサービス構築するのにうってつけなのでは?、といった見方ができるようになりました。
もちろん中小だけでなく自前でIDCを運用しているような大手企業にとっても、コスト如何では顧客への選択肢が増えるはずなのでメリットがないわけではなさそうです。
作ったサービスがうまいこと当れば、労せずしてサーバを世界規模にまで対応可能なレベルにスケールアップできてしまう(もちろんそういうことが可能な設計にしておく必要はありますが…)という話にはちょっと心惹かれるものがあります。

ちなみにAzure Platformの機能として提供されるものは大雑把に言うと2つあって、ひとつは仮想マシンのCPUパワー(実際にはIISの機能に相当)、これがWindows Azureと呼ばれるもので、もうひとつがAzure StorageやSQL Azureと呼ばれる仮想ストレージ。本当はもうひとつ.NET Servicesというキーワードもあるようですが、こちらは割愛w
Windows Azure ≒ Windows Server、SQL Azure ≒ SQL Serverみたいなイメージらしく、AzureをServerに読み替えると分かりやすい、みたいなことも言っとりました。

で、そういった環境下で動く肝心のアプリケーションのほうですが、ASP.NETアプリはセッション管理の方式などに若干考慮が必要となるものの、基本的には従来の開発手法と同様でオケ、とのこと。
また、バックエンドで動作するワーカープロセスもサポートされているので、Webアプリが絡まないバッチ処理的なことに利用することもできるようです。
ストレージのほうは前述のAzure StorageがいわゆるKey-Valueストア的なもので、SQL AzureはSQL Serverと同様の機能をもつRDBMSということのようです。
Azure Storageのほうが機能が少ないぶん低コストで使えるようですが、一応簡単なトランザクションを実現する機能も備えているようなので、込み入ったことをしない限りはSQL Azure無しでもイケそうな感じ。
ちなみにSQL Azureに関しては、当面1データベースあたり最大10GBの容量しかサポートしないそうなので、利用シーンはちょっと限られてしまうのかもしれません。
ま、そんなこんなで、.NETアプリのデベロッパーであれば、あまり苦労することなくAzure環境に移行できまっせ、というのがマイクロソフトのアピールポイントのようです。
ちなみに、Python使いの方々はGAE (Google App Engine)を使ってください、とのことw

以上が、Azureの簡単な概要ですが、おそらくクラウドベンダーの最大の関心事はコストの問題。いったい幾らかかるのよ、と。
使ったぶんだけ払いの従量制の場合、インスタンス毎のCPU使用時間、ネットワークの帯域使用量、格納されているデータ量(ストレージの場合)、これらそれぞれについて課金されることになるようで、事前に見積もるのはかなり難しそうな気配。
定額制やボリュームディスカウントといった、そのほかの料金体系については正式リリースとなる11/17に米国で開催されるPDC 09で明らかにされるようですが、今のところ最終的なコストメリットが如何ほどのものになるのかは謎。
まぁ、プライベートIDCの維持、運用がそもそもどれくらいかかるのかも知らないので比較のしようもないのですが、インフラコストは当然サービス受益者であるエンドユーザにも転嫁されます。このご時勢、エンドユーザーの興味はもっぱらコスト面に向いているのはマイクロソフトも承知のことでしょうから、あまり法外な料金体系にはならないものと期待しておきましょう。

何ともとりとめなく書いてしまいましたが、最後に、こういったクラウド環境の普及を想定した場合、我々開発者としてはこれまで以上に「非同期処理」や「疎結合」といったスケーラビリティを考慮した設計、実装についてしっかりと学んでおく必要がありそうです。

[ posted by ken ]

この記事に対するコメント


この記事に対するコメントの投稿














管理者にだけ表示を許可する



この記事に対するトラックバック
トラックバックURL
http://comfair2.blog24.fc2.com/tb.php/441-8cce07ec
この記事にトラックバックする(FC2ブログユーザー)