Windows Azureのいいところ、悪いところ、そして、何ができる?

2012年3月17日(土)
田口 一博

はじめに

はじめまして、田口です。マイクロソフトの製品や技術とオープンソースを組み合わせた開発やシステム管理のお手伝いをしています。最近はWindows Azureを使って面倒で大変なサーバー管理から逃げて少しでもラクに楽しく生きていこうと企む毎日です。

そんな怠け者の私でも始められたクラウドサービス「Windows Azure」について、みなさんにご紹介していきます。

Windows Azureって実際に使われているの?クラウド?Azure?

Windows Azureってニュースや広告で名前だけは見たことがあるけれど、実際のところどんなサービスなのでしょう。あまり知られていませんが、すでにさまざまなところで利用されています。

最近の事例

  • メイキング・オブ mixi Xmas 2011
    たとえばmix Xmas 2011はアプリ上でくつしたを飾って、マイミクのベルを鳴らしたりするとポイントがもらえてプレゼントに応募できるアプリ。毎日110万人がアクセスし、延べ250万人が登録、合計1.8億回のベルが鳴らされた大規模なサービスです。

事例はわかったけど「クラウド??」って人もいるのではないでしょうか?Windows Azureの紹介の前にそこから簡単にお話します。

Windows Azureなどのいわゆるクラウドサービスでは、アプリケーションを実行するためのコンピューティング環境およびストレージ環境などを提供します。

といってもよくわからない人が多いと思います。簡単に書くとインターネットにあるサーバーとハードディスクのようなものです。レンタルサーバーと何が違うの? と思う人がいるかもしれませんが、もっと自由に使える環境が提供されており、キャンペーンでの急なアクセス増加を見越して提供するサーバーを増強することなど、急な状況の変化にも簡単に対応できたりします。

その中でもWindows Azureは世界規模に展開されているクラウドサービスで、ユーザーが数人の小規模なサービスから、数百万人規模の大量にアクセスが発生するような大規模なサービスまで、さまざまなクラウドサービスに対応し、開発や提供することができます。

ここからはWindows Azureのメリット・デメリット、開発環境、はじめるためのポイントと最新動向を見ていきます。

他の似たようなクラウドと比べて何が違うの?

有名なクラウドサービスとして、Amazon EC2やニフティクラウドがありますが、Windows Azureはこれらのクラウドサービスと比べて何が違うのでしょうか?

Amazon EC2やニフティクラウドが提供するIaaS型クラウドサービスと違い、Windows Azure は PaaS型のクラウドサービスです。このサービス間の大きな違いとしては、ハードウェアやOS、ミドルウェア(*)などのインフラに関する部分となり、メリットとデメリットを比較した形で書くと、以下のようになります。

*ミドルウェアとは、OSとアプリケーションの間に入るWebサーバーやデータベース管理システムなどのソフトウェアのことです。

  IaaS
(Infrastructure as a Service)
PaaS
(Platform as a Service)
代表的なサービス名 Amazon EC2、ニフティクラウド Windows Azure
クラウド側が提供 ハードウェア(サーバー、CPU、ストレージなどのインフラ)をサービスとして提供 アプリケーションを稼働させるためのプラットフォームをサービスとして提供
メリット 自由度が高く、基本的にはサービス利用者がOSやミドルウェアなどを自由に選択することができます。 基本的にはアプリケーションを稼働させるためのインフラに関して、設定や運用をすべてクラウド側が行ってくれます。
デメリット OSを含めたソフトウェアの管理(セキュリティパッチの適用、ソフトウェアのバージョンアップなど)をサービス利用者が行う必要があります。 OS、ミドルウェアなどデフォルトや追加でインストールするソフトウェアに関しても制限があります。

つまり、PaaS型のWindows Azureは、OSやミドルウェアの構成や設定に制限はありますが、インフラについては、マイクロソフトに管理をお任せすることになります。サービス開始前に行うソフトウェアのインストール、各種設定。運用が始まったあとのアップデート作業なども不要ですので、サーバー管理が大変楽になり、サービスの開発や制作に専念することができます。

また、Windows Azureなら、提供されているデータベース、CDNやキャッシュなどの豊富なインフラを使い、さまざまなサービスを構築することができます。

開発ってどうすればいいの?

いろいろできそうなことはわかっても、Windows Azureを使うにはどうすればいいの? どんな開発環境が必要になるの?という疑問がでてきます。また、Windowsって名前が付いているし、マイクロソフトの.NETしか使えないのでは?と思っている人もいるのではないでしょうか?

実はWindows Azureでは、.NET 言語(C#/VB.NET)以外にも Java、PHP、Python、Ruby、Node.jsといった使い慣れた言語が使えます。また、開発環境も、Visual Studio や Eclipse などの統合開発環境のほか、使い慣れたテキストエディターなどを利用して開発できます。

また、マイクロソフトは積極的にオープンソースコミュニティと連携しており、WordPress、EC-CubeやOpenPNEなど、Windows Azureに対応したオープンソースのアプリケーションがたくさんあり、カスタマイズして利用することもできます。

もちろん、一般的なクラウドと同様にサーバーなどの購入は不要ですので、初期コストを安く抑えて小さくスタートし、使用量に応じて縮小や拡大や、失敗したときの撤退も迅速に可能です。

いまなら、素早く使えるクラウドのメリットに加えて、Windows Azureを無料でご利用いただける特典やキャンペーンもありますので、ぜひ触れてみてください。

Windows Azure を無償で利用するには?

どうやってはじめればいいの?意外と情報も充実!

ここまでの解説を読んでも、やはり使うのをためらう人も多いかもしれません。でも思っている以上にマイクロソフトやコミュニティによる情報や技術支援は充実していますので、これからWindows Azureをはじめる人をサポートしてくれます。

例えば、以下のステップでASP.NETやPHPのWebアプリを公開することができます。リンク先に詳しい使い方が書いてありますので、気になった人はぜひチェックしてみてください。無料キャンペーンを利用することで、すぐに無料で試すこともできます。

ステップ1.申し込み

Windows Azure サブスクリプション申し込み〜サービス利用 Step by Step

ステップ2.開発環境の準備

[ASP.NETの場合]

WebPI で開発環境を簡単構成

[PHPの場合]

PHP で Windows Azure 開発を始めるための環境準備

ステップ3.簡単なアプリやサンプルをAzureへデプロイ

[ASP.NETの場合]

10 行でズバリ!! [C#] Windows Azure の Web ロール (ASP.NET MVC) を開発する

[PHPの場合]

PHP コマンドツールによるアプリケーションの展開

これらのマイクロソフトからの情報のほか、JAZUGの女子部が勉強会で行ったハンズオンセミナーのハンズオン手順書が公開されています。これが、とてもわかりやすい資料となっていますので、ぜひご覧ください。

JAZUG(Japan Windows Azure User Group)について

Azureの最新動向

最近のAzureの新しい技術の取り込みとして、Windows Azure SDK for Node.js と Apache Hadoop based service for Windows Azure があり、開発や、サービスの公開・運用については今までどおり簡単なまま、IaaS機能を取り込む方向性にもなってきています。

Node.js

最近注目を集めているサーバサイドJavaScript、Node.jsもAzureから使えるようになりました。Node.js デベロッパー センターでは、開発環境の設定から、Expressを使用したWebアプリケーション、テーブルストレージを使用する node.js Webアプリケーションの作成までを紹介しています。もちろん、無償利用特典のアカウントで試すことができます。

また、ブラウザで動作する統合開発環境のCloud9 IDEから、Node.jsアプリを Windows Azure へデプロイすることが可能となっています。

英語のサイトになりますが、Cloud9 IDEを使った簡単なWebアプリケーションの作成とAzureへのデプロイ方法については、下記のサイトで解説されています。

Hadoop

大量のデータを処理するためのオープンソースの分散処理フレームワークHadoopをWindows Azure上で使うこともできます。現在はCTP版で招待コードが必要となっていますので、試用をご希望の場合は Web サイトからお申込みください。

まとめ

さて、今回はWindows Azureを触ってみようかな?どんなことができるのかな?と興味をもっていただくために「Windows Azureの概要」を駆け足でご紹介してきました。

私の使い方には合わないかも… と思われている人も、次回以降でWindows Azure をファイルサーバーとして使う方法や、簡単にブログやECサイト、SNSサイトを公開できるパッケージを紹介していきます。次回以降をぜひお待ち下さい。

Windows Azure3ヶ月無償アカウントはこちら
スカイコード株式会社

主にマイクロソフトの技術を中心としたプログラマ兼システム管理者兼コンサルタント兼雑務係として従事。Microsoft Azureで少しでもラクに楽しく生きていこうと企む毎日。基本怠け者。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています