ISV 向け Windows Azure による SaaS アプリケーション開発

Slides:



Advertisements
Similar presentations
WINDOWS AZURE上での ACTIVE DIRECTORY構築入門 Windows Azure ハンズオン トレーニング.
Advertisements

マイクロソフトがホスティングする拡張性に優れたサービス ベース アプリケーション プラットフォーム.
Oracle Application Express アーキテクチャ. © 2009 Oracle Corporation アーキテクチャ概要 データベース 9iR2 、 10g 、 11g 、 XE 内に統合 メタデータ駆動型 APEX リスナー、組込みゲートウェイ、または ModPLSQL を使用.
Windows Azure ハンズオン トレーニング Windows Azure Web サイト入門.
テスト環境の見直しで貴社の開発が劇的に変わる!! 納期や品質の向上の決め手は、テスト環境の最適化にあります。
Curlの特徴.
IIS 4.0で開発をするコツ Webアプリケーション構築.
WindowsAzure でのアプリ開発 けんちゃん.
インターネット ショップを開設するための要件
Windows HPC Server を使ってみる
DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
SQL Server Always On Technologies の概要
最新ファイルの提供を保証する代理FTPサーバの開発
仮想テープライブラリ クラウド環境で利用できるテープバックアップの代替サービス 簡単な図 (網羅性より象徴性)
SoftLayer専用線サービス SoftLayerデータセンター
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
Virtual Editionのご紹介 (株)ネットジャパン 法人営業部 2012年7月18日 1.
クラウド上での リアルタイム・非同期・双方向通信アプリケーション開発基礎
Windows Azure 仮想マシン 入門.
SharePoint Server において 構成ウィザードが失敗する場合の トラブルシューティング
Microsoft Office Project 2007
続 Entity Framework 入門 SQLWorld #8 サヴロウ.
PaaSの起源とxaaSの今後.
クラウド開発の高速道路 ~Visual Studio 2010 による Windows Azure アプリケーション開発~
Microsoft の クラウド・コンピューティング戦略
Microsoft の クラウド・コンピューティング戦略
Visual Studio LightSwitchの概要
Windows Azure で作る ボットアプリ?
(B2) 親: minami, kazuki 多様な認証機器に対応する 認証システム (B2) 親: minami, kazuki.
シネックスインフォテック Microsoft Azure 相談センター
SAP & SQL Server テクニカルアーキテクチャ概要 マイクロソフト株式会社 SAP/Microsoft コンピテンスセンター
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
データベース設計 第9回 Webインタフェースの作成(1)
Windows Phone 7.5 の データ アクセスとクラウド連携
11/9/2018 3:35 AM Windows Azure Platform ハンズオン トレーニング Windows Azure アプリケーション開発概要 ~ Windows Azure 入門編 ~ © 2007 Microsoft Corporation. All rights reserved.
建設・建築現場のデータもクラウドへ自動バックアップ!
SQL パフォーマンス チューニング ~ カバーリングインデックス/クエリヒントの利用~
九州大学キャンパスクラウド 利用法 情報ネットワーク特論 講義資料.
11/16/ :27 AM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows Azure で作る ボットアプリ?
マイクロソフト直営の クラウドサービスです。
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
第2回.リレーショナルデータベース入門 SQL を用いたテーブルへの行の挿入 SQL 問い合わせの発行と評価結果の確認.
SQL パフォーマンス チューニング ~ プランガイドの利用~
MVP for VB が語る C# 入門 初音 玲.
MVP for VB が語る C# 入門 初音 玲.
Windows Azure (CTP) 触ってみた
わんくま同盟・techbank.jp 夏椰 Insight Technology, Inc. 今川 美保
.NET Framework 3.0 概要 (旧称 : WinFX)
実行時情報に基づく OSカーネルのコンフィグ最小化
.NET 4 時代の Windows Azure アーキテクチャ選択
ツールと Python で戯れる Azure データサービス 【第一弾】 ~準備編~
日本郵便 「Web-EDI」利用ガイド (JP EDIシステム)
SaaS/PaaSの起源とこれから 株式会社アプライド・マーケティング 大越 章司
Windows Azure (CTP) 触ってみた
W3CがHTML5を勧告として公開 ( ).
アプリケーション依存の先読みが可能なO/Rマッピングツール
ネットワークをシンプルにする エンタープライズ NFV
PaaSの起源.
SQL Server 2008 および 更新プログラムの一括セットアップ
SQL Server ベースの SAP システム における高可用性ソリューション
Db2 Warehouse on Cloud Db2 on Cloud フルマネージドサービス提案時の注意点
「拝啓、さかもとと申します」 2008年6月28日 わんくま同盟 勉強会初参戦。 ※最重要 -質問はご遠慮願います-
「拝啓、さかもとと申します」 2008年6月28日 わんくま同盟 勉強会初参戦。 ※最重要 -質問はご遠慮願います-
ソーシャルのビジネス利用 の挑戦とクラウド
CO-Client Opeartion 1.1 利用履歴データベースの設計 (スキーマ バージョン 対応)
PaaSの起源 株式会社アプライド・マーケティング 大越 章司
Windows Azureの 料金体系 日本マイクロソフト株式会社.
Microsoft Office Project Server 2007
クラウドコンピューティングとWindows Azure Platform
Presentation transcript:

ISV 向け Windows Azure による SaaS アプリケーション開発 T1-306 ISV 向け Windows Azure による SaaS アプリケーション開発 マイクロソフト株式会社 パートナーテクノロジー本部 プリンシパル テクノロジーアドバイザー 平井 昌人 masath@microsoft.com

Agenda データの移行について アプリケーションの移行について アプリケーションの SaaS 化について まとめ SQL Azure Database Windows Azure Storage アプリケーションの移行について Windows Azure Hosted Service Windows Azure Platform AppFabric アプリケーションの SaaS 化について マルチテナント ID 管理 まとめ

Windows Azure 課金体系 コストを考慮した設計や配置を 日本円 USD Windows Azure コンピューティング時間 (hour) S \11.76 $0.12 M \23.52 $0.24 L \47.04 $0.48 XL \94.08 $0.96 ストレージ (GB/month) \14.70 $0.15 ストレージ トランザクション (回数) \0.98 /10,000 $0.01 Azure AppFabric アクセス コントロール (transaction) \195.02 /100,000 $1.99 サービス バス 従量課金モデル (1 connection) \391.02 $3.99 パックモデル (5 connection) \975.1 $9.95 SQL Azure Web Edition (1GB) \979.02 $9.99 Business Edition (10GB) \9,799.02 $99.99 Data Transfers 北米およびヨーロッパ 受信 (GB) \9.80 $0.10 送信 (GB) アジア太平洋 \29.40 $0.30 \44.10 $0.45 Windows Azure, SQL Azure, Windows Azure Storage などの準備が出来ている前提 開発環境の準備

データの移行 SQL Azure Database 手間をかけずにデータベースをクラウドへ移行

オンプレミスに残すもの 不安があればクラウドに持ち出すな! パブリッククラウドに持ち出せないもの 法律上の制限 秘匿性が高いデータ、個人情報データ、会計データ 監査を必要とするシステム トランザクションの整合性を厳密に保証するシステム パフォーマンス(リアルタイム処理)にシビアなシステム オンプレミスとクラウドのハイブリッド シームレスに連携するシステムを構築 データの結合や整合性はアプリで考慮 PUBLIC CLOUD

SQL Azure クラウドでも SQL Server が使えます クラウド上のリレーショナルデータベース SQL Server 2008 ベース SQL Azure Database を提供中 今後提供が予定されているもの Reporting Services, Analysis Services, Data Sync SQL Azure Database Business Analytics Reporting Data Sync

SQL Azure Database バックアップは不要!障害対策もされています データベース master データベース + ユーザーデータベース スナップショット分離 ON 復旧モデル = FULL Web Edition の 1GB と Business Edition の 10GB 接続 TCP 1433 を利用した接続 SQL Server 認証 5分で切断 アイドル、長時間クエリー、長時間トランザクション サービス品質(SLA) 99.9%(月単位の稼働率) 停止許容時間 = 1ヵ月 43 分以内

SQL Azure の制限事項 SQL Server ≒ SQL Azure 現バージョンでサポートされていない機能 分散トランザクション / 分散クエリー Common Language Runtime (SQLCLR) hierarchyid, geography, geometry データ型 バックアップ、リストア、アタッチ データベース ミラーリング サービスブローカー、フルテキスト検索、透過的暗号化、圧縮 USE ステートメント SQL Server 構成オプション(sp_configure など) 事前によく確認 Transact-SQL の サポート状況 http://msdn.microsoft.com/en-us/library/ee336250.aspx http://msdn.microsoft.com/en-us/library/ee336270.aspx SQL Azure Guidelines and Limitations http://msdn.microsoft.com/en-us/library/ee336245.aspx

日本語環境との差異 SQL Azure へのデータ移行に関する検討項目 日付時刻データの取り扱い すべて UTC(協定世界時) サーバー上での SYSDATETIME(), GETDATE() UTC は日本より9時間遅れ DATEADD(hour, 9, SYSDATETIME()) で対応 データを日本時間で保存するか UTC で保存するか? 既存データは日本時間で保存している場合が多い 日本語の取り扱い 明示的に Japanease_CI_AS など日本語の 指定が必要 ソートなどに影響 SQL 文での日本語記述にも "N" プレフィックスが必要 INSERT INTO employees VALUES (1, N'ジニアス')

SQL Azure Tips 初めの一歩でくじけないために ファイアウォールの設定(TPC 1433) オンプレミス側と SQL Azure 側 Hosted Service と同じデータセンターに配置 センター内での通信は無料 VS のデータソースウィンドウ/デザイナ オンプレミス SQL Server で作成しておき、最後に接続 文字列だけを変更すれば OK SQL Server 2008 の Management Studio ローカルのデータベースに接続した後、新しいクエリー で SQL Azure へログイン

既存データベースの移行手順 かなり泥臭い作業を覚悟しましょう 既存データベースを別環境にコピー 開発用の SQL Server 2008 R2 へアタッチ 大改修 クラスタ化インデックスの付与 日付を取得している部分を修正 Windows 認証から SQL Server 認証への変更 ストアドプロシージャの精査と改修 未サポートの機能の切り離し、または代替策の検討 スキーマを SQL Azure へエクスポート データはまだ入れない 実データを SQL Azure へエクスポート BCP, SQL Server Integration Services, T-SQL スクリプト, 自前のエクスポートツールなど

Visual Studio IDE の対応 やはり Visual Studio 2010 です VS2008 VS2010 Beta2 VS2010 RTM SQL Server プロジェクト No Data-tier Application プロジェクト Investigating データソース ウィンドウ DataSet, EDM, LinqToSQL, データバインディングツール Yes サーバー エクスプローラー(表示) サーバー エクスプローラー(デザイン) SQL Server デバッグ Web Deploy aspnet_regsql.exe (ASP.NET Providers) 手動で作成可能

データの移行 Windows Azure Storage データベースから切り離した方がよいデータや アプリケーションで利用するファイル

ストレージの選択 パフォーマンスの向上とコストダウンを目指せ! BLOB(ブロブ) 画像、テキスト、ドキュメントなどのバイナリデータ image, text, varchar(max), varbinary(max) Content Delivery Network(CDN)に対応 TABLE(テーブル) レコード数が膨大になるデータ ログや公開できる商品マスターなど QUEUE(キュー) システムとのやり取りに使うデータ 制御用に利用する作業用テーブルなど Drive(ドライブ) マウントされた NTFS のドライブ(VHD) Page BLOB で転送、NTFS API でのアクセスが可能

BLOB(ブロブ) クラウド上の巨大分散ファイルシステム 構造 コンテナ :フォルダ(1階層のみ) ブロブ :ファイル(1ブロブ ≦ 50GB) ブロック :分割したデータ(1ブロック ≦ 4MB) ポイント 非構造型データを格納 サイズが 1MB を超えるデータ コンテナ ブロブ ブロック genius images demo1.jpg BL1 demo2.jpg BL2 videos アカウント demo.wmv

TABLE(テーブル) クラウド上で構造化データを格納するストレージ テーブル :テーブル エンティティ :レコード(1 レコード ≦ 1MB) プロパティ :フィールド(最大 255 個) ポイント PartitionKey はスケーリングの分割単位 固定スキーマでなくても OK アカウント テーブル employees プロパティ(Name-Type-Value) PartitionKey string RowKey Property1 …… PropN int MSKK masath 平井昌人 1 genius ジニアス 天才系 shisago 砂金信一郎 イメケン系 2 genius エンティティ

QUEUE(キュー) ロール間のデータ交換を目的とした非永続化ストレージ キュー :メッセージを格納 メッセージ :キューに格納する情報(上限 8KB) メッセージの有効期限は上限 7日間 メッセージを読み取ると一時非表示(最大2時間) アプリが正常に処理できた場合にアプリはキューから削除 アプリに障害あるとメッセージは復活する FIFO(ファーストイン/フォーストアウト)は保証していない アカウント キュー dataentry_job メッセージ Worker ロール 読み取り genius Web ロール Web ロール 処理が正常に終われば削除

Azure Storage への移行 SQL Azure 解除 – すべてを Azure Storage へ? 基本はスケールアウトの必要性が高いものから ログや公開可能なマスターなどを TABLE へ ストレージ(データベース)設計の見直し リレーショナル から Key Value ストアへ T-SQL / ADO.NET の放棄と REST プログラミング体得 データアクセスの大改造 プログラムを書き直し(ADO.NET → REST) JOIN どうする リレーションが不要になるよう再設計 LINQ を使ってメモリ内で JOIN

アプリケーションの移行 Windows Azure Hosted Service Azure Platform AppFabric アプリケーションやサービスをクラウドへ!

Hosted Service アプリケーションはここで動く アプリケーションの実行環境(ホスティング) Hyper-V の仮想マシン(VM) Windows Server 2008 + IIS 7 + ASP.NET + .NET Fx 3.5 2つの役割 Web ロール = Web サイト Worker ロール = バックグランドサービス VM n 個 VM n 個 Web Role Web Role Worker Role ロード バランサー Worker Role IIS

Hosting Service への移行 ASP.NET アプリケーションの移行は比較的容易 Web ロールに実装すべきもの Web サイト(HTML などの静的コンテンツ) Web アプリケーション(ASP.NET) WCF Web サービス Worker ロールへ実装すべきもの 非同期にしたい処理 書き込み集中の緩和、複雑な演算処理 他の Web サービスなどと連携する処理 バッチ処理・定期タスク・ポーリング マネージドコードでの実装 Web ロールと Worker ロールの連携 QUEUE ストレージを利用して制御 収まらないデータは 他のストレージを介す

AppFabric これぞ!エンタープライズ向けのサービス群 サービス バス オンプレミスとクラウドのサービスを連携させる基盤 オンプレミスの物理的なエンドポイントを隠ぺい ルーティングやメッセージ中継を担う アクセス コントロール サービス クラウド上での ID 認証サービス クレームベースのセキュリティトークンサービス(STS) Service Bus Access Control Service Workflow Service

アプリケーションの移行 Client/Server 型なら Client/Cloud 型もあり? Code Far 型(Client/Cloud) データをクラウドに配置 オンプレミスのクライアントから SQL Azure や Azure Storage へ直接アクセス Windows Form や WPF など操作性のよいクライアント オンプレミスのデータとの連携が容易 遅延を配慮したインターフェイス データのプリフェッチやキャッシュする仕組みの実装 Code Near 型 データとアプリをクラウドに配置 Web アプリケーション アプリはデータが配置されているのと同じネットワーク 内で動作(SQL Azure への転送量が無料)

アプリケーションの SaaS 化 マルチテナント アーキテクチャー

まとめ クラウドの波は不可避 クラウドの波は不可避 マルチテナント アーキテクチャーへの取り組み オンプレミスとクラウドの連携 ビジネスモデルや収益モデルが大きく変化 パッケージ販売と SaaS アプリケーションの両立 マルチテナント アーキテクチャーへの取り組み 柔軟な SaaS アプリケーションの基盤 サービスインまでのスピーディな対応 カスタマイズの容易性 オンプレミスとクラウドの連携 オンプレミスとクラウドのハイブリッド パッケージと SaaS のハイブリッド オンプレミス ⇔ クラウド パッケージ ⇔ SaaS