download.microsoft.com

マイクロソフト テクノロジーによるモダンなビジネス アプリケーション
Web 編 ~ASP.NET + Windows Azure~
ご提案書サンプル PPT
目次
全体概要
活用 TIPS
活用例
まとめ
この資料の位置づけ
本資料は Web アプリケーション開発のテクノロジー選択における意思決定者の方向け
に、ASP.NET と Windows Azure の特徴をご理解いだき、技術選択の際の参考としてい
ただくための資料です。
この資料の利用にあたって
本資料は再配布可能な資料です。勉強会や提案などで社内外を問わず再配布いただいて
構いません。ただし、本資料の改変を行わない状態でのみ再配布を認めます。
ASP.NET と Windows Azure の概要を知る
全体概要
ユーザー ニーズのトレンド
ブラウジング環境の多様化 (スマートフォン、タブレットなど)
ビジネス環境の変化に対する迅速な対応 (多様な技術や外部サービスの活用)
オンプレミスとクラウドの効果的な連携
さまざまなニーズに対応する
マイクロソフトの Web 開発技術
ASP.NET Web フォーム
•
•
•
豊富なサーバーコントロール
ドラッグ&ドロップで UI 作成
HTML の細かい機能を隠ぺい
ASP.NET MVC
HTML ベースの UI 作成
JavaScript との相性が向上
責務の切り分けとテスト駆動開発
•
•
•
ASP.NET のここがおススメ
• 開発者のC# / VB の知識を活かしつつ、
様々な Web アプリケーション開発のニーズ
に応じたフレームワークを提供
• ASP.NET MVC、 ASP.NET Web ページが
追加されたことで、HTML5 や jQuery など
の新しいクライアント技術への対応をさらに
強化
ASP.NET Web ページ
•
•
•
HTML に C# / VB を埋め込む
シンプルな記法と構造
ヘルパーの活用で部品化が容易
マイクロソフトのクラウド
Windows Azure Platform 概要
ソフトウエア
ミドルウエア
OS
コンピューティング
SQL Azure データベース
ストレージ
データ同期
ファブリック
SQL Azure レポート
仮想ネットワーク
Federation
Windows Azure Connect
ハードウエア
ネットワーク
Windows Azure Traffic
Manager
サービスバス
CDN
(コンテンツ配信ネットワーク)
アクセス制御
Windows Azure Marketplace
キャッシュ
Platform
Windows Azure サービス公開イメージ
•
Windows Azure コンピューティング
• Windows Server 2008 R2/SP2 ベースの仮想マシン
• 環境仮想マシン数、サイズは自在に増減可能
コンピューティング
ブロブ
ファイル&メタデータ
Web ロール
IIS + Web
サービスをパッケージ化
してデプロイ
…
Worker ロール
バックエンド処理
…
■インスタンス : 仮想マシン (の単位)
■ロール : 仮想マシンの種類
• Web ロール : IISインストール済み環境、
Webアプリケーション
• Worker ロール : バックエンド処理
• VM ロール : ユーザー定義イメージ
ストレージ
ロードバランサー
テーブル
構造化ストレージ
キュー
メッセージ転送
ドライブ
永続的NTFSドライブ
ファブリック コントローラ
ASP.NET + Windows Azure のメリット
組み合わせのメリット
 マイクロソフトが提供するツール、フレームワーク、プラットフォームにより、
密接な連携を実現可能
 実績のあるオンプレミスでの ASP.NET 開発のスキルをそのままに、
クラウド アプリケーション開発を実現可能
ASP.NET のメリット
 便利な .NET Framework のライブラリ
を活用可能
 HTML5 や jQuery といった Web 標準
技術との高い親和性
Windows Azure のメリット
•
•
Windows Server のノウハウを活用し
た開発、運用が可能
利用の開始やサイズの伸縮を簡単に行
うことが可能
Visual Studio のメリット
 Windows Server 上の ASP.NET アプリケーションと同様、Windows Azure 上の開
発も可能
 HTML5 や jQuery に対する入力支援はもちろん、JavaScript のデバッグやプロファ
イリングなど、Web 標準技術を活用する開発に必要な機能を提供
ASP.NET と Windows Azure の特徴
をシステム開発に活かすためのヒント
活用 Tips
Windows Azure + ASP.NET による
Web アプリケーション開発
実行環境と開発環境、マイクロソフト技術と Web 標準技術のそれぞれの
高い親和性により、開発から運用までスムーズに実現
Visual Studio により、ASP.NET、 HTML5、JavaScript などによる開発に
加え、配置やテストまでを包括的にサポート
クライアント技術
サーバー技術
開
発
技
術
実
行
環
境
Web 標準技術
ASP.NET MVC
ASP.NET を利用して Web 標準に準拠した
アプリケーションを開発
さまざまなデバイスやブラウザに対応するために Web 標準技術を
活用
HTML5 や jQuery に対応した Visual Studio を活用することで、
高い生産性を実現
画面生成のシンプルな開発技術 Razor 記法
従来のコード記法(.aspx)
<%for (int i = 0; i < 10; i++)
{ %>
繰り返し <%: i %> 回目 <br/>
<%} %>
Razor記法
@for (int i = 0; i < 20; i++)
{
@: 繰り返し @i 回目 <br />
}
シンプルなコード記述を可能にする Razor 記法で View の開発
生産性を向上
Razor のヘルパー ライブラリ (便利な API) を使うことで
ソーシャルネットワークサービス等との連携を簡単に追加可能
便利な Web API を利用する通信機能
WCF (Windows Communication Foundation)
SOAP
REST
…
WCF クライアント機能を使ってインターネット上に
公開されている様々な種類の Web API と連携
外部のサービスを利用して充実したサイトの実現
オンプレミスの ASP.NET アプリを簡単に
Windows Azure へ移行
Visual Studio を用いて既存の Web アプリケーション
プロジェクト を Windows Azure プロジェクトに変換
可能
設計段階からWindows Azure を意識することでより
柔軟な移行が可能 (負荷分散への対応など)
Windows Azure の契約プランを活用する
個人向け
法人向け
無料評価版
MSDN
サブスクライバー
向け特典
BizSpark メンバー
向け特典
MPNメンバー向け
特典
特長
評価のための
無償試用プラン
MSDN Subscription
をご利用の方向け
の無料利用特典
(※下記は MSDN
Ultimate の場合)
Microsoft BizSpark
参加企業向けの無
料利用特典
Microsoft Partner
Network 参加企業
向けの無料利用特
典
期間
90日
1年間
3年間 (最長)
--
コンピューティン
グ
750時間 / 月
( S インスタンス)
1,500時間 / 月
( S インスタンス)
1,500時間 / 月
( S インスタンス)
750時間 / 月
( XS インスタンス)
ストレージ
20GB
30GB
30GB
20GB
トランザクション
50,000回 / 月
2,000,000回 / 月
2,000,000回 / 月
250,000回 / 月
SQL Azure
データベース
1GB
5GB
5GB
1GB
アクセス制御
100,000 / 月
500,000 / 月
500,000 / 月
100,000 / 月
キャッシュ
128 MB
128 MB
128 MB
128 MB
内容
http://www.windowsazure.com/ja-jp/pricing/details/
Windows Azure のリソースを自在に
拡張 / 縮退させる
•
Windows Azure コンピューティングの仮想マシン数
(インスタンス数)、サイズは自在に増減可能
ローカル
ストレージの
ディスク領域
仮想マシン
サイズ
CPU
コア
ExtraSmall
共有
768 MB
20 GB
5Mbps
Small
1
1.75 GB
225 GB
100Mbps
Medium
2
3.5 GB
490 GB
200Mbps
Large
4
7 GB
1,000 GB
400Mbps
ExtraLarge
8
14 GB
2,040 GB
800Mbps
メモリ
帯域幅の
割り当て
SQL Server (オンプレミス) と
SQL Azure (クラウド) のデータを連携可能
オンプレミス (SQL Server)
クラウド (SQL Azure)
移行
同期
SQL Server から SQL Azure へ スキーマ / データの移行が可能
SQL Azure と SQL Server、SQL Azure 同士などでデータ同期が可
能
さまざまなシナリオに、柔軟に対応 (片方向/双方向、テーブルのみ
の同期、オンデマンド、など)
※ SQL Azure Data Sync は、2012年1月 現在、CTP プレビュー版です。
Windows Azure 上で社内 認証基盤 (Active
Directory) を使用可能
社内アイデンティティ
連携サーバー
の管理 (AD)
(AD FS)
オンプレミス
ブラウザー
連携サービス
(ACS)
ユーザーの確認
クラウド
Web アプリケーション
トークンの受け渡し
登録
エクストラネット アプリケーションなど、社内認証
とのシングル サイン オン (SSO) を実現可能
複雑なプログラミングは不要。設定により、必要な
コードを自動で出力
Windows Azure とオンプレミス (企業内) の
アプリケーションを連携可能
オンプレミス
オンプレミス上の
サービス
ユーザー
アプリケーション
クラウド
パターン2 :
企業間のシステム連携
クラウド上の
アプリケーション
パターン1 :
クラウドから、オンプレミスの
サービスを呼び出し
サービス連携用のクラウド上のインフラとして、
Windows Azure サービスバスを提供
企業インフラの変更を最小限にとどめ、連携を実現
活用 TIPS を活用するシステムの例
活用例
Case1:オンラインショップの例
ケースの背景:
新しい販売チャネルとして、オンライン ショップを開設
したい。
アクセス数や販売の予測がつけにくく、また、システム
管理人員も限られているので、初期投資や管理コストを
抑えることができればと考えている。口コミやレビュー
など、ユーザーを取り込むための Facebook などの SNS
との連携を実現したい。また、決済や配送などの外部
サービスと連携し利便性の高いサイトにしたい。
将来のトラフィックの予想が難しいため、インフラに対する
投資の予定がたてられない。
決済や配送などといった外部サービスとの連携や宣伝のため
のソーシャル ネットワーク連携などを取り入れたい。
クラウドを利用することで、小規模なトラフィックから大規
模なトラフィックまでを柔軟に対応。
こうしたサイトの運営には、トラフィック予測とともに、さ
まざまなノウハウと投資が必要になります。そのため、クラ
ウドを利用することでトラフィックに応じた契約形態を選択
することで、初期投資を抑えることが可能です。また、こう
したクラウドのメリットを活かすためには、アプリケーショ
ンの構造をあらかじめスケーラブルにしておくことがポイン
トです。
外部のサービスの API やソーシャル ネットワーク サービスの
プラグインを活用し、充実したサイトを構築する。
ショッピング サイトでは決済手段や配送手段も多様化し、常
に柔軟な対応が求められるようになりました。決済や配送に
関しては Web サービスの API が用意されていることも多く、
これらを利用して素早く機能を充実させていくことも可能で
す。また、口コミやフィードバックを目的にソーシャル ネッ
トワーク サービスを利用する企業が増えています。ソーシャ
ル ネットワーク サービスが提供しているサイトとの連携をす
るためのプラグインを利用することで、これを実現できます。
さらに詳細をみる
>>
Case2:オンライン学習システムの例
ケースの背景:
年度初めに全社員が必ず受講するトレーニングや、職
種別のトレーニングを社員が業務の合間に自分の都合
の良い時に受講できるようなオンラインの教育システ
ムを構築したい。
ただし、利用状況を調査するために 1 部門で先行して
試験導入を行い、様子を見ながら本社全体、地方関連
会社と利用対象を広げていきたい。
1 部門で開発サーバーを使用しながら試験導入したうえで、
地方関連会社を含む全社規模で展開をしていきたい。
ピーク時に合わせて構成する必要があるが、ピーク時以外に
発生するシステム リソースの無駄をなくしたい。
オンプレミスでの試験導入からクラウドでの大規模展開まで
の移行をスムーズに行う。
試験導入では利用者数も限られることから、開発サーバーな
どを利用してオンプレミスで運営することが可能です。その
後、地方関連会社など広範囲へ展開する場合は、クラウドへ
の移行を検討することになります。その際、アプリケーショ
ンやデータのスムーズな移行が成功のカギになります。
スケーラブルなアプリケーションとクラウドの組み合わせに
より、トラフィックの増減に合わせたリソースの最適化が可
能。
季節性を伴うシステムなど、利用頻度が大きく変化するシス
テムでは、ピーク時に合わせたハードウェアの導入など初期
投資が大きくなりがちです。これをクラウドで運用すること
により、必要な時に必要なだけのリソースを利用しコストを
抑えることができます。
さらに詳細をみる
>>
Case3:営業日報システムの例
ケースの背景:
得意先訪問で、外出の多い営業部門で、営業日報を社
外から入力したり、商談に合わせて必要な最新データ
をその場で確認したりできるようにして、時間の効率
化と営業力の強化を図る。
営業日報は社内システムに取り込み、社内データと連
携させて活用する予定である。
PC はもちろん、得意先でのプレゼンに使用している
タブレットからもアクセスでき、外出先の空き時間を
利用してスマートフォンからも入力できるようにした
い。
社内では PC から、社外からはスマートフォンなどからアプ
リケーションにアクセスしたいが、クライアント環境ごとに
アプリケーションを作成/管理するコストがない。
得意先訪問中でも、多様なクライアント環境から必要に応じ
社内のデータをその場で確認したい。
PC やスマートフォン、タブレットなど複数のクライアント
環境に対応したアプリケーションを構築する。
時間や場所の制約を超えて情報へアクセスすることで、ビジ
ネスのスピードと可能性は格段に飛躍します。これを実現す
るためには多様なクライアント環境からアクセス可能なアプ
リケーションが求められています。Web の標準的な技術を使
用することで、どのようなクライアント環境からでも、アプ
リケーションにアクセスすることができるようになります。
また、その最新環境である HTML5 や CSS3 JavaScript を使
用することで、従来のクライアント アプリケーションに近い
操作性を実現することができます。
認証基盤など、オンプレミスにおける必要な機能と情報を安
全にクラウドから利用する。
企業内 (オンプレミス) とクラウド間でシステムの連携を行う
場合、情報の一貫性などの観点から、オンプレミスのデータ
そのものをクラウドでも安全に利用できると良いでしょう。
その際、認証や権限管理、ビジネス ロジックも含めてオンプ
レミスの資産を利用することで、セキュリティやビジネス ロ
ジックの管理をオンプレミスで一元化しつつ、クラウドを
使った利用シーンの多様化に対応できます。
さらに詳細をみる
>>
まとめ
ブラウジング環境の多様化 (スマートフォン、タブレットなど)
最新の ASP.NET テクノロジーの活用
(HTML 5 対応、SNS 連携などの迅速性)
オンプレミスとクラウドのハイブリッドな構成が可能
ビジネス環境の変化に対する迅速な対応 (多様な技術や外部サービスの活用)
ASP.NET による容易な外部サービス連携
ASP.NET と周辺技術の柔軟な組み合わせ
(オープンソースのライブラリー、各種プラグイン、など)
迅速で容易なスケール アップ
オンプレミスとクラウドの効果的な連携
ASP.NET + Windows Azure におけるシステム / スキルの高い再
利用性
Windows Azure が提供する多様な連携オプション
(認証連携、サービス バス、SQL Azure 連携、など)
参考リンク
Building a Better Apps
Web 以外に、Data、Client といった他のテーマも含めたマイクロソフトの
モダンなビジネスアプリケーションの提案をご覧いただけます。
<http://msdn.microsoft.com/ja-jp/hh415470 >
エキスパートの視点
マイクロソフト エバンジェリストからの提案に対して、現場のエキスパート
たちがさまざまな角度から鋭く考察。
<http://msdn.microsoft.com/ja-jp/hh697480>