Presentation is loading. Please wait.

Presentation is loading. Please wait.

現場開発者視点で答える Windows Azure 業務アプリ開発の実際 シグマコンサルティング株式会社 橋本 圭一.

Similar presentations


Presentation on theme: "現場開発者視点で答える Windows Azure 業務アプリ開発の実際 シグマコンサルティング株式会社 橋本 圭一."— Presentation transcript:

1 現場開発者視点で答える Windows Azure 業務アプリ開発の実際 シグマコンサルティング株式会社 橋本 圭一

2 はじめに ■本資料の注意 ・クラウドコンピューティングのとらえ方、その比較、 評価は、非常にプレゼンターの主観に基づきます。 ・Azureの説明の中には、未リリースの製品が含まれて います。よって現時点の情報でしかない点も含まれて いることをご容赦ください。 ・一部、Microsoft社の資料を転記しておりますので、 その点ご了承ください。(各資料に転記と記載)

3 はじめまして ■経歴 ・外国語学部(ロシア語・国際政治) ⇒ SIer ・SIerで5年間、製薬業や食品業のお客様のSIを担当 ・2006年に起業、現在5期目 ・中小のお客様向けにCIO+システム部門のアウトソース ・AzureとSilverlightを楽しむ ・おばかアプリに夢中 ■信条:楽しく、人に喜ばれる ■リタイア後の野望:自分のビールブランドを持つ。

4 クラウドコンピューティングとは? インターネット経由でコンピューターリソースを利用 利用した分だけ課金される 大規模データセンター(仮想化されたサーバー) ⇒ITの所有から利用へ コスト削減・期間短縮 Cloud Service

5 クラウドコンピューティングのレイヤー レイヤー説明例 SaaS インターネット経由でソフトウエアをサー ビスとして提供。 ( ユーザーは、ハードウェ アを持たず、利用課金 ) 古くは ASP と呼ばれ る。 GoogleApps Microsoft Online Services Salesforce CRM PaaS 開発プラットフォーム自体をサービスとし て提供。開発者は、プラットフォーム上で 構築したサービスを自分の顧客に提供する ことができる。 Force.com Google App Engine Windows Azure Heroku IaaS インターネット経由でインフラ(仮想サー バー、ディスク)をサービスとして提供。 開発者は、 OS の選択から構築可能。 AmazonEC2 / S3

6 なんでクラウドをやるの? ■業界動向 SI縮小=作るから利用するへのシフト インターネット以降の投資がひと段落 (WEB化ひと段落)では次は? OSの進化は停滞気味 リアルタイムWEBの台頭(Twitter,4sq) よりスピーディな開発が求められている ■稼ぎ方が今後変わる 保守が重要性を占める=クラウドで預かれる 顧客との共生へ(ひがやすおさんも言っている)

7 クラウドで何をしよう? ■何をしよう? 人が欲しがるものを作りなさい(VC格言) ■キーポイント モバイルデバイス対応がカギ(携帯端末がインター ネットトラフィックを増大させている) →業務システムもマルチデバイス対応が増える見込み 新規事業向き(失敗即撤退) やはりベンチャー向き

8 クラウドの皮肉 ■色々と出る問題 結局すべてはクラウドに乗らない。 法律等の問題で社外に出せないデータも多い 仮想化=クラウド? バズワードの迷走 環境を与えてもらっても稼ぎ方がわからない お隣が騒がしいと、迷惑を受ける(NW遅延) 明日も同じレスポンスとは限らない 質が高いとは言えないSLA 即儲からず、投資から。規模の戦いが必要。

9 クラウドのメリットについておさらい ハードウェアやOSの購買、インフラ構築費用が不要 費用として支払うため、資産計上しなくて済む 初期投資 すぐにアプリの開発、利用が可能になる 新規事業などの変化の早いニーズに対応 スピード システム管理業務をアウトソース、パッチ適用も自動化 遠隔地での冗長化で事業継続性を確保 運用 従量制課金であるため、不要時に即 停止可能 需要が測りきれない新サービスに有効 短期利用 サーバーを後で増強できる。 需要に応じて、リソースを増減できる。 スケーラビリティ

10 クラウドのデメリットについておさらい 99.95% というところが多い。=年間4時間STOP 基幹業務では、不安を残す。 (が、業種による。例:9-19 が業務時間など) サービス保証 サーバーが距離的に遠いと、速度が遅くなる ※USにある場合などは、もっさりした表示速度になる。 速度の問題 高める方法はあるが、重要データ漏えいのリスクはある。 法律で国外に置けないデータもある。 セキュリティ OS自体の管理権限がないため、できないこともある。 インフラの自由度 サービス提供側としても顧客としても事例が不足 導入は急いでいなければ後からでも 経験値不足

11 クラウド化の検討ポイント例 自社開発 すべき SaaS 利用可能 PaaSを 活用した 自社開発 SaaS 利用可能 コア業務 ※他社との差別化が できる収益の基 非コア業務 ミッション クリティカル ※停止不可 非ミッション クリティカル ※停止可能 2009年度において代表的なクラウドのプレーヤーと製品を分類しています。 ポジショニングについては、業務システムという軸で見ているのと、プレゼンターの主観によります。

12 代表的なプレーヤーを独断で比較 事業者 サービス名 Amazon EC2 Google App Engine Microsoft Windows Azure Salesforce Force.com 開発ツール開発技術 開発言語に依存 テキスト・エディタ Eclipse VS2008 VS2010 ブラウザ Eclipse 開発言語利用するOSに依存Python、JAVA.NET利用可言語 PHP、JAVA、Ruby Apex データベースSimpleDB MySQL、Oracle、 SQL Server 2005 BigTableSQL Azure Storage Service Force.com Database 開発容易性 ABBC 既存資産活用 ACAC 運用の手間 CAAA オンプレミス連携 BCB+B 導入容易性 ACBA 事例 ABCA 適した用途ゲームアプリ 業務アプリ など何でも Appsと連携するような グループウェア? スケールアウトが必要な 簡易WEBサービス エンタープライズ アプリケーション向き? 汎用的な業務アプリ

13 Windows Azureって何? ■プレゼンターの結論から申し上げると エンタープライズ用途実現に非常に適したPaaS エンタープライズ向けSaaSにも適している 最も機能拡張が見込まれるPaaS 仕様を見ていると後発の強みあり これまでで、最も簡単に売れないWindows

14 オンプレミス Windows Azure全体像 ストレージコンピューティング … Service Bus Service Bus Access Control Access Control SQL Server Reporti ng BI Data Sync Data Sync LB 一部Microsoft社の資料抜粋

15 Hosted Service のポイント ・WebRole = WEBアプリ IIS7(ASP.NET, FastCGI) ・WorkerRole = 非同期処理(QUEUE経由) バッチ,その他何でも用途 JAVA-Tomcatも動作 ・VMロール=AmazonのAMIのようにOSを自分で自由に 変更できる(提供予定) Webロール Worker ロール VM ロール(予定) LB Inter net

16 使ってみよう。簡易なWEBサービスを移行。 Windows Azure上にWEBアプリを移行。 WEBサービスを利用したアプリ(EDI) 手順は3つ。 ①CloudServiceプロジェクトの追加 ②既存WEBアプリに参照設定の追加 ③パッケージを作成。

17 待っている間に開発ポータルツアー シンプルなインターフェースで使いやすい。

18 Storage Service テーブル =Key-Value型のデータストア(実データ) BLOB =バイナリ格納、ファイルストレージ(CDN対応) キュー =メッセージ通信 ドライブ =ファイルI/Oでアクセス可能なNTFSフォルダ ストレージ 画像=Microsoft社の資料抜粋

19 テーブル詳細 エンティティテーブルアカウント users movies Microsoft社の資料抜粋

20 使ってみよう。StorageServiceに接続。 ■使ってみよう ・選択した画像データのURLをTableに格納する。 ・その内容をTweetする。 ・選択肢にはおまけあり。

21 SQL Azure SQLServer2008とほぼ 同等。 制約条件(容量1G,10G、管理機能使えない、 CLR、ユーザー定義型不可) DBのみの利用も可能。 今後リリースされる機能に期待大(Report,BI,Sync) 画像=Microsoft社の資料抜粋

22 SQL Azureのアーキテクチャ ゲートウェイマスターDB課金・認証 フロント ノード群 数百台のサーバーでファブリックを構成 サーバーをまたがったレプリケーションDBを作成して同期 SQL Server インスタンス … クラウド データセンター内 ファブリック サーバー1サーバー2サーバー3 サーバーをまたがったレプリケーションDBを作成して同期 Microsoft社の資料抜粋

23 使ってみよう。SQL Azureに接続。 ■使ってみよう ・SQL AzureにSSMS2008 R2から接続。 ・SQL Azureに接続して、ストアドをバッチ実行。 ・SQL Azureへのデータ移行イメージ ■ただし ・この移行スクリプトとイニシャルデータの作成、テス トは結構地道な作業になる。(自動生成は可 能)

24 手早く、賢い使い方1 SQL Azureのみ利用。クライアントアプリから接 続。(SQL Serverライセンス費用の超削減) Code Far型 ユーザー WindowsForm, WPF からアクセ ス WindowsForm, WPF からアクセ ス

25 手早く、賢い使い方2 特別なミドルウェアを必要としない WEBアプリとSQL Azure 同じデータセンターならSQL Azure転送量無料 Code Near型 ユーザー WEB ブラウザ からアクセス WEB ブラウザ からアクセス

26 運用管理 ■運用管理について 開発ポータルで行う作業は、ほぼ全てバッチから 可能(管理用APIをたたくツールあり) SQL Azureへのバッチ実行 ■管理用API利用ツール Cmdlet Windows Azure Service Management API Tool

27 管理用APIを叩いてみよう Cmdlet からサービスの停止、起動してみます

28 ログはどうなっているの? ■大事なこと ・Azure上ではログの管理方法が異なる。書き込めない。(補足:Driveを 試していない) ・診断ログのAPIがあって下記の情報を閲覧できる。 ◇テーブルに格納可能なログ a)Windows Azureトレース・ログ(出力レベルや内容は独自に記述) b)Windows診断インフラストラクチャ・ログ c)Windowsイベント・ログ d)パフォーマンス・カウンタ ◇ブロブに格納可能なログ e)IIS 7.0ログ f)IIS 7.0失敗した要求のトレース・ログ g)Windows Azureクラッシュ・ダンプ

29 なんで私はAzureなのか? ソースやデータの社内既存資産を活用したい。 運用は任せたい。パッチ当てなぞ、したくない。 SaaSを作りたい。適したプラットフォームを選びた い。 オンプレミスを考えた時に、最も連携がよさげ。

30 おいくら?(Techdays 2010資料抜粋) 日本円一月換算 Windows Azure コンピューティング時間 (hour) S\11.76 \8,640 M\23.52 \17,280 L\47.04 \33,840 XL\94.08 \67,680 ストレージ (GB/month) \14.70 \147 ストレージ トランザクション ( 回数 ) \0.98 /10,000 \98 Azure AppFabric アクセス コントロール (transaction) \195.02 /100,000 ? サービス バス 従量課金モデル (1 connection) \391.02 ? パックモデル (5 connection) \975.1 ? SQL Azure Web Edition (1GB)\979.02 Business Edition (10GB)\9,799.02 Data Transfers 北米およびヨーロッパ 受信 (GB) \9.80 \980 送信 (GB) \14.70 \1,470 アジア太平洋 受信 (GB) \29.40 \2,940 送信 (GB) \44.10 \4,410

31 料金例 WEBロール1個 =\8,000 ストレージ10G =\147 ストレージトランザクション10万回 = \98 SQL Azure(WebEdition) = \980 データ転送量50G(Asia) = \3,500 ざっと\13,000円くらい?

32 どこで買えるの? Microsoft Online Services でポチっとな。 ※基本カード払い、一定額を超える=請求書

33 障害発生時の問い合わせ DashBoardでステータスを確認 サポートオンラインから問い合わせ(8h以内に?)

34 Azure 今後のお楽しみ機能 AppFabric 2010.4 Windows Identity Foundation =ハイブリッド化を推進、AD連携 VMロール = 何でもできるように? SQL Azureのバックアップ機能=安心

35 一般利用されるまでの道のり 事例が300に達する ※事例を模倣しない限り、爆発的には増えない ⇒一部の英雄的なアーキテクトしか触れないようだ と当然、事例は増えない。 SQLAzureの容量解放、バックアップ機能 認証をオンプレミス環境と統一 日本にデータセンター=これで法的制約減る Key-Value型の成功事例が多数生まれる

36 余談 開発者に求められる素養 プログラミングだけではダメ。 デプロイの知識は必須。(意外とデプロイ作業をやっ たことがない人もいるが・・・) 運用を意識した設計も超重要(環境は思い通りに ならない、知りたいことが知りたいときに知れるように 環境を熟知すべし) つまり、総合力が必要。全部やってみよう。 大きすぎる範囲ではない。きっとできる。

37 おまけ ■クラウド開発におさえておくべき用語(一部) ジャンル用語説明 データ Key-Value 型 RDB とは違い、 Key-Value のみ保持するデータストア。負荷分散や可用性に優れている。 ACID 徳性 確保は苦手。 クラウドパブリッククラウド とプライベートクラ ウド パブリッククラウド=インターネット経由で提供されるクラウド、プライベートクラウド=企業 のイントラや特定のネットワークに閉じたクラウド トランザ クション CAP 定理分散システムにおいて、データの Consistency( 整合性 ) ・可用性 (Availability) ・分散化 (Partition) の3つ を同時に満たすことはできない。クラウドでは、可用性と分散化が必須。 トランザ クション BASE トランザクショ ン クラウドでは ACID なトランザクションは実現しにくい。よって ACID に代わる BASE トランザクショ ンという考え方がある。 Basically Available =高可用性。楽観ロックやキューによって実現可能。 Soft-State =あるノードの状態が失われても、定期的に状態情報を取得すれば状態は復元される。 EventuallyConsistent = ↓ トランザ クション イベンチュアル・コ ンジステンシー システム内に、一時的に一貫性が損なわれる状態が生まれても、ある期間の後には、一貫性のあ る状態になるような性質を、イベンチュアル・コンジステンシーという。 ( 丸山先生の資料より ) 例として DNS 。 ※ Scalable で Available で、かつ、 EventuallyConsistent なシステムは可能である。 ( 丸山先生の資料よ り ) 楽観的ロック ( データにバージョンを持たせて、違えば更新できないで OK ではないか。 ) セキュリ ティ クレームベース認証アイデンティティ管理に利用する認証形態。ポイントは、システム内に認証機能を作りこまず、 外部からのトークンによって実現することで、クラウドとオンプレミスの双方で、同じ認証形態 が可能というメリットがある。(説明足りずですみません・・・。) 通信 CDN コンテンツデリバリネットワーク (Contents Delivery Network, CDN) とは、 Web コンテンツをイン ターネット経由で配信するために最適化されたネットワークのことである。コンテンツ配信網と も。( wikipedia )

38 参考URL ■Azure関連情報 Techdays2010のセッション資料 http://www.microsoft.com/japan/events/techdays/2010/session/download.aspx 開発ポータル お使いになる前に http://www.microsoft.com/japan/windowsazure/getstarted/ 著者事例「業務システムでWindows Azureを使うための42の覚え書き」 http://www.atmarkit.co.jp/fdotnet/chushin/azurecasestudy_01/azurecasestudy_01_01.html Windows Azure Service Management CmdLets http://code.msdn.microsoft.com/azurecmdlets Windows Azure Service Management API Tool http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=windowsazuresamples&ReleaseId=323 3 ■その他 ひがやすを「SIerは顧客の良きパートナーとなれ」 http://jibun.atmarkit.co.jp/ljibun01/cs/200912/05/01.html 丸山先生の資料(Baseトランザクション) http://qcontokyo.com/tokyo-2009/pdf/GeneralSession-Day2-Maruyama.pdf


Download ppt "現場開発者視点で答える Windows Azure 業務アプリ開発の実際 シグマコンサルティング株式会社 橋本 圭一."

Similar presentations


Ads by Google