IISにOSSをインストールするための情報サイト [IIS de OSS 64bit]

[[IIS de OSS 64bit]] > [[OS一覧]] > Windows Azure 概要

#contents

*Windows Azureとは [#f573c471]
Azureは「パブリッククラウド」という概念のサービスである。パブリッククラウドとはシステムの運用保守を委託したものである。これは自社でクラウドを運用する「プライベートクラウド」との対比で使われる言葉である。さて、このWindows Azureが何のサービスを提供してくれるのかというとWebアプリケーションサーバ部分~RDBMS部分となる。(.NET Servicesは別)Webアプリケーションサーバ部分が提供されるので私たちはその上で動くアプリケーションを開発するのみで、インフラ構築と運用管理を全てクラウドサービスとして委託する事ができます。逆に言うと、委託するのだから現状社内にいる運用管理部門を必要な管理ポイントを管理する要員のみに絞らなければなりません。そうしなけれパブリッククラウドサービスを受ける意味がない。
日本法人としてクラウドを利用する際の注意点としては先ほどにも述べた通りデータの所在であると思う。法人自体が国内にあり、利用者も国内からのアクセスだとしてもデータそのものは米国に置かれるかもしれないし、その他の国に置かれるかもしれない。その場合国内の法律とは異なる著作権法などが適用される気がする。
このデータの所在に関してはWindows Azureの日本版対応時期には解決できるようになっているはずである。それは例えばNTTと組んで国内にWindows Azure用のデータセンターを構築・提供する事かもしれないし、富士通などと組んでデータセンターを構築する事かもしれない。日本からアクセスされるWebアプリは国内にあったほうが太平洋を渡らなくて済むので遅延も少ないと考えられるので当然と言えば当然かな。

*Windows Azureのサービス大分類 [#xc358235]
Windows Azure Platformは大きく以下の3つのサービスに分けられる
-Windows Azure - Webアプリケーションプラットフォームのクラウド提供
-SQL Azure - SQL Serverのクラウド提供
-.NET Services - サービスを提供する機能なので一般ユーザ向け(本稿の言及対象外とします)

*Azureで使える言語 [#h0621584]
Windows Azureでは言語として php, Python, Rubyが使えるようになっている。(2009年08月現在)
また、当然MS系Web言語は使えると思われる。

*Azureのサービス提供開始時期 [#ta95d491]
米国でのサービス開始は2009年11月からとなり、その際の価格とSLA体系は http://www.microsoft.com/azure/pricing.mspx に記載されている。これは米国でのサービスとなるので、管理インタフェースなどは英語のみである。日本でのサービス提供は検討中らしい。(2009/08)
とは言っても、日本語のアプリケーションを作って動かす事に支障は無いので問題は無い。あるとしたらデータの所在が国外になってしまう事が問題かも。
また、このサービス開始に伴い現状無償提供されているテクニカルプレビュー環境は使えなくなるかもしれない。
また、プライベートクラウド環境の構築を容易にする「Dynamic Datacenter Toolkit」も提供されるようである。

*Azureの仕組み [#j89f71c9]
**Azureのインフラ階層 [#aac8641a]
各プロジェクトに対し、ステージング環境とプロダクション環境が作られる。
開発者はまずステージング環境に作成したアプリケーションをアップし、動作確認後にステージング環境とプロダクション環境をスイッチ(切り替え)する事で本番環境への反映を行う事ができる。内部的なステージングからプロダクション環境への移行は基本的にIPアドレスの変換などのみでサービス自体は稼働しながら移行される。

+データセンター構築
+仮想化環境構築(Hyper-Vベースで、SLAT、ラージページ、NUMA-ware)
+Windows Server搭載
++メンテナンスOSが入り、ホストOSのVHDと差分VHDが入り起動される
++続いてゲストOSのVHDと差分VHD、アプリのVHDが割り当てられる
***AzureのWebアプリ動作のための内部構造 [#nf25402a]
コンピューティングサービスとして大きくWebロールとWorkerロールに分かれる
-Webロール -IISから起動されるWebアプリケーションに割り当てられる
-Workerロール -バッチジョブやWindowsサービスのような処理を実行できる
個々のロールは個々のVM上で実行され負荷が高くなるとVMが複製される仕組み。
***Azureのストレージ機能 [#df00e88f]
大きくは「ブロブ」「テーブル」「キュー」に分けられる
-BLOB -その名の通りBLOB型である。50GBまで保存可能
-テーブル -Key-Value型、クラウドサービスでよく使われる形式
-キュー -WebロールとWorkerロールのやりとりに利用

***ドメイン名 [#j38ae830]
基本的にxxxxx.cloudapp.netとなっている。独自のドメイン名を利用したい場合は、自社のドメイン情報にカスタムドメインネームをCNAMEで追加すればオリジナルドメイン名で利用可能となるようだ。

*Windows Azureのデータセンター物理構成 [#g20dbcd7]
Azureのデータセンター内部の詳細はおそらく明らかにされないが、Microsoftのデータセンターの技術を見る事でWindows Azureがどのような物理構成で動いているのかを想像することはできそうだ。そういえばAzureのサーバはワシントン州のRedmondよりも南の方の街にあると何かで見た気がするな。。
***管理 [#ed4c3e27]
ファブリックコントローラという機能が全体最適化のために動く事で管理の自動化を実現している。
ファブリックの物理構成に準じたドメイン分割を行い、同一アプリのVMを複数ドメインへ分散させる事で単一障害点をなくすようにしている。
サービスを更新する際にも同様の仕組みでサービスが停止しないようにしている。
***Microsoftのデータセンター増加状況(2009/08) [#fac30589]
月1万台ベースでサーバ増強をしている。下記のように「GenerationX」という呼び方でデータセンターの世代を呼んでいる。現在はGeneration4(2009年8月)
-Generation2 -通常のラック型
-Generation3 -コンテナ型
-Generation4 -各サービスがモジュール化された状態

例えばシカゴのデータセンターでは1コンテナ当たり1800~2500台で200基のコンテナを格納可能

詳しいデータセンターの構造は http://www.globalfoundationservices.com/ に記載されている

*SQL Azure [#f1048e07]
**使える機能 [#qbb8742f]
2009年10月のリリース時点で使える機能は以下の通り
-テーブル
-インデックス
-ビュー
-ストアドプロシージャ
-トリガ
-制約
-テーブル変数
-一時テーブル
**既存データのクラウドへの移行方法 [#ndff78bf]
データの移行方法として以下の2種類があるらしい
・SQL Server インテグレーションサービス
・BCPはサービスイン後に順次対応予定
**よもやま話 [#p7b976bf]
-SQL Server Management StudioからもダイレクトにSQL Azureにアクセスする事が出来るようになる予定らしい。
-SQL Azureのデータベース利用は10Gが最大の予定。増やしたい場合は複数のデータベース契約を結ぶ必要がある。
-Azure SQLはSQL Server Management Studioにてアクセス可能になる予定
-SQL Server Management StudioからSQL Azureに接続する際は、Management Studio起動時にポップアップする接続ダイアログは一旦「キャンセル」しないといけない。「新しいクエリ」で接続しなければならない。そして「SQL Server認証」で接続すること。(2009年8月)
-現状、SQL Azureのバージョンは「SQL Server 2008(RTM) 10.0.9006.81」と表示されている(2009年8月)

*WindowsAzureアプリケーション開発手順 [#pe92bdf2]
+開発前の準備
開発トークンは思いのほか時間がかかっている(2009年8月)が、改善されすぐにトークンが発行されるようになるとの事。
++Live IDの取得
++Azure開発トークンの申請
+開発環境の構築
+VisualStudio Web DeveloperエディションなどをPCにインストール
+Windows Azure開発のツールキットをダウンロードしインストール
→開発環境PC上にダミーのデータサービスが立ち上がる
**開発よもやま話 [#webd88bc]
-PDC08 CTPの環境は2009年11月の商用サービス開始まで引き続き無償で利用できる
-キューのタイムアウトはデフォルトで30秒、最大で2時間にできる。

*コメント [#k3985663]

#comment


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ