1 / 28

WindowsAzure

WindowsAzure. での アプリ開発. 2009.10.18 けんちゃん. 目次. WindowsAzure の概要 試作アプリ紹介 開発の流れ DataStore ( DataStorageService と SQL Azure) 開発 TIPS 集. 1. WindowsAzure の概要. Azure は、MSのサーバ上で動作する「パブリッククラウド」. SQL Azure. WindowsAzure 上で動作する アプリケーション. 1-1 . WindowsAzure の概要1. .NET Services ( 今回の対象外).

tea
Download Presentation

WindowsAzure

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WindowsAzure でのアプリ開発 2009.10.18 けんちゃん

  2. 目次 WindowsAzureの概要 試作アプリ紹介 開発の流れ DataStore(DataStorageServiceとSQL Azure) 開発TIPS集

  3. 1.WindowsAzureの概要

  4. Azureは、MSのサーバ上で動作する「パブリッククラウド」Azureは、MSのサーバ上で動作する「パブリッククラウド」 SQL Azure WindowsAzure 上で動作する アプリケーション 1-1.WindowsAzureの概要1 .NET Services (今回の対象外) 非クラウドのアプリケーション WindowsXP WindowsMobile WindowsServer ちなみに、Azureとは「青空、碧空、蒼穹」の意味 「青空にポッカリ浮かんだ白い雲」のイメージか? 参考にしたWebの記事 ■WindowsAzurePlatformデベロッパーセンター http://msdn.microsoft.com/ja-jp/azure/default.aspx

  5. WebロールとWorkerロールの2つのロール構成 HTTP(S) 1-2.WindowsAzureの概要2 VM Workerロール(バッチジョブ) VM Webロール ロード バランサー IIS Windows Azure ファブリックレイヤー WebロールとWorkerロールは、直接アクセスはできない。 アクセスは、QUEUEサービス(後述)を利用 参考にしたWebの記事 ■WindowsAzurePlatformデベロッパーセンター http://msdn.microsoft.com/ja-jp/azure/default.aspx

  6. Azureの使用料金は、以下のように発表されている。(2009年9月時点)Azureの使用料金は、以下のように発表されている。(2009年9月時点) 他社のサービスによって、さらに変更になる可能性も。 WindowsAzureの料金について VM使用:$0.12/Hour (月額8000円ほど)  ストレージ:$0.15/GB/Month(月額1GBあたり約15円) ストレージ利用:$0.01/10k(転送10Kあたり、約1円) SQLAzureの料金について BusinessEdition:$99.99(10GBまで、月額約1万円) WebEdition:$9.99(1GBまで、月額約千円) 1-3. Azureの料金体系 参考にしたWebの記事 ■WindowsAzureの料金体系について http://www.microsoft.com/azure/pricing.mspx

  7. 2.試作アプリ紹介

  8. 本サイトは、既存の.NET C#ベースのWebアプリを移植 2-1. 試作アプリの紹介1 Azure以外のサイトとの連携試作 (livedoor提供の 天気予報) ゲスト用アカウント「guest/guest」で利用いただけます。 参考にしたWebの記事 ■試作アプリのURL http://fileuploadtest.cloudapp.net/

  9. SQL AzureとのSQL連携試作 (ポイント管理システム試作) 2-2. 試作アプリの紹介2 BLOBとQUEUEサービスの連携試作 (イメージデータ預かりサービス) 参考にしたWebの記事 ■TORIPOTO(トリポト) Silverlightを用いた本格的なAzureアプリ http://toripotoazure.cloudapp.net/

  10. 3.開発の流れ

  11. 09年8月時点で提供されているCTP版Windows Azure 開発環境を、無償開発環境として、構築した。 (1)Windows VISTAあるいは2008Serverの用意 (2)IIS7.0の設定 (3)VisualStudio2008ExpressEditionsのインストール (4)SQL Server2008ExpressEditionのインストール SQL Server Management Studioもあれば便利。 (5)Microsoft PowerShellのインストール(必須ではない) (6)Windows Azure SDKのインストール (7)Windows Azure Toolsのインストール 3-1. (無償)開発環境の構築 ここまでで所要時間は、約5H 使用ディスク容量は、約1GB 参考にしたWebの記事 http://www.atmarkit.co.jp/fdotnet/dnfuture/winazuretry_01/winazuretry_01_01.html http://www.atmarkit.co.jp/fdotnet/dnfuture/winazuretry_02/winazuretry_02_01.html

  12. 作成したサービスを、Windows Azureへ配置するには、 利用申請をMSに行う必要あり。 (1)(持っていない方)Windows Live IDのアカウント作成 →アカウント申請後、即時にIDが発行された。 (2)Azureポータルサイトのアカウント作成 →Live IDがあれば、すぐに作成された。 (3)WindowsAzureの招待コード(Invitation Token)の申告 3-2. Windows Azure利用申請 申告から、実際に招待コードが届くまで、3~4日かかった。 利用申請用ページ http://www.microsoft.com/azure/default.mspx

  13. (1)VisualWebDeveloper2008の起動 (2)新規プロジェクトの作成 Cloud Serviceのプロジェクトのテンプレートが追加されている 3-3. ローカルでの開発~最初の一歩

  14. (簡単な)クラウドサービスプログラムの作成(簡単な)クラウドサービスプログラムの作成 3-4.お決まりのHelloWorldプログラム Protected void Page_Load(object sender, EventArgs e) { Panel1.Text = “HelloWorld”; } 非クラウドの.Net Webアプリケーションの作成と、基本的には変わらない。 ↓ 開発時は、.NET Webアプリケーションとして開発する方が楽。

  15. クラウドサービスプログラムのローカルでの実行結果クラウドサービスプログラムのローカルでの実行結果 3-5.HelloWorldプログラムの実行 HelloWorldが(ローカル環境で)実行できた。 ・WindowsAzure SDKの「Development Fabric」(クラウドサービスのエミュレータ)と「Development Storage」(Azureストレージサービスのエミュレータ)を、先に起動しておく。

  16. AzurePlatformのポータルサイトを利用して、作成したAzurePlatformのポータルサイトを利用して、作成した プログラムを公開する 3-6. プログラムの公開 ①まずは、ステージング環境にアップ ②ステージング環境で動作確認後、本番環境に切り替え

  17. (1)非クラウドのWebアプリケーションとして開発する。(1)非クラウドのWebアプリケーションとして開発する。  最初からクラウドと繋げると開発効率が上がらない。 (2)開発時は、データストレージもローカルに持つ。  開発効率の問題から、ローカルのSQLServerに繋げる。 Azureに切り替えるには、ConnectionStringを書き換える だけでOK。 (3)ツールを活用する。 SQLServerの管理ツールの他、データストレージの管理 ツールを活用して開発する。  巻末にツールの紹介を参照。 3-7. 開発のツボ

  18. (1)SDK付属のサンプルソースを読む。  先ずは、使って、動かしてみる。 (2).NETウェブアプリの学習を行う。  使われている技術は、.NETなので、.NETを勉強する。 (3)Webを検索してみる。  日本語でのサイトが今のところ少ない。 (4)書籍で学習する。  具体的な事例を使った書籍が少ない。英語なら。。 3-8. Azureの学習 AzureDeveloperCenter http://msdn.microsoft.com/ja-jp/azure/cc994380.aspx

  19. 4.DataStore(DataStorageServiceとSQL Azure)

  20. Windows Azure SQL Azure BLOBサービス (非表形式のデータ用) SQLサービス 4-1.DataStorageServiceとSQL Azure TABLEサービス (表形式データkey-value型) SQLServerとの乗り換えは比較的容易。ConnectionString変更のみでOK。 Join構文などもローカルと同様に使える。 QUEUEサービス (WebとWorkerロールとのデータ連携) 参考にしたWebの記事 http://d.hatena.ne.jp/griefworker/20090203/1233618759

  21. SQL Azureには、以下のような制限がある。 ①text型、ntext型、image型は利用できない。 4-2. SQL Azureの制限について ②既存のシステムのテーブル定義用スクリプトがそのままでは利用できない。 (未対応プロパティがあるため)  →ひとつひとつ手作業で確認する必要あり ③SQL Server Management Manager(管理ツール)で、オブジェクトブラウジングできない。開発効率↓。 ④接続制限として、5分の制限時間がある。  →大きなトランザクションは、小分けにするなど対処が必要 参考にしたWebの記事 ■クラウドで利用できるRDBMSとしてのSQL Azure http://thinkit.jp/article/1028/3/

  22. 5.開発TIPS集

  23. クラウドサービスプログラムの実行 いきなり、怒られた・・・ 5-1. TIPS1(開発環境でのデバッグ) 「DevelopmentFabric(Azure環境のエミュレータ) の実行には、より上位の権限が必要です。」 →管理者モードで、開発環境(MS Visual Web Devoper) を実行する。

  24. Web.configの設定 ①StorageEndpointの設定 「http://<ストレージ名>.blob.core.windows.net/」がStrageServiceのアドレスだが、StorageEndpointの設定には、ストレージ名は付けない。 「http://blob.core.windows.net/」が正解。 ② allowInsecureRemoteEndpointsの設定 →ローカルでの実行時には、未設定でも”False”と解釈されたが、Azure環境で未設定の場合は、例外が発生する。 httpの場合はFalse、httpsの場合はTrueに設定 5-2.TIPS2(Web.configの設定) 参考にしたWebの記事 ■Webアプリケーションをクラウドの中に移行した例 http://www.atmarkit.co.jp/fdotnet/dnfuture/winazuredemo_01/winazuredemo_01_01.html

  25. SQL Serverの管理ツール(SQL Server Management Studio)を利用し、 テーブル作成とデータ挿入用のSQL文を作成 5-3.TIPS3(SQLServerからの移行) ポイントは、オプションの設定にあり ①「UDDTsを基本データ型に変換」→True ②「拡張プロパティのスクリプトを作成」→False ③「USE DATABASEのスクリプト作成」 →False ④「データのスクリプトを作成→True ※上記以外は、デフォルトでいいはず。 参考にしたWebの記事 ■クラウドで利用できるRDBMSとしてのSQL Azure http://thinkit.jp/article/1028/1/

  26. ・BLOBの閲覧&編集 □SpaceBlock(http://www.codeplex.com/spaceblock) Cloud Storage(Sun Cloud Storageなど)に対応 □Azure Storage Explorer(http://azurestorageexplorer.codeplex.com/) Windows Azure StorageのBlob、Table、Queueに対応。 □Azure XML ログ解析ツール 現在調査中。  5-4.TIPS4(ツールの利用) 参考にしたWebの記事 ■WindowsAzureBlobStorage http://thinkit.jp/article/1019/2/

  27. まだ正式版ではなく、CTP版のみの提供で、原因不明のまだ正式版ではなく、CTP版のみの提供で、原因不明の ワーニングが出たり、サーバが突如ダウンしたりしているが、 今後の展開に注目したい。 Silverlightとの連携など、まだ面白いことができそうだ。。。 最後に

  28. ご静聴、ありがとうございました。

More Related