瀬尾佳隆 (y.seo@seosoft.jp)
 Microsoft MVP for Visual C#




                               1
   瀬尾 佳隆 (せお よしたか)
    ◦ MVP for Visual C# (Jan 2009 – Dec 2010)
    ◦ Windowsアプリ、Office、SharePoint が好き
      Webもやります(それなしでは、お仕事的に・・・)
      Azure は気になります(個人でできるエンタープライズ)

    ◦ 個人事業主です(屋号は瀬尾ソフト)
    ◦ 根っからの技術屋・開発屋
      インフラ苦手です orz
    ◦ どうでもいい情報としては、ミュージカルが大好きです




                                                2
   基本的な開発手順をお持ち帰りいただく/再確認して
    いただくこと
    ◦ 今日のポイントは Webロール と テーブルストレージ

   Azure 未経験の方へ
    ◦ もう “その時期” に来ています。すぐに評価を!
    ◦ 大まかな開発手順を理解していただき、自習の材料 にしてく
      ださい
      間違っても「この場で Azure がわかる」とは思わないでください
   Azure 経験済みの方へ
    ◦ Azure を使ったソリューションを 改めて考える きっかけにし
      てください

                                           3
   開発環境
   基礎知識(最低限の復習)
    ◦ ロール
    ◦ ストレージ
   Azure開発デモ
    ◦ ソリューション作成/ロール作成
    ◦ コーディング
    ◦ サービスの作成とアプリケーションの配置




                            4
念のため、見ておきましょう




                5
   Visual Studio
    ◦ 2008 SP1 / 2010 Beta 2 / 2010 RC
    ◦ Express Edition も可
    ◦ 環境によってはHotFixが必要
   Windows Azure Tools for Microsoft Visual
    Studio
    ◦ http://www.microsoft.com/japan/windowsazure/to
      ols/
      1.1 (February 2010)・・・2008 SP1 / 2010 RC用
      November 2009・・・2010 Beta 2用



                                                       6
   Windows Azure Platform Training Kit –
    December Update
    ◦ 評価、自習には絶対持っていてください
    ◦ http://www.microsoft.com/downloads/details.aspx
      ?FamilyID=413E88F8-5966-4A83-B309-
      53B7B77EDF78&displaylang=en




                                                        7
   Azure Storage Explorer
    ◦ ストレージのメンテナンスに便利
    ◦ http://azurestorageexplorer.codeplex.com/
    ◦ 似たようなツールで Windows Azure Management Tool
      もありますが、Storage Explorer のほうがよさそうです
      http://code.msdn.microsoft.com/windowsazuremmc




                                                        8
取りかかるための最低限の知識を
復習




                  9
今日のテーマ
Windows Azure Platform
• アプリケーション基盤
• コンピューティング、ストレージ、ホスティング、管理

SQL Azure
• クラウドベースのRDB (SQL Server)

Windows Azure Platform AppFablic
• オンプレミスとクラウドの橋渡し
• 旧称 “.NET Services”


                                            10
   コンピューティング
    ◦ Webロール・・・Webアプリケーション/Webサービス
    ◦ Workerロール・・・バックエンドの処理
   ストレージ
    ◦ BLOB
    ◦ テーブル
    ◦ キュー
   ファブリックコントローラー
    ◦ 負荷分散の自動化


                      http://www.microsoft.com/japan/windowsazure
             今日のテーマ   /img/azure-fabric-infographic_lg.gif

                                                                    11
• 単純な階層のファイルストレージ
BLOB   • ファイルシステムに相当


       • Key-Value型の構造化ストレージ
テーブル   • リレーションは持たない


       • メッセージ交換のための
キュー      ストレージ




                          http://www.microsoft.com/japan/powerpro/TF
                          /column/ns_01_1.mspx

                                                                       12
   RDBのテーブルとは違う
    ◦ Key-Value型の
      構造化ストレージ
    ◦ リレーションを持たない
    ◦ 固定的なスキーマを持たない
   RDBとの対比で言うと        http://www.microsoft.com/japan/powerpro
                       /TF/column/ns_01_2.mspx
    ◦ テーブル・・・RDBのテーブルに
      相当する概念
    ◦ エンティティ・・・RDBの行に相当する概念
   必須プロパティ
    ◦ Partition Key・・・テーブルの分割単位
    ◦ Row Key・・・パーティション内部での一意な値、行の特定


                                                                 13
ソリューション作成/ロール作成




                  14
   Azure Toolsをインストールすると、プロジェクトテン
    プレートに “Cloud” が出てきます




                                     15
   作成したいロールを選択して、名前を決める
    ◦ 今回は “ASP.NET Web Role” を選択して、名前は
      “SimpleGuestBook” とします




                                         16
コーディング




         17
   ストレージ接続用の文字列を追加




                      18
   接続文字列をアプリケーションに設定




                        19
   “System.Data.Services.Client” への参照を追加




                                            20
   “GuestBook.cs” を “SimpleGuestBook” プロジェ
    クトに追加
   3つのクラス(資料の以下の3ページ分)のコードを記
    述
    ◦ もちろん、クラスごとにファイルを分けてもかまいません
    ◦ デモでは手間を減らすために1ファイルにまとめます




                                              21
22
23
24
   こんな感じ




            25
26
開発ファブリック上での実行




                27
   開発ファブリックが自動的に起動して・・・
   アプリが起動する

   デバッグもできます




                           28
サービスの作成とアプリケーション
の配置




                   29
   http://windows.azure.com でサービスを作成
    ◦ 事前にアカウントを用意しておく必要があります




                                        30
   サービス名、アフィニティを決めます




                        31
   少し待つとサービスができます




                     32
   同様にストレージも作成




                  33
   少し待つとストレージができます




                      34
   ストレージの生成結果にあわせて、プロジェクトの接
    続文字列を変更




                               35
   ビルドし直して、Solution Explorer から配置
   Staging環境に [Deploy]




                                     36
37
38
以上で一連の手順は終わり
               39
   開発環境は Visual Studio に Azure Toolkit を入
    れるだけ
    ◦ Training Kit と Azure Storage Explorer も忘れずに
   ロールの役割 を認識
   ストレージ の使い方を理解
    ◦ TableストレージはRDBではない・・・考え方を少しだけ変える
      必要があります


   Azureは現実のソリューション
    ◦ まだの方・・・すぐに評価を始めましょう!


                                                    40
   「Windows Azure アプリケーション開発入門」(日経
    BP社 刊、酒井達明 著、2800円)
   「Windows Azure 入門」(アスキー・メディアワークス
    刊、マイクロソフト株式会社 監修、2600円)
   「クラウドの技術」(アスキー・メディアワークス 刊、
    1800円)




                                       41
   Windows Azure Platform デベロッパーセンター
    ◦ http://msdn.microsoft.com/ja-
      jp/azure/default.aspx
   Windows Azure 製品サイト
    ◦ http://www.microsoft.com/japan/windowsazure/
   Channel 9 (Windows Azure タグ)
    ◦ http://channel9.msdn.com/tags/Windows+Azure/




                                                     42
   Tech Days でいただいた
    ペーパークラフトを作りました
   タイヤが面倒でした(数が多いの
    で)

                       43
44

はじめての Azure 開発

  • 1.
  • 2.
    瀬尾 佳隆 (せお よしたか) ◦ MVP for Visual C# (Jan 2009 – Dec 2010) ◦ Windowsアプリ、Office、SharePoint が好き  Webもやります(それなしでは、お仕事的に・・・)  Azure は気になります(個人でできるエンタープライズ) ◦ 個人事業主です(屋号は瀬尾ソフト) ◦ 根っからの技術屋・開発屋  インフラ苦手です orz ◦ どうでもいい情報としては、ミュージカルが大好きです 2
  • 3.
    基本的な開発手順をお持ち帰りいただく/再確認して いただくこと ◦ 今日のポイントは Webロール と テーブルストレージ  Azure 未経験の方へ ◦ もう “その時期” に来ています。すぐに評価を! ◦ 大まかな開発手順を理解していただき、自習の材料 にしてく ださい  間違っても「この場で Azure がわかる」とは思わないでください  Azure 経験済みの方へ ◦ Azure を使ったソリューションを 改めて考える きっかけにし てください 3
  • 4.
    開発環境  基礎知識(最低限の復習) ◦ ロール ◦ ストレージ  Azure開発デモ ◦ ソリューション作成/ロール作成 ◦ コーディング ◦ サービスの作成とアプリケーションの配置 4
  • 5.
  • 6.
    Visual Studio ◦ 2008 SP1 / 2010 Beta 2 / 2010 RC ◦ Express Edition も可 ◦ 環境によってはHotFixが必要  Windows Azure Tools for Microsoft Visual Studio ◦ http://www.microsoft.com/japan/windowsazure/to ols/  1.1 (February 2010)・・・2008 SP1 / 2010 RC用  November 2009・・・2010 Beta 2用 6
  • 7.
    Windows Azure Platform Training Kit – December Update ◦ 評価、自習には絶対持っていてください ◦ http://www.microsoft.com/downloads/details.aspx ?FamilyID=413E88F8-5966-4A83-B309- 53B7B77EDF78&displaylang=en 7
  • 8.
    Azure Storage Explorer ◦ ストレージのメンテナンスに便利 ◦ http://azurestorageexplorer.codeplex.com/ ◦ 似たようなツールで Windows Azure Management Tool もありますが、Storage Explorer のほうがよさそうです  http://code.msdn.microsoft.com/windowsazuremmc 8
  • 9.
  • 10.
    今日のテーマ Windows Azure Platform •アプリケーション基盤 • コンピューティング、ストレージ、ホスティング、管理 SQL Azure • クラウドベースのRDB (SQL Server) Windows Azure Platform AppFablic • オンプレミスとクラウドの橋渡し • 旧称 “.NET Services” 10
  • 11.
    コンピューティング ◦ Webロール・・・Webアプリケーション/Webサービス ◦ Workerロール・・・バックエンドの処理  ストレージ ◦ BLOB ◦ テーブル ◦ キュー  ファブリックコントローラー ◦ 負荷分散の自動化 http://www.microsoft.com/japan/windowsazure 今日のテーマ /img/azure-fabric-infographic_lg.gif 11
  • 12.
    • 単純な階層のファイルストレージ BLOB • ファイルシステムに相当 • Key-Value型の構造化ストレージ テーブル • リレーションは持たない • メッセージ交換のための キュー ストレージ http://www.microsoft.com/japan/powerpro/TF /column/ns_01_1.mspx 12
  • 13.
    RDBのテーブルとは違う ◦ Key-Value型の 構造化ストレージ ◦ リレーションを持たない ◦ 固定的なスキーマを持たない  RDBとの対比で言うと http://www.microsoft.com/japan/powerpro /TF/column/ns_01_2.mspx ◦ テーブル・・・RDBのテーブルに 相当する概念 ◦ エンティティ・・・RDBの行に相当する概念  必須プロパティ ◦ Partition Key・・・テーブルの分割単位 ◦ Row Key・・・パーティション内部での一意な値、行の特定 13
  • 14.
  • 15.
    Azure Toolsをインストールすると、プロジェクトテン プレートに “Cloud” が出てきます 15
  • 16.
    作成したいロールを選択して、名前を決める ◦ 今回は “ASP.NET Web Role” を選択して、名前は “SimpleGuestBook” とします 16
  • 17.
  • 18.
    ストレージ接続用の文字列を追加 18
  • 19.
    接続文字列をアプリケーションに設定 19
  • 20.
    “System.Data.Services.Client” への参照を追加 20
  • 21.
    “GuestBook.cs” を “SimpleGuestBook” プロジェ クトに追加  3つのクラス(資料の以下の3ページ分)のコードを記 述 ◦ もちろん、クラスごとにファイルを分けてもかまいません ◦ デモでは手間を減らすために1ファイルにまとめます 21
  • 22.
  • 23.
  • 24.
  • 25.
    こんな感じ 25
  • 26.
  • 27.
  • 28.
    開発ファブリックが自動的に起動して・・・  アプリが起動する  デバッグもできます 28
  • 29.
  • 30.
    http://windows.azure.com でサービスを作成 ◦ 事前にアカウントを用意しておく必要があります 30
  • 31.
    サービス名、アフィニティを決めます 31
  • 32.
    少し待つとサービスができます 32
  • 33.
    同様にストレージも作成 33
  • 34.
    少し待つとストレージができます 34
  • 35.
    ストレージの生成結果にあわせて、プロジェクトの接 続文字列を変更 35
  • 36.
    ビルドし直して、Solution Explorer から配置  Staging環境に [Deploy] 36
  • 37.
  • 38.
  • 39.
  • 40.
    開発環境は Visual Studio に Azure Toolkit を入 れるだけ ◦ Training Kit と Azure Storage Explorer も忘れずに  ロールの役割 を認識  ストレージ の使い方を理解 ◦ TableストレージはRDBではない・・・考え方を少しだけ変える 必要があります  Azureは現実のソリューション ◦ まだの方・・・すぐに評価を始めましょう! 40
  • 41.
    「Windows Azure アプリケーション開発入門」(日経 BP社 刊、酒井達明 著、2800円)  「Windows Azure 入門」(アスキー・メディアワークス 刊、マイクロソフト株式会社 監修、2600円)  「クラウドの技術」(アスキー・メディアワークス 刊、 1800円) 41
  • 42.
    Windows Azure Platform デベロッパーセンター ◦ http://msdn.microsoft.com/ja- jp/azure/default.aspx  Windows Azure 製品サイト ◦ http://www.microsoft.com/japan/windowsazure/  Channel 9 (Windows Azure タグ) ◦ http://channel9.msdn.com/tags/Windows+Azure/ 42
  • 43.
    Tech Days でいただいた ペーパークラフトを作りました  タイヤが面倒でした(数が多いの で) 43
  • 44.