スライド 1

マイクロソフト株式会社
デベロッパー&プラットフォーム統括本部
田辺 茂也
http://blogs.technet.com/stanabe
Windows Azure 概要
Windows Azure のインフラ
サービス管理機能
サービスの展開とライフサイクル
クラウド上の Windows
仮想化された Windows Server ベースの
コンピューティング環境
堅牢性、スケーラビリティ、高可用性、抽象化
を備えたストレージ
サービスライフサイクルの自動管理
OS によるクラウド上のサービスの提供
展開
高可用性
パッチ適用
ハードウェアの構成
サービスの構築、運用に専念できる
初期投資、運用コストの低減
柔軟な展開と運用
インターネットレベルでシンプルなスケーラビリティ
ピーク時にも低コストで対応
新規開発に集中できる
アクセス数
アクセス数
\1,000,000
WWW
マシン
DNS
\100,000
マシン
\50,000
マシン
スケールアップ
\50,000
マシン
\50,000
マシン
スケールアウト
\50,000
マシン
\50,000
マシン
マシン数
スタートアップ企業が、新規に Web アプリケー
ションを作成する
継続性は未知、急成長の可能性
ISV が既存の .NET アプリケーションのサービス
版を作成
移植が容易、適切にスケール
社内アプリケーションの作成
これまでと同じ開発モデル
インフラの追加不要
Public Internet
Web ロール
ロード
バランサー
ストレージ
インターネットからの
リクエストを処理する
Web ファーム
IIS7 による Web コア
ASP.NET
XML ベースの構成
統合パイプライン
SSL 対応
ネットワークから、
入力方向のアクセス
はない
ストレージ上の
キューからリクエス
トを取得
Public Internet
Worker
ロール
ストレージ
Account
Table
Entity
Name=…hash
=…
Users
Name=…hash
=…
Account
Tag=…id=…
PhotoIndex
Tag=…,id=…
テーブル、BLOB、キュー
REST ベースの API 経由
API を利用したツール経由 (BLOB)
CloudDrive
Windows PowerShell のスナップイン
BLOB: ドライブが割り当てられる
ログのコピーや集計などを、バッチ実行できる
Windows Azure SDK のサンプルとして提供
CodePlex.SpaceBlock
CodePlex でホストされているプロジェクト
GUI ベース
http://www.codeplex.com/spaceblock
Public Internet
ロード
バランサー
Web
ロール
ストレージ
Worker
ロール
Public Internet
ロード
バランサー
Web
ロール
ストレージ
Worker
ロール
Public Internet
ロード
バランサー
Web
ロール
ストレージ
Worker
ロール
Public Internet
ロード
バランサー
Web
ロール
ストレージ
Worker
ロール
現在、巨大なサービスを運用中
Live Search
MSN
Windows Live ID
Windows Live Messenger
サービスをホストする環境を構築中
大きな投資
毎月1万台のサーバーを追加
Contr
ol VM
VM
VM
VM
WS08 Hypervisor
Contro
l
Service Roles
Agent
Out-of-band 通信
– ハードウェア制御
WS08
ロードバランサー
スイッチ
In-band 通信
– ソフトウェア制御
高可用
ファブリック コントローラー
ノードは仮想マシン
または物理マシン
リソースが
必要
ファブリック
コントローラー
ファブリック コントローラー (FC)
実行
モデル記述された使用を
利用可能なリソースにマッピング
システム状態を管理、SLA を維持
特徴
モデル駆動型のサービス管理
ユーティリティモデルの
共有型インフラ
ハードウェア管理の自動化
ファブ
リック
ロードバランサー
スイッチ
サービスのどの部分が同時に停止で
きるかを指定可能
停止ドメインは、データセンターの
トポロジーに基づく
停止ドメイン
スイッチの故障など
統計的には必ず発生
更新ドメインは、更新時に同時にオ
フラインにできる割合
停止・更新が同時に発生する可能性
もある
停止ドメインを考慮して、サービス
ロールを割り当て
例:同じロールを複数のラックに分散配置
更新ドメインを考慮して、サービス
のアップグレードを行う
停止ドメインを
分散配置
リソース割り当て
サービスモデルで指定された条件に応じてノードを選択
停止ドメイン、更新ドメイン、
リソース利用率、ホスティング環境など
仮想 IP アドレス、ロードバランサーは
モデルで指定された外部インタフェースごとに確保
プロビジョニング
割り当てられたハードウェアには新しいゴールステートを設定
FC によりゴールステートに移行
アップグレード
FC により稼働中のサービスをアップグレード可能
サービス状態の管理
ソフトウェアの異常を管理
ハードウェアの異常を管理
ロギング機構の提供により、問題の診断
トランザクションとして実行
1: ノード割り当て
停止ドメインで分散
更新ドメインで分散
2: OS とロールのイメージを配置
3: 設定
4: ロールの開始
5: ロードバランサーの設定
6: 必要数のロールを維持
停止したロールは自動再起動
ノードが停止した場合は、
別のノードを自動割り当て
論理
ノード
論理ロール
インスタンス
論理
ロール
論理
サービス
物理
ノード
ロール
インスタンス
記述
ロール
記述
サービス
記述
論理ノード
ゴールステート
カレントステート
論理ロール
インスタンス
物理
ノード
FC は各ノードの状態を管理
さまざまなイベントにより、状態が変化
FC は状態情報のキャッシュを管理
エージェントとの通信により、実際の状態を反映
ゴールステートはロールインスタンスから取得
FC は、ハートビートイベントで、各ノードをゴールス
テートに移行(ゴールステート以外の場合)
FC は、ゴールステートに達した時刻を追跡
ゴールステートフラグをクリアするイベントもある
イメージベースの OS 展開
マルチキャストにより、信頼性とスケーラビリティの向上
メンテナンス OS
ホスト
パーティション
ホスト
パーティション
差分 VHD
Hyper-V 対応
Server Core
ベース VHD
ゲスト
パーティション
ゲスト
パーティション
ゲスト
パーティション
アプリ
VHD
アプリ
VHD
アプリ
VHD
App1 Package
App3 Package
App2 Package
ゲスト
パーティション
差分VHD
ゲスト
パーティション
差分VHD
ゲスト
パーティション
差分VHD
Server
Enterprise
Server Enterprise ベース VHD
ベース VHD
Server Core
ベース VHD
仮想 IP アドレス (VIP) をプールから割当
ロードバランサー (LB) の設定
VIP と 専用 IP アドレス (DIP) のプールは自動的に構成
DIP はロールインスタンスの状態変更に応じて
利用の可否をマーク
LB 検知は、ロール状態の情報を持つノードのエージェントと
通信するように構成
トラフィックは、受け入れ可能な状態のロールにのみルーティングされる
ルーティング情報がエージェントに送られ
ネットワーク構成に応じてルーティングを設定
可用性向上のための、冗長ネットワーク構成
FC はロールの状態を監視
ロールの異常終了を検知
ロールは異常な状態を報告可能
ロールが異常な状態の場合
ノードのカレントステートを更新
ゴールステートに戻すための作業開始
FC はホストの状態を監視
ノードがオフラインになった場合
回復しようと試みる
停止ノードが回復できない場合
FC はロールインスタンスを別のノードに移動
適切な移動先を決定
既存のロールインスタンスに
構成の変更を通知
FC は稼働中のサービスを更新可能
リソースはすべてのノードに並行して配置
一度に一つの更新ドメインを更新
更新ドメインは論理的なもので、停止ドメインとは同一でなくてよい
更新する更新ドメインの
ノードのゴールステートを変更
操作モード
手動
非互換のバージョンでは、一旦止めて再開
自動
ローリング更新
シンプルなメカニズムにより、ロールバック可能
ゼロ・ダウンタイム
ステージングに展開、プロダクションと切り替え
Windows Azure によるハードウェア要素の
プロビジョニング、管理
コンピューターノード、TOR/L2 スイッチ
ロードバランサー、ルーター、OOB ノード制御
ハードウェアのライフサイクル管理
Burn-in テスト、診断、修理
故障したハードウェアは、プールから外す
自動診断の実行
物理的なハードウェア交換
キャパシティ プランニング
ノードとネットワーク使用率の計測
プロセスに基づき、新規ハードウェアによりキャパシティを増強
サービスは、別のサービスと
分離されている
モデルで宣言された
リソースにのみアクセス可能
ローカルノードのリソース
- 一時ストレージ
ネットワーク エンドポイント
多層構成による分離
Windows の
セキュリティ更新の
自動適用
OS イメージの
ローリング更新
マネージ
コード
権限の制限
ファイア
ウォール
仮想マシン
IP フィルタ
リング
FC は 5-7 レプリカのクラスタ
状態情報を保持し、自動フェイルオーバー
停止したレプリカから、シームレスに移行
すべての FC レプリカが停止しても、サービスは継続
FC そのものも、ローリング更新をサポート
FC クラスタもモデル記述され、「ルート FC」により管理
Client Node
FC Agent
Primary FC Node
Secondary FC Node
Secondary FC Node
FC Core
FC Core
FC Core
Object Model
Object Model
Object Model
Uncommitted
Committed
Committed
Committed
Replication system
Disk
Disk
Disk
PDC リリース
自動サービス展開
3つのサービステンプレート
インスタンス数の変更
シンプルな、サービスのアップグレード・ダウングレード
自動的な、サービス停止の検知・復旧
サービスごとに、外向け IP アドレス、DNS名
サービスのネットワーク分離
ハードウェアの自動管理
ロードバランサーの自動管理など
今後
より複雑なアプリケーションのモデル化
ライフサイクル管理の強化
ネットワーク管理の強化
現在1種類の仮想マシンを提供
プラットフォーム: 64-bit Windows Server 2008
CPU: 1.5-1.7 GHz x64 相当
メモリー: 1.7 GB
ネットワーク: 100 Mbps
一時的なローカルストレージ: 250 GB
Windows Azure ストレージ: 50 GB
フルサービス時には、
複数種類の仮想マシンをサポート
ロールのクラッシュ、またはコードから
カスタムアラートを生成
Critical ログはアラート発生
開発ファブリックではすべて同等
アラートの受け取り方法
Windows Live Alerts
電子メール、IM、電話…
今後、さまざまなタイプのアラートや
閾値の設定に対応予定
ログは、Web ポータルで参照可能
使用量の詳細な分析
時間、日、週、月
ストレージの使用量
CPU タイム
ネットワーク (入方向、出方向)
すべてのデータで、3回以上レプリケート
レプリカは、同じデータセンター内の
異なる停止ドメイン・更新ドメインに分散配置
将来、地理的な分散、レプリケーションに対応
すべてのストレージ (テーブル、BLOB、キュー) が
レプリケーションレイヤー上にある
動的なレプリケーションにより
正常なレプリカ数を維持
使用不能なドライブ、ノードを回復
不正なデータを回復
データの整合性を管理
効率のよいフェイルオーバー
データは、同一データセンター内の
レプリカから、瞬時に回復
転送データの自動ロードバランス
使用パターンを監視し、ロードバランス
テーブル、BLOB、キュー
トラフィックに応じて、アクセスを分散
アクセス頻度の高いデータのキャッシュ
BLOB データはキャッシュされ、スケールアウト
テーブルとキューは、メモリー上にキャッシュ
抽象化がポイント
すべて論理リソース、サービスモデル内で宣言
サービスのコードが、プラットフォーム API を呼ぶことで
論理リソースを物理リソースにマップ
標準的な API を使用
ホビーからエンタープライズまで
すべてのシナリオをカバーする設計
OS はリソースを透過的に入れ替え可能
停止時・更新時
“Raw” モードサポートの可能性
独自の VM を作成し、管理
サーバーだけではなく、サービスを管理
管理の詳細は自動的に作成される
サービス、ノード、ネットワークを管理
サービスライフサイクルの自動管理
モデルによる自動化
割り当て、展開、サービスの管理
物理的なリソースプールから
共有型のコンピューターファブリックへ
使用量に応じた料金
プラットフォームによる、確実なサービスの分離
コーディング・
プロビジョ
モデリング
ニング
• 新規サービス・
• 構成の指定
更新
展開
ゴールステート
の管理
• 実際のハードウェ
アへの展開とマッ
ピング
• 監視
• イベントへの
対応
• ネットワークの
構成
開発者
開発者
管理者
自動
自動
Public Internet
テンプレートにより自動的にマッピング
ロード
バランサー
Web
ロール
Worer
ロール
ストレージ
Load Balancer Channel
Endpoint
Interface
Directory Resource
サービスのトポロジー
ロールとそのつながり (接続)
コンポーネントの属性
必要な OS の機能
構成情報
外部とのインターフェイス
特性
停止・更新ドメインの数
ロールごとのインスタンス数
Windows Azure は、クラウドのための OS
スケールアウト、動的、オンデマンド
サーバーだけでなく、サービスを管理
モデルにより、詳細は自動化
サービスの継続性を提供
セキュアで可用性の高いプラットフォーム
データセンター管理も自動化
ハードウェアやネットワークの管理
Windows Azure の適用領域を検討し、
安定したサービス提供に役立ててください。
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.