AppirioがWindows AzureからSalesforce.comのデータベースへ移行した。開発が難しく、Web RolesやDBAは必要以上の負荷がかかるというのだ。開発者であるAdron Hall氏もAzureのSDKや価格、管理ツールに不満を持っている。
AppirioはITとクラウドのコンサルタントだ。最近CloudSpokesというクラウドプロジェクトを競い合う開発者のためのポータルを発表した。当初、このポータルはWindows Azureサービスを使って開発されていたが、後にSalesforce.comのDatabase.comへ移行した。Database.comは現在すべての人が利用可能だ。New York Timesがこの技術変更について詳しく報じている。
第一の問題はクラウドソーシングプロジェクトの開発に関連している。
CloudSpokesのサイト構築の決定の結果、開発プロセスは大変になった。CloudSpokesはクラウドソースのサイト開発を採用し、世界中の開発者の興味を惹くため独自のコンテストを開催するので、自分たちの開発プロセスに問題があると面目がつぶれてしまう、とコミュニティマネージャであるDave Messinger氏が説明してくれた。
Appirioの最高戦略責任者であるNarinder Singh氏はAzureのWeb Rolesにはプラットフォームとしての真のサポートが欠けているという。
Singhが言うには、低いレベルの作業をしなければならないという点でInfrastructure-as-a-Serviceに近い。このような低いレベルのサービスはWindows AzureのようなPlatform-as-a-Serviceが市場を獲得する上で不要なはずだ。
しかし、AppirioがDatabase.comへ移行した最大の理由はAzureで必要なデータベース管理の技術レベルだったようだ。
Windows Azureにはある水準のデータベース管理のノウハウが必要だが、CloudSpokesはそのようなノウハウを扱いたくなかった。DBA作業ではなくフロントエンドやビジネス上重要な側面に注力したかったのだ。Database.comを見つけるとMessingerとSinghは7月中旬から移行作業を始め、振り返ることはなかった。
Azureから移行したおかげで、生産性が向上し、必要な開発者の数が減り、開発も速くなった。
- Windows Azureを利用していたときには7人いたフルタイムの開発者が1人になった。
- 最初のバージョンの開発には1ヶ月しかかからなかった。Windows Azureでは6ヶ月という見積もりだった。
- サービスを稼働させるまでに2ヶ月から1ヶ月半くらいかかった。Windows Azureを使っていたときは、7ヶ月半くらいかかると見積もっていた。
また、Russell Investmentsのアプリケーション開発者であるAdron Hall氏も、Windows Azureの良い点、悪い点について詳しく書いている。氏はSDKや価格、管理ツールの問題について概括している。
確かにSDKは便利です。エラーを無くしてくれますし、(悪い)コードを封印してくれます。そして、開発の仕組みと強く結びついています。しかし、私はプロです。このような、小学生レベルの支援など無くても自分で問題なく開発できます。それに、考慮しなければならないことが何千もある大規模な環境(数十のインスタンスを扱う環境でも)の場合、Windows Azureが提供する開発の仕組みは役に立ちません。このSDKのクローズドな特徴と開発の仕組みが、Windows Azureを最も大規模開発に向かないプラットフォームにしてしまっている第一の要因だと思います。
また、現在の市場ではWindows Azureは最も高価なクラウドプラットフォームでありインフラであります。AWSはどこでも2/3から1/6の値段です。Rackspaceは場合によっては、Windows Azureの同様の性能のサービスに比べて1/8の値段になることもあります。確かにWindows Azureは値段に見合うものを提供しているかもしれません…それに、稀にAzureが安い場合もあります。しかし、本当に稀なのです。…
Silverlightのインターフェイスは美しい。しかし、IE以外のブラウザで見るとなんだかパサパサしているように見えます。いや、間違えました。どのブラウザで見てもそう見えます。今は直っているのかもしれませんが、私や同僚の経験から言うと、Chrome、Opera、Safari、Firefox、IE、どのブラウザで見てもそう見えたのです。なんだか起動中でインスタンスが回転しているようで、UIを再描画したらインスタンスが消えてしまいました。またリフレッシュしたら応答が返ってこなくなってしまったこともありました (私のマシンだけで起こったことではありません)。
現在のインターネット環境やウェブ開発環境ではこのインスタンスの起動時間は受け入れられません。Linuxのインスタンスと同様の起動時間にするべきです。そのために何が必要なのか私は関心がありませんが、インスタンスのクリーンアップやアーキテクチャの変更、必要であればOSのスワップアウトが必要です。どのOSのインスタンスがクラウドで動いていようとかまいませんが、1-2分かそれ以下で起動してほしい。Rackspace、Joyent、AWSなどのクラウドが提供するインスタンスの起動時間は45秒です。1分くらいかかることもありますが、大抵は1分以下です。
氏は.NET、PHP、Ruby on Rails、、SQL Server、サービスバス、アクセスコントロール、Azure Marketplace, SQL AzureをサポートすることなどWindows Azureの良い点も挙げている。しかし、結論は厳しい意見だ。氏はAzureはまだ実使用に耐えないという。
ベータ版以来、Windows Azureは成長し成熟してきました。しかし、他の成熟したプラットフォームに比べまだ大きな欠点があります。しかし、Windows Azureを選んだ人、選ぼうとしている人にとって長いトンネルの先の光が見えているように思えます。….
私自身について言えば、将来Windows Azureを使っていると思います。大規模ではないにしろ、使っているでしょう。
他の利用者はWindows Azureについてどう思っているのだろうか。あなたの場合はどうだろう。Azureを使う利点は欠点よりも大きいか。それとも反対だろうか。