これから Windows Azure を始める 開発者の皆様に知っていただきたい 8 つの真実 【Reloaded】~ むっつめ
Windows Azure に関するむっつめの真実。
それは、Windows Azure が “オープン” なクラウドプラットフォームである、ということです。
Windows Azure は “Windows” という名前を関するクラウドプラットフォームとして、既存の Windows エコシステムの中で培われた相互運用性(Interoperability) を保ちつつ、クラウドとしてのメリットを享受いただけるプラットフォームになっています。
例えば、Windows Azure の Web サイトにおいて、「開発」の情報を選んでいただくと、そこには .net だけでなく、node.js や java、php といった開発言語(フレームワーク)がリンクされており、それぞれの開発言語を用いて Windows Azure を効果的に使用できる各種ツールや、情報が用意されています。
また、デバイス用のライブラリーとして、主要なスマートフォン プラットフォームにおいて利用いただける Toolkit が用意されています。これら Toolkit を利用いただくと、それぞれのプラットフォームにおいてネイティブなアプリケーションを構築する際に、Windows Azure を利用したアプリケーションを効率的に構築いただくことが可能になります。
- Windows Azure Toolkit for Windows Phone
- Windows Azure Toolkit for iOS
- Windows Azure Toolkit for Android
同様に、Windows 8 のメトロスタイル アプリケーション用の Toolkit もあります。
このあたりの話題については、以下のクラウドカバーも参照ください。
- Nick Harris が語る Windows 8 のための Push Notifications ~ クラウドカバー Episode 73
- Windows Azure Storage を利用した Windows Phone アプリケーションの開発~クラウドカバー Episode 66
- Windows Phone アプリにおける Push Notification の活用 ~ クラウドカバー Episode 64
- Windows Azure Toolkit for Android の紹介 ~ クラウドカバー Episode 58
また、主には Windows Azure の Storage を使用するためのライブラリーとして、Python や Ruby、Perl、Erlang、LISP の Azure 用のライブラリーが存在しています。
- Python: winazurestorage.py
- Ruby: waz-storage
- Perl: waz-storage-perl
- Erlang: winazure.erl
- Common LISP: cl-azure
その他、コミュニティにおいてい Windows Azure 上での動作がテストされたアプリケーションとして Tomcatや Spring、Ruby On Rails、MySQL、mongoDB、CouchDB、Hadoop、Drupal、 Umbraco、Kentico 等のアプリケーションがあります。
Windows Azure は、スケーラブルなクラウドプラットフォームとしてデザインされているため、これらのアプリケーションを使用いただく際には、ステートレスになるように調整/変更をいただく作業も発生しますが(例えば、データベースを SQL Azure を使用するようにする、サーバー環境のローカルファイルシステムの代わりに Windows Azure Storage を使用する、等)、基本的には Windows Server で動くアプリケーションは、Windows Azure でも動かすことができる、と思っていただいてよいかと思います。
以下のクラウドカバーも参考になるかと思います。
- Node.js、Ruby、Python を Windows Azure で利用する Smarx Role ~ クラウドカバー Episode 48
- Umbraco と Windows Azure ~ クラウドカバー Episode 44
※ Windows Azure にて .net 以外の言語環境やアプリケーションを使用する場合、Windows Azure のコンピューティングインスタンスが起動する際に呼ばれる “スタートアップ タスク” にて、各種言語環境やアプリケーションのインストール、設定を行うスクリプトを用意する必要があります。例えば Ruby 環境のインストールであれば、上記で紹介した「クラウドカバー Episode 48」で紹介されている Samrx Role において installRuby.cmd というスクリプトがあります。これらを参考に環境設定用のスクリプトを作成してみてください。
さて、node.js に関しては、クラウド上で node.js の開発環境を提供する Cloud9 というサービスがあります。
実はこの Cloud9 では、開発した node.js アプリケーションを Windows Azure にデプロイするための仕組みをあらかじめ備えています。
クラウドの開発環境(=ブラウザベースの開発環境)、というとパフォーマンスや機能が気になるところですが、Cloud9 は思った以上に使いやすいサービスとして展開されており、今後の発展が気になるところです。
ということで簡単ですが Cloud9 における Windows Azure との連携を少し紹介します。
まず、Cloud9 のサービスでアカウントを作成すると、node.js のプロジェクトを作成できるようになります。で、プロジェクトを作成し、そこに node.js のアプリケーションを構築するわけですが、その環境において、デバッグの実行が可能です。
デバッグ実行によって、Cloud9 サービス上に プロジェクト名.ユーザー名.c9.io で Web ページ(サービス)が立ち上がります。
また、開発したアプリケーションをデプロイ(配置)するための機能があるのですが、その選択肢の一つに Windows Azure が用意(下記の画面ショットの赤色の囲み)されています。
手順としては、Cloud9 上に Windows Azure の管理ポータルにアクセスするためのクレデンシャル情報等を登録しておくのですが、これを実施することで、アプリケーションの配置時に、Windows Azure 上で利用しているホステッドサービスの一覧が出たり(下記の画面ショットの緑色の囲み)、あついは新規でホステッドサービスを申し込んだりすることが可能です。
プロジェクトにおいて、この情報を用意しておけば、今後はその情報を呼び出してワンクリックで Windows Azure に対して node.js のアプリケーションをデプロイできるようになります(Windows Azure で node.js を動かすために必要となる各種設定等を含める形で Windows Azure にデプロイしてくれます)。
Cloud9 は、クラウド上の開発環境にも関わらず、いろいろな機能が用意されており、また機能も随時強化されています。ご興味ある方は、合わせて以下で紹介しているクラウドカバーもご覧ください。
ところで、6/8(金) 早朝 5:00~8:00(日本時間)に予定されている Windows Azure のオンラインイベント、「MEET Windows Azure」では、Windows Azure の開発プラットフォーム部隊のトップである Scott Guthrie がキーノートを務める予定です。彼がこの形式(キーノートを務める Windows Azure のオンラインイベント)で登場するのは、去年の12月に行った 「Learn Windows Azure」以来と、いうことで Windows Azure に関する重要なアップデートなんかも聞けるのではないかと思います。
ぜひ、前日はカーテンを開けたまま寝ることで、夜明けとともに起床頂いて(大体 4時半ごろに日の出ですので :-) )、出勤前にオンラインにて視聴いただけるとよいかと。
ということで、むっつめの真実は、Windows Azure が様々な言語から利用でき、様々なアプリケーションを動かすことができる “オープン” なクラウドプラットフォームである、ということでした。
それでは、Enjoy Azure!
- これから Windows Azure を始める 開発者の皆様に知っていただきたい 8 つの真実 【Reloaded】~ ひとつめ
- これから Windows Azure を始める 開発者の皆様に知っていただきたい 8 つの真実 【Reloaded】~ ふたつめ
- これから Windows Azure を始める 開発者の皆様に知っていただきたい 8 つの真実 【Reloaded】~ みっつめ
- これから Windows Azure を始める 開発者の皆様に知っていただきたい 8 つの真実 【Reloaded】~ よっつめ
- これから Windows Azure を始める 開発者の皆様に知っていただきたい 8 つの真実 【Reloaded】~ いつつめ