Microsoft Tech∙Ed Japan 2010 © 2010 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 represent
クラウド開発の高速道路 ~Visual Studio 2010 による Windows Azure アプリケーション開発~ 3/14/2017 セッション ID: T1-308 クラウド開発の高速道路 ~Visual Studio 2010 による Windows Azure アプリケーション開発~ マイクロソフト株式会社 デベロッパー&プラットフォーム統括本部 アーキテクトエバンジェリスト 岩出 智行 © 2007 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.
セッションの目的とゴール セッションの目的 セッションのゴール Windows Azure アプリケーション開発の 概要を理解する Visual Studio (Windows Azure Tool) の概要、 使い方を理解する セッションのゴール Visual Studio (Windows Azure Tool) を使っ た Windows Azure アプリケーション開発を 実践できるようになる 実プロジェクトにおいて Windows Azure 採用 の検討、採用を行うことができるようになる
本セッションへの参加にあたって 本セッションでは、デモを中心に Windows Azure のアプリケーション開発について紹介します。 セッション資料に記載されている情報すべてを説明することはありませんので、セッション中に使用しなかったスライドの情報は参考資料としてご活用ください。 白黒印刷の調整は、「単純白黒」で実施しています。白黒印刷の際は「グレー スケール」より「単純白黒」を選択いただいた方が見やすく印刷できると思います。
アジェンダ 準備 開発 展開 まとめ 開発前のウォームアップ なにはともあれローカル環境で アプリケーションを世界へ発信 3/14/2017 © 2007 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.
準備: 開発前のウォームアップ 料金システムの理解 アカウントの用意 ツールのインストール Windows Azure アーキテクチャ概要
料金システムの理解~基本は 3 つ ネットワーク、CPU、ストレージで個別に計算 ネットワーク CPU ストレージ ストレージの料金が中心 例: Small インスタンス 2 つ、SQL Azure 10 G 使用 年間おおよそ 30 万円 参考: 「How Much Will It Cost? 」 http://msdn.microsoft.com/de-de/library/ff803375.aspx
Windows Azure Platform の料金 CPU (サイズと使用時間) ストレージ (容量とトランザクション) コンテンツ配信ネットワーク (CDN) SQL Azure の使用料 小さ目 "Web エディション" (1 GB ~ 5 GB) 大き目 "Business エディション" (10 GB ~ 50 GB) Windows Azure AppFabric の使用料 アクセス コントロール、サービス バス データ転送量に基づく使用料 受信 (Azure へのアップロード) と送信 CPU ストレージ ネットワーク ストレージ エンタープライズ ネットワーク
参考: 料金プラン~どれがお得? プランの確認 特別プラン 従量課金プラン 導入特別プラン 標準プラン 拡張プラン SQL Azure 標準プラン 特別プラン MSDN Subscription による特典 Microsoft Partner Network による特典 通常料金 お試し無料 パック料金 開発用無料 & 割引料金 割引料金
参考: プラン比較 (主要項目) 従量課金 導入特別 標準 拡張 SQL 標準 Windows Azure SQL Azure コンピューティング (時間・Small) ¥ 11.76 25 時間分 750 時間分 なし ストレージ ¥ 14.70/GB/月 500 MB 10 GB SQL Azure Web データベース ¥ 979/月 (最大 1 GB) 1 GB 以下の DB 一つ Business ¥ 9,799/最大 10 GB 10 GB 以下の 10 GB 以下の DB 一つ AppFabric アクセス コントロール ¥ 195/トランザクション 10 万回 トランザクション 10 万回 トランザクション 100 万回 サービス バス ¥ 391/接続 2 接続 5 接続 データ転送量 北米・ヨーロッパ 受信 ¥ 9.80/GB 送信 ¥ 14.70/GB 受信 0.5 GB 送信 0.5 GB 受信 7 GB 送信 14 GB アジア太平洋 受信 ¥ 29.40/GB 送信 ¥ 44.10/GB 受信 2.5 GB 送信 5 GB 契約 契約期間 N/A 6 か月 料金 無料 ¥ 5,876 ¥ 7,345 ¥ 10,776
アカウントの用意~オンラインで Microsoft Online Services カスタマー ポータル (MOCP) でプロファイル登録 https://mocp.microsoftonline.com/ MOCP で Windows Azure サービスを購入 Windows Azure サービスのアクティブ化 LiveID 必要 クレジットカード必要 詳しくは http://www.microsoft.com/japan/windowsazure/howtobuy/
参考: カスタマー ポータルと請求書 MOCP (カスタマー ポータル) 請求書
ツールのインストール Windows Azure Tools for Visual Studio http://www.microsoft.com/japan/windowsazure/tools 最新版は version 1.2 (2010 年 6 月リリース) ※ 1 Visual Studio 2010 および 2008 に対応 コンピューティング エクスプローラーと ストレージ エクスプローラーの提供 サービス発行の自動化 .NET Framework 4 のサポート インテリトレース機能のサポート※ 2 日本語版もあります (ドキュメントも日本語) ※ 1. 資料作成時点 (2010 年 8 月 2 日) ※ 2. Visual Studio 2010 Ultimate を 64 ビット版 Windows で使用時 (32 ビット版 Windows で使用する際には修正モジュールが必要)
Windows Azure Platform Tools を 参考: ツールのインストールも高速に Microsoft Web Platform Installer Web 開発に必要なスタックをまとめて インストール、設定する便利ツール "開発ツール" の項目から、 "Windows Azure Platform Tools" を選択しインストール オプションで "開発ツール" を選択 Windows Azure Platform Tools を 選択して インストール
Windows Azure アーキテクチャ概要 ロード バランサー Web ロール Worker ロール Windows Azure ストレージ テーブル BLOB キュー
Windows Azure アーキテクチャ概要 Web ロール Worker ロール Windows Azure ストレージ テーブル BLOB キュー
参考: ロールの理解~設計の第一歩 2 つのロール ロールのサイズ (S, M, L, XL) Web ロール Worker ロール サービスのインターフェイスを提供 Web フォーム、ASP.NET MVC、または WCF Worker ロール 非同期の処理実行 (バックエンド処理担当) 外部システム (Web ロールなど) とはキューなどの Windows Azure ストレージを利用して連携 ロールのサイズ (S, M, L, XL) Web ロール Worker ロール VM サイズ CPU コア数 メモリ ローカル ストレージ 料金 (従量課金) Small 1 1.7 GB 250 GB ¥11.76/時間 Extra Large 8 14 GB 2000 GB ¥94.08/時間
参考: ストレージサービスの理解 ストレージは 2 種類 Windows Azure ストレージ SQL Azure テーブル (キー バリュー) 、Blob、キュー の 3 種類 のデータ型を利用できるデータベース サービス SQL Azure RDBMS 型のデータベース サービス 既存 DB の容易なマイグレーション ストレージ サービス テーブル BLOB キュー
参考: 配置パターンの理解 オンプレミス Code Far Code Near DB とロジックが分散。既存システムのコード使いながら ストレージをクラウド化する場合等。 DB とロジックともにクラウドに。 基本のパターン。
開発: なにはともあれローカル環境で プロジェクトの作成 ロールの設定 ストレージ エクスプローラー コンピューティング エクスプローラー ローカルでの実行とデバッグ
プロジェクトの作成 ソリューション構成 Visual Studio のテンプレートから 簡単に作成可能 クラウド サービス プロジェクト クラウド配置に必要な情報、 コンフィギュレーション情報を保持 Web ロール プロジェクト Worker ロール プロジェクト Visual Studio のテンプレートから 簡単に作成可能
参考: Guest OS と .NET Framework Azure Tool 1.0 Azure Tool 1.1 Azure Tool 1.2 .NET 4 RC .NET Framework 4 .NET Framework 3.5 1.0 1.1 1.2 1.3 1.4 1.5 Azure Guest OS バージョン
参考: Guest OS のバージョン選択 Visual Studio から発行を行った場合、 自動的に最新バージョンを使用して稼働 (.NET のバージョンに注意) 特別な理由がない限り新しい OS を使用 .NET 3.5 のアプリケーションを Azure Guest OS 1.0 にデプロイ。稼働はするが、Azure ポータルでは警告文が出てしまう。
パフォーマンスと課金にかかわる重要な設定 ロールの設定 ロール プロジェクトのプロパティ VM サイズ インスタンス数 変数設定 エンド ポイント ローカル ストレージ 証明書 パフォーマンスと課金にかかわる重要な設定 VM サイズ Small Extra Large インスタンス数 ロール
ストレージ エクスプローラー Windows Azure Tool の一部 Visual Studio から Windows Azure スト レージを確認 (サーバー エクスプローラー に統合) 接続設定に必要な情報は Azure ポータル サイトから確認する サーバー エクスプローラーに統合
参考: SQL Azure のデータ確認 SQL Server 2008 R2 Management Studio テーブルの作成、データの追加等が可能 SQL Azure 側のファイアーウォール設定 とネットワーク ポート 1433 が必要 "Houston" https://manage.sqlazurelabs.com/ ブラウザー経由で SQL Azure を管理 (Silverlight) ポート設定 (1433) が不要 現在 CTP (プレビュー版)
コンピューティング エクスプローラー Windows Azure Tool の一部 Visual Studio から Windows Azure 上で のロール プロジェクトの稼働状況を確認 (サーバー エクスプローラーに統合) サーバー エクスプローラーに統合 発行中はロールの状態を表示 インテリトレース ログの表示
ローカルでの実行とデバッグ F5 でデバッグ開始 開発環境用の Development Fabric と Development Storage が立ち上がる ローカル PC Development Fabric Web ロール Worker ロール Development Storage テーブル BLOB キュー
参考: Fabric UI と Storage UI Development Fabric UI Development Fabric 上で稼働中の Role インスタ ンスの稼働状況、ログの確認、操作ができる Development Storage UI Development Storage 上のテーブル、Blob、 キューの稼働状況の確認、操作ができる Development Storage UI Development Fabric UI
展開: アプリケーションを世界へ発信 Azure への発行 発行前の準備 既存資産をクラウド化する手順 トラブルに遭遇しないために
Azure への発行 ワンクリックでクラウドへ発行 これまで通り手動での展開も可能 発行用パッケージの作成と、 Windows Azure 環境へのアップロードを自動化 これまで通り手動での展開も可能
発行前の準備 あらかじめ用意する情報 発行時に必要な情報 Windows Azure 管理ポータル機能に接続するための 資格情報 使用する資格情報の選択 発行先 (Production と Staging) の選択 発行で使用するストレージサービスの選択 ラベルの指定 インテリトレースの指定 注: サービス本番稼働時には 使用しないこと
参考: 資格情報の作成手順 (1) "発行" のダイアログで資格情報の追加を選 択し、その後のワークフローを実行する 資格情報の作成画面 資格情報 (証明書) を作成 (ローカルに作成される) 資格情報の保存場所 (パス) をコピー 証明書をクラウドにアップロード
参考: 資格情報の作成手順 (2) 参考: ローカルに保持している証明書情報 参考: アップロードした証明書情報 ポータルからサブスクリプション ID をコピーして入力
注意! : サービスは削除しましたか? 開発時はこまめにサービスを削除 Suspend 状態では課金が続いています。 課金を避けるには必ず削除 (Delete) を! Suspend したら 続いて Delete コンピューティング エクスプローラーでも稼働状況をこまめにチェック
既存資産をクラウド化する手順 プロジェクトのクラウド化を行う (後述) データベースのクラウド化を行う (後述) .NET 3.5 .NET 4 への移行 (必要なら) データベースのクラウド化を行う (後述) スキーマ、データの移行 プロジェクトにおける接続文字列の修正 日本語、日付型に関する修正、テスト Development Fabric を使用しつつ、 アプリケーションのテストを行う (実質的に コードはローカル、データのみクラウドの状態) プロジェクトをクラウドに展開する 機能テスト、非機能テスト 最適な VM サイズ、インスタンス数の割り出し
既存のプロジェクトにクラウド サービス プロジェクトを追加 参考: プロジェクトのクラウド化 Visual Studio & Windows Azure Tool 既存の Web プロジェクトに対して、 クラウド サービス プロジェクトを追加 追加されたクラウド サービス プロジェクトで 既存の Web プロジェクトをロールとして追加 ロール プロジェクトは追加しなくて OK 既存のプロジェクトにクラウド サービス プロジェクトを追加 作成されたクラウド プロジェクトで、既存の Web プロジェクトをロールとして追加。F5 で確認。
参考: データベースのクラウド化 SQL Server 2008 R2 Management Studio オンプレミス DB をスクリプト化 クラウド DB に対してスクリプトを実行 注意: 日本語、日付型の扱いは個別に対応 オプション選択で、移行先として SQL Azure を選択 SQL Azure に対してスクリプトを実行 移行したいオンプレミスの DB から スクリプトを生成
トラブルに遭遇しないために 管理者モードで Visual Studio を起動 Diagnostics 使用時は フル トラストに設定 SQL Azure のコネクション切断に注意 (5 分) クラウド サービス プロジェクトを スタートアップ プロジェクトに設定 ASP.NET のメンバーシップ機能を使用する場合は SQL Azure を使うように修正 インテリトレースを 32 ビット Windows で 行うには修正モジュールの適用が必要
参考: おかしいな? と思ったら Azure の稼働状況確認サイト Windows Azure フォーラム http://www.microsoft.com/windowsazure /support/status/servicedashboard.aspx Windows Azure フォーラム http://social.msdn.microsoft.com /Forums/ja-JP/azurefr/
まとめ Windows Azure Tool によって、 クラウド アプリケーション開発が簡単に行える 既存の言語 (C#, VB)、既存の DB 操作 (SQL Azure) 既存の Web 開発 (Web フォーム、ASP.NET MVC) Visual Studio による各種開発、デバッグ支援機能 Windows Azure 固有の特徴の学習は後回しでも OK Windows Azure 開発は無償で体験できる Visual Web Developer 2010 Express Edition Windows Azure Tool Windows Azure 導入特別プラン 多くの書籍、オンライン情報が活用できる
Questions? Ask the Speaker まもなく、この部屋の入り口横にて Peer Talk Lunch 8 月 27 日(金) インターコンチネンタルホテル 3 階 (当日会議センター 3 階より、移動可) スピーカーの Blog http://blogs.msdn.com/b/toiwade スピーカーの Twitter @haruulala
関連セッション T1-307: Windows Azure を利用した スケーラブルなアプリケーション構築 T1-311: Windows Azure と Bing を利用した クラウド アプリケーション開発 T1-312: クラウド時代のデータベース、ベスト プラクティス ~ 企業情報システムをクラウドへ移せ ~ T1-401: クラウド時代の SOA のあり方と Windows Azure への展開 TH-301: SQL Azure 再入門
リファレンス Windows Azure Platform 製品サイト http://www.microsoft.com/japan/windowsazure Windows Azure Platform デベロッパー センター (開発者向けポータル) http://msdn.microsoft.com/ja-jp/windowsazure/ Microsoft Web Platform (Web Platform Installer のダウンロード) http://www.microsoft.com/web “Moving Applications to the Cloud” (Azure アーキテクチャ ガイド) http://msdn.microsoft.com/en-us/library/ff728592.aspx Visual Studio 2010 製品サイト http://www.microsoft.com/japan/msdn/vstudio/
T1-308 ご清聴いただき ありがとうございました。 アンケートにご協力ください。 ご清聴いただき ありがとうございました。 T1-308 アンケートにご協力ください。 今後もよりよいイベント開催ができるよう参考にさせていただきます。
APPENDIX ご参考までに。
参考: Visual Studio のエディション Express Edition を使用する場合の支援機能の制 限 (使用できない代表的な機能) Windows Azure 開発に関連する制限 .NET のバージョン選択 はデフォルトで 4 のみ ストレージ エクスプローラー コンピューティング エクスプローラー インテリトレース機能 Visual Studio の開発支援機能に関する制限 単体テスト機能 負荷テスト機能 Team Foundation Server との接続 UML ダイアグラムの利用
参考: 本セッションのデモ環境 Windows 7 Enterprise Visual Studio 2010 Ultimate Windows Azure Tools for Microsoft Visual Studio 1.2 Azure Guest OS 1.5 SQL Server 2008 R2 上記環境はプレゼンテーション作成時の環境であり、 セッション本番までの間に環境の変更を行う場合も あります。ご了承ください。
3/14/2017 © 2010 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. © 2007 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.