Windows Azure の機能アップデート概要 日本マイクロソフト株式会社デベロッパー & プラットフォーム統括本部プラットフォーム戦略アドバイザー佐藤直樹 1
セッションの目的とゴール セッションの目的 Windows Azure アプリケーション開発の概要を理解する Windows Azure のロードマップと Azure SDK のアップデートを理解する セッションのゴール Visual Studio を使った Windows Azure アプリケーション開発を実践できるようになる Windows Azure のロードマップを活用し 実プロジェクトにおいて Windows Azure 採用の検討 採用を行うことができるようになる 2
Agenda はじめに Windows Azure 対応アプリケーションの開発 準備 ローカル環境での開発 クラウド環境でのデバッグのためのツール まとめ 3
はじめに 4
Windows Azure 概要 マイクロソフトのクラウド OS Windows Azure プラットフォームのコアとなるクラウド OS 5
Windows Azure 概要 PaaS 型パブリッククラウドサービス 用途に応じたロールモデルが提供され 環境が標準化 SaaS アプリケーションアプリケーション Worker ロー Web ロールルフレームワーク. NET Framework Web サーバー IIS VM ロール OS サービス OS(Guest OS) PaaS OS Services Windows Server 2008/R2 HaaS IaaS 仮想化 /Host OS ハードウェア Hyper-V (Windows Server 2008/R2) x64 6
開発環境 Visual Studio へのプラグインで Azure 用の IDE へ Windows Azure Tools for Visual Studio 最新版は Version 1.3 (2010 年 11 月リリース) Azure SDK + VS拡張機能 Visual Studio 2010 に対応 サービス発行の自動化.NET Framework 4 のサポート インテリトレース機能のサポート 1 日本語版あり 1. 32 ビット版 Windows で使用する際には修正モジュールが必要 7
Guest OS と.NET Framework の対応 2系統の Guest OS 1.x : Windows Server 2008 2.x : Windows Server 2008 R2 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 2.0 2.1 2.2 1.8 1.9 1.10 8
関連ツール 開発や管理を便利にする周辺ツール Windows Azure Windows Azure 開発ポータル http://windows.azure.com/ Windows Azure MMC Windows Azure Service Management CmdLets myazurestorage - https://www.myazurestorage.com/ 等 SQL Azure Windows Azure 開発ポータル http://windows.azure.com/ SQL Server 2008 R2 Management Studio (SSMS) 9
PHP Java サポートの強化 Eclipse も Windows Azure の IDE に Windows Azureは オープンな プラットフォーム PHPやJavaなどに対するSDK ドライバ ツールを提供 PHP Windows Azure Tools for Eclipse V2 発表 (CTP リリース済み) Java Windows Azure SDK for Java V2 発表 (CTP リリース済み) Windows Azure Tools for Eclipse for Java 発表 (2010 年内にCTP リリース) さらなる Java 対応の強化 (パフォーマンス改善など) を計画 10
Windows Azure Platform アップデートの歴史 SQL Azure 発表 Windows Azure Platform リリース 2008 年 10 月 2009 年 11 月 2010 年 6 月 Windows Azure Platform 発表 最初の CTP リリース 2009 年 3 月 2010 年 2 月 Full Trust, PHP, Java, CDN CTP 等の対応 VM ロール, Project Sydney, 価格と SLA の発表 Project Dallas CTP Windows Azure アップデート.NET Framework 4 OS Versioning CDN SQL Azure アップデート 50GB データベース 空間データサポート DAC サポート 11
Windows Azure: 新機能アナウンス Windows Azure SQL Azure Windows Azure AppFabric 管理者モード & スタートアップタスク フル IIS サポート ネットワークの拡張 リモートデスクトップ VM ロール Windows Azure Connect Extra Small インスタンス CDN の拡張 Database Manager for SQL Azure SQL Azure Reporting SQL Azure Data Sync SQL Azure Federation AppFabric Caching AppFabric Connect (Integration) AppFabric Composition Model AppFabric Composite App Service 黒 :2010 年内リリース 緑 :2010 年 CTP/ ベータリリース予定 茶 :2011 年 CTP/ ベータリリース予定 12
Windows Azure のロードマップ ( 抜粋 ) リモートデスクトップ システム特権昇格 ( 管理者モード / スタートアップタスク ) フル IIS ロール間コミュニケーション拡張 WS2008 R2 サポート Multiple Admin Windows Azure Connect リモートデスクトップによるサーバー管理 IIS 設定などのために 一時的にシステム特権で設定スクリプト等のアプリケーションを動作させる機能 ホスト可能な Web コア (HWC) 等ではなく IIS のフル機能 VLAN やポート定義や内部コミュニケーションで使用するポートを設定 Guest OS のベースが Windows Server 2008 から Windows Server 2008 R2 に更新 単一の Windows Azure アカウントに対し複数の Live ID を管理アカウントとして設定 オンプレミスとクラウドをセキュアに接続する機能 VM ロール クラウド上の仮想マシン 13
Windows Azure ロードマップ 概念図 ロール間 コミュニケーション拡張 14
Windows Azure 対応 アプリケーションの開発 15
開発環境の準備 Windows Azure Tools for Visual Studio が提供するシームレス [発行] メニューをワンクリックすると アプリケーションがクラウドに 配置 発行用パッケージの作成から Windows Azure 環境への配置を自動化 資格情報とサブスクリプション ID による認証 16
発行前の準備 あらかじめ用意する情報 Windows Azure 管理ポータル 機能に接続するための資格情 報 発行時に必要な情報 使用する資格情報 発行先 (Production と Staging) 発行で使用するストレージサー ビス ラベルの指定 IntelliTrace の指定 リモートデスクトップ.CER 17
資格情報の作成手順 (1) [発行] ダイアログで資格情報の追加を選択し その後の ワークフローを実行する 資格情報の作成画面 資格情報 (証明書) を作成 (ローカルに作成 される) 資格情報の保存場所 (パ ス) をコピー 証明書をクラウドにアップ ロード 18
資格情報の作成手順 (2) 参考 : ローカルに保持している証明書情報 参考 : アップロードした証明書情報 ポータルからサブスクリプション ID をコピーして入力 19
プロジェクトの作成 用意された Visual Studio のテンプレートから作成 Windows Azure クラウドサービス クラウド配置に必要な情報 コンフィギュレーション情報を保持 使用するロールを選択 20
ロールの設定 ロールプロジェクトのプロパティ VM サイズ インスタンス数 変数設定 エンドポイント ローカルストレージ 証明書 パフォーマンスと課金にかかわる重要な設定 21
ローカルでの実行とデバッグ [F5] キーでデバッグ開始 開発のエミュレーション環境が起動する Compute Emulator Storage Emulator 22
2 つのエミュレーション UI Compute Emulation UI 稼働中の Role インスタンスの稼働状況 ログの確認 操作 Storage Emulation UI テーブル Blob キュー ドライブの稼働状況の確認 操作 23
マルチ IIS サイトと仮想アプリケーション フル IIS を Web ロールのホスティングとして利用 ホスト可能な Web コア (HWC) での WaWorkerHost.exe ではない Web ロールのサービス定義ファイル (csdef) に構成を記述 デバッガから手動でプロセスにアタッチ Azure Tool (New) Azure Tool 1.2 24
システム定義ファイル (csdef) <WebRole name="webrole1"> <Sites> <Site name="web"> <VirtualApplication name="mail" physicaldirectory="c:\users\jnak\desktop\scratch\website"/> <Bindings> <Binding name="httpin" endpointname="httpin" /> </Bindings> </Site> <Site name="pdc" physicaldirectory="c:\users\jnak\desktop\scratch\secondwebsite"> <Bindings> <Binding name="httpin" endpointname="httpin" hostheader="pdctest" /> </Bindings> </Site> 25
システム定義ファイル (csdef) <WebRole name="webrole1"> <Sites> <Site name="web"> <VirtualApplication name="mail" physicaldirectory="c:\users\jnak\desktop\scratch\websit e"/> <Bindings> <Binding name="httpin" endpointname="httpin" /> </Bindings> </Site> <Site name="pdc" physicaldirectory="c:\users\jnak\desktop\scratch\second WebSite"> <Bindings> <Binding name="httpin" endpointname="httpin" hostheader="pdctest" /> </Bindings> </Site> ホストヘッダーに関する情報を hosts ファイルに記述例 : 127.0.0.1 pdctest 26
リモートデスクトップ クラウド内のデバッグや障害調査を容易 Web ロール Woker ロール VM ロール 運用環境でのカスタマイズは要注意 OS 更新時 ハードウェア障害発生時の変更に反映されない.PFX 27
IntelliTrace クラウド内でのヒストリカルなデバッグ Windows Azure コンピューティングエクスプローラーよりインスタンスの IntelliTrace ログを取得および表示 28
Diagnostics ロールのプロパティで Diagnostics の設定情報を登録 public override bool OnStart() { DiagnosticMonitorConfiguration dmc = DiagnosticMonitor.GetDefaultInitialConfiguration(); dmc.diagnosticinfrastructurelogs.scheduledtransferperiod = TimeSpan.FromMinutes(1); DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", dmc); return base.onstart(); } 29
まとめ 30
まとめ PaaS 型クラウドサービス Windows Azure Platform シームレスなクラウド対応のアプリケーション開発 Visual Studio 2010 が開発者のエクスペリエンスを最大化 実シナリオに沿って Windows Azure の機能を強化 31
リファレンス Windows Azure デベロッパーセンター http://msdn.microsoft.com/ja-jp/windowsazure/ Windows Azure 開発ポータル http://windows.azure.com/ Microsoft Online Services カスタマーポータル (MOCP) https://mocp.microsoftonline.com/ Windows Azure ロードマップ ( 英語 ) http://www.microsoft.com/presspass/presskits/cloud/docs/mspdcfs.docx Azure の稼働状況確認サイト ( 英語 ) http://www.microsoft.com/windowsazure/support/status/servicedashboard.aspx 32
2011 Microsoft Corporation. All rights reserved. Microsoft, Windows 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. 33