Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "WindowsAzure でのアプリ開発 2009.10.18 けんちゃん."— Presentation transcript:

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

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

3 1.WindowsAzureの概要

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

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

6 1-3. Azureの料金体系 WindowsAzureの料金について VM使用:$0.12/Hour (月額8000円ほど)
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まで、月額約千円) 参考にしたWebの記事 ■WindowsAzureの料金体系について

7 2.試作アプリ紹介

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

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

10 3.開発の流れ

11 3-1. (無償)開発環境の構築 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のインストール ここまでで所要時間は、約5H 使用ディスク容量は、約1GB 参考にしたWebの記事

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

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

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

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

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

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

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

19 4.DataStore(DataStorageServiceとSQL Azure)

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

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

22 5.開発TIPS集

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

24 5-2.TIPS2(Web.configの設定)
①StorageEndpointの設定 ② allowInsecureRemoteEndpointsの設定 →ローカルでの実行時には、未設定でも”False”と解釈されたが、Azure環境で未設定の場合は、例外が発生する。  httpの場合はFalse、httpsの場合はTrueに設定 参考にしたWebの記事 ■ Webアプリケーションをクラウドの中に移行した例

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

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

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

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


Download ppt "WindowsAzure でのアプリ開発 2009.10.18 けんちゃん."

Similar presentations


Ads by Google