Keynote2. はじめに ■ 本資料の注意 ?クラウドコンピューティングのとらえ方、その比較、 評価は、 非常に プレゼンターの主観に基づきます。 ? Azure の説明の中には、未リリースの製品が含まれています。よって現時点の情報でしかない点も含まれていることをご容赦ください。 ?一部、 Microsoft 社の資料を転記しておりますので、その点ご了承ください。 ( 各資料に転記と記載 ) 3. はじめまして ■ 経歴 ?外国語学部 ( ロシア語?国際政治 ) ? SIer ? SIer で 5 年間、製薬業や食品業のお客様の SI を担当 ? 2006 年に起業、現在 5 期目 ?中小のお客様向けに CIO +システム部門のアウトソース ? Azure と Silverlight を楽しむ ?おばかアプリに夢中 ■ 信条:楽しく、人に喜ばれる ■ リタイア後の野望:自分の ビールブランドを持つ 。 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 即儲からず、投資から。規模の戦いが必要。 11. クラウド化の検討ポイント例 コア業務 ※ 他社との差別化が できる収益の基 非コア業務 ミッション クリティカル ※ 停止不可 非ミッション クリティカル ※ 停止可能 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 BigTable SQL Azure Storage Service Force.com Database 開発容易性 A B B C 既存資産活用 A C A C 運用の手間 C A A A オンプレミス連携 B C B+ B 導入容易性 A C B A 事例 A B C A 適した用途 ゲームアプリ 業務アプリ など何でも Apps と連携するような グループウェア? スケールアウトが必要な簡易 WEB サービス エンタープライズ アプリケーション向き? 汎用的な業務アプリ 13. Windows Azure って何? ■ プレゼンターの結論から申し上げると エンタープライズ用途実現に非常に適した PaaS エンタープライズ向け SaaS にも適している 最も機能拡張が見込まれる PaaS 仕様を見ていると後発の強みあり これまでで、最も簡単に売れない Windows 14. Windows Azure 全体像 オンプレミス Service Bus Access Control SQL Server Reporting BI 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 アプリに参照設定の追加 ③ パッケージを作成。 18. Storage Service テーブル = Key-Value 型のデータストア ( 実データ ) BLOB =バイナリ格納、ファイルストレージ (CDN 対応 ) キュー =メッセージ通信 ドライブ =ファイル I/O でアクセス可能な NTFS フォルダ 画像= Microsoft 社の資料抜粋 ストレージ 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 からアクセス 26. 運用管理 ■ 運用管理について 開発ポータルで行う作業は、ほぼ全てバッチから可能 ( 管理用 API をたたくツールあり ) SQL Azure へのバッチ実行 ■ 管理用 API 利用ツール Cmdlet Windows Azure Service Management API Tool 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 1.76 ,640 M 3.52 7,280 L 7.04 3,840 XL 4.08 7,680 ストレージ (GB/month) 4.70 47 ストレージ トランザクション ( 回数 ) .98 /10,000 8 Azure AppFabric アクセス コントロール (transaction) 95.02 /100,000 ? サービス バス 従量課金モデル (1 connection) 91.02 ? パックモデル (5 connection) 75.1 ? SQL Azure Web Edition (1GB) 79.02 Business Edition (10GB) ,799.02 Data Transfers 北米およびヨーロッパ 受信 (GB) .80 80 送信 (GB) 4.70 ,470 アジア太平洋 受信 (GB) 9.40 ,940 送信 (GB) 4.10 ,410 31. 料金例 WEB ロール1個 =,000 ストレージ 10G =47 ストレージトランザクション 10 万回 = 8 SQL Azure(WebEdition) = 80 データ転送量 50G(Asia) = ,500 ざっと 3,000 円くらい? 34. Azure 今後のお楽しみ機能 AppFabric 2010.4 Windows Identity Foundation =ハイブリッド化を推進、 AD 連携 VM ロール = 何でもできるように? SQL Azure のバックアップ機能=安心 35. 一般利用されるまでの道のり 事例が 300 に達する ※ 事例を模倣しない限り、爆発的には増えない ? 一部の英雄的なアーキテクトしか触れないようだと当然、事例は増えない。 SQLAzure の容量解放、バックアップ機能 認証をオンプレミス環境と統一 日本にデータセンター=これで法的制約減る Key-Value 型の成功事例が多数生まれる 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=3233 ■ その他 ひがやすを「 SIer は顧客の良きパートナーとなれ」 http://jibun.atmarkit.co.jp/ljibun01/cs/200912/05/01.html 丸山先生の資料 (Base トランザクション ) http://qcontokyo.com/tokyo-2009/pdf/GeneralSession-Day2-Maruyama.pdf