Windows Azure Blobストレージ
マイクロソフトのクラウドOS
2009年3月、インストールマニアックス2008で優勝することができ、招待されたシアトルのマイクロソフト本社で、Windows Azureの担当者から説明を聞いた時、これは大変なことになるのではないかと思いましたが、どうやらその勘は間違いではなかったようです。
その理由としては、SQLがきちんと動作し、バックアップやメンテナンスなどを含め、きちんと動作するSQLが予定されていることが挙げられます。これまでにも様々なSQL関連のサービスが提供されていますが、データのバックアップサービスがなかったり、データの保守は結局自分で行わなければならなかったりと、いくつかの問題がありました。
また法的にも、マイクロソフト社がオープンソースに本格的に進出することができるようになってきたために、先に挙げた理由と併せて今後の大きな動きにつながるのではないかと考えています。
ここで少し余談になりますが、Windows AzureのFAQページ(http://www.microsoft.com/azure/faq.mspx:英語)を見ると「Windows Azureはhosted serviceだけですか?」や「Windows Server 8のことですか?」など興味深い問答が記載されています。Windows Azureの 「Azure」とは、かつてのWindows NTの「NT」と同じような位置付けと捉えるのが良いのではないかと筆者は考えています。
前置きが長くなりましたが、今回はマイクロソフトのWindows Azureの中からクラウドOSの要となるストレージを中心に説明を進めていくことにします。
図1-1はWindows Azureの管理画面[*]のイメージです。左メニューの一番上にある「Windows Azure」の利用にはtoken(マイクロソフト社のサイトで申請して取得)が必要です。このtokenを入手後、プロジェクトを作成すると「ホスティング」と「ストレージ」の2つのサービスを利用することができるようになります。
具体的には左メニューにある「Windows Azure」をクリックすると「ホスティング・サービス(PCが3台のアイコン)」と「ストレージ・サービス(ディクスが3台のアイコン)」が表示されます。このストレージ・サービスは、次の3つのタイプから構成されています。
・Blob(画像、音声、文書ファイルなどを格納)
・Table(表形式のデータ)
・Queue(トランザクション制御などに利用)
各タイプのストレージを利用する際には「アカウント名」と画面に表示されている90文字弱程度の文字列からなる「Access Key」が必要となります。
さらにSQLが利用できるストレージ・サービス「SQL Azure」が当初のREST APIからダイレクトにSQLが利用可能な形式に変更され、8月中旬にCTP(Community Technology Preview)リリースされました。Windows Azureのストレージを整理すると図1-2のようになります。
* 記事公開時点(2009年9月1日)では https://windows.azure.com/Cloud/Provisioning/Default.aspx にてサインインした後、「Project Name: PDC08CTP」を選択した際のイメージです。
token の取得等、基本的な設定については細田隼平さんの記事「WS2008 R2と最新OS Azureでのサーバー構築」の3ページ目( http://thinkit.jp/article/994/3/)をご参照下さい。
クラウドでRDBMS機能が利用できるSQL Azure
SQL Azureのトライアルが開始されました。トライアル開始の前日に公開されたCTP版の英文のトレーニングキット(Windows Azure Platform Training Kit - August Update)には、従来のWindows Azure関連のコンテンツに加えSQL Azureのものが3つ追加されていましたので、ここでは簡単に導入部分のみSQL Azureについて紹介いたします(図1-3参照)。
機能に制限はありますが、SQL AzureにSQL Server用のGUI管理ツール(SQL Server Management Studio)を接続して利用することができます。ただし、現時点では不要なエラーメッセージなども表示されるため注意が必要です。SQL Server用のコマンドラインツールであるsqlcmdを利用したSQLの実行もできますので、接続の確認にはまずsqlcmdがよいでしょう。
SQL Azureでは、Transact-SQLのサポートもアナウンスされています。トレーニングキットの「Hands-On Lab:Introduction to SQL Azure」で、Transact-SQLで1万行のテスト用のデータを作成する部分がありますが、クラウド上のストレージ・システムとは思えないほど簡単に処理が完了します。
RDBMSを利用した業務アプリケーションでは大半のビジネスロジックが stored proceduresで記述されていることを考えると、既存システムのクラウドへの移行障壁が1つクリアされたと言えるでしょう。Windows Azureのストレージ関連のこれまでについては、図1-4をご参照ください。