マイクロソフト株式会社 デベロッパー&プラットフォーム統括本部 田辺 茂也 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.
© Copyright 2024 ExpyDoc