36
ASP.NET MVC で Windows Azure の新機能 を余すところなく使ってみる! 2012年9月29日 #hokunet 勇大地

ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

Embed Size (px)

Citation preview

Page 1: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

ASP.NET MVC で Windows Azure の新機能

を余すところなく使ってみる!

2012年9月29日

#hokunet

勇大地

Page 2: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

2

はじめに

Windows Azure 主要更新の紹介

ASP.NET MVC を利用したシナリオ

まとめ

Page 3: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

自己紹介

• 勇 大地(いさみ だいち) – Japan Windows Azure User Group コアメンバ(キリッ

– 普段はスーツを着こなすリーマン(キリリッ

– Microsoft MVP for Windows Azure 2010~ ※Microsoft 様の社員ではありません

– 「Windows Azure テクニカルハンドブック」執筆 2012年6月更新で…(´;ω;`)ブワッ

3

Page 4: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

本日のゴール

• Windows Azure が大幅更新した概要を知って頂く

• ASP.NET MVC を利用したアプリ開発にて、何が better なシナリオかを理解いただく

4

Page 5: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

5

Q. ASP.NET 向けは PaaS じゃないの?

Q. .NET 4.5(常に最新版)が利用できる?

Q. 簡単なアプリを作ってもお金かかるの?

Q. 日本語 OS は利用できないんだよね?

Windows Azure への質問!

Page 6: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

Windows Azure の全体像

6

Marketplace

Business Analytics in VMs

PaaS 型にとらわれない多様なサービスを提供

Business Analytics

SQL Reporting

Data Marketplace

Hadoop for BigData

Caching CDN

Caching Identity Active

Directory Service

Bus

Messaging

Queues

Networking

Virtual Network

Connect Traffic

Manager

Data Management

SQL Database

Tables Blob

Storage

VIRTUAL MACHINES

Cloud Services (Web Role

Worker Role) Web Sites

Media Services

Mobile Services

更新 新規

Computing Delivery

Page 7: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

Windows Azure のフォーカス

7

アプリケーション

データ

ファイヤウォール

ネットワーク、OS

仮想化

ハードウェア

アプリケーション

データ

ファイヤウォール

仮想ネットワーク、OS

アプリケーション

データ

ファイヤウォール

仮想ネットワーク

アプリケーション

データ

アプリケーション フォーカス

VIRTUAL MACHINES

Cloud Services

Web Sites オンプレミス

Page 8: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

Windows Azure のフォーカス

8

アプリケーション

データ

ファイヤウォール

ネットワーク、OS

仮想化

ハードウェア

アプリケーション

データ

ファイヤウォール

仮想ネットワーク、OS

アプリケーション

データ

ファイヤウォール

仮想ネットワーク

アプリケーション

データ

アプリケーション フォーカス

VIRTUAL MACHINES

Cloud Services

Web Sites オンプレミス

Page 9: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

9

Q. ASP.NET 向けは PaaS じゃないの?

→ IaaS も可能です!

Q. .NET 4.5(常に最新版)が利用できる?

→ IaaS なら可能ですが、注意が必要!

Q. 簡単なアプリを作ってもお金かかるの?

→ Web サイトの free を利用すれば OK

Q. 日本語 OS は利用できないんだよね?

→ IaaS なら可能です!

Windows Azure への質問!

Page 10: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

10

はじめに

Windows Azure 主要更新の紹介

ASP.NET MVC を利用したシナリオ

まとめ

Page 11: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

Windows Azure の主要な更新

11

VIRTUAL MACHINES Web サイト

仮想ネットワーク SDK の拡充

• 管理ポータル HTML5 化 • IaaS 環境の利用が可能 • Linux が選択可能 • VHD を利用した高いポータビ

リティ

• Node.js, PHP, ASP.NET を利用した開発

• Git, FTP, TFS でデプロイ • 10 サイトまで無料

• Python, Node.js, PHP, Java, .NET 向けに提供

• Windows, Mac, Linux をサポート

• GitHub でソース公開

• クラウド上にユーザ指定のサブネットを作成

• VPN でオンプレミスと接続し、企業ネットワークの延長として利用可能

Page 12: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

Windows Azure の主要な更新

12

VIRTUAL MACHINES Web サイト

仮想ネットワーク SDK の拡充

• 管理ポータル HTML5 化 • IaaS 環境の利用が可能 • Linux が選択可能 • VHD を利用した高いポータビ

リティ

• Node.js, PHP, ASP.NET を利用した開発

• Git, FTP, TFS でデプロイ • 10 サイトまで無料

• Python, Node.js, PHP, Java, .NET 向けに提供

• Windows, Mac, Linux をサポート

• GitHub でソース公開

• クラウド上にユーザ指定のサブネットを作成

• VPN でオンプレミスと接続し、企業ネットワークの延長として利用可能

まずは VIRTUAL

MACHINES

Page 13: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

管理ポータルの刷新

13

HTML5 で作成された操作性の高い管理ポータル

iPad Galaxy SⅡ

Page 14: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

Linux、Windows Server 2012 対応

Windows Server 2012 が選択可能

14

自分が作成したイメージを利用可能に

.NET Framework 4.5 が利用可能

Page 15: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

• 日本語 OS に設定可能

• .NET Framework 4.5 利用可能

• データの永続化、追加ディスク Blob に VHD 形式で保存

Blob に追加 VHD として保存

• L4 ロードバランサ提供 Endpoint 追加時にロードバランス指定可能

15

VIRTUAL MACHINES の特徴

Page 16: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

日本語 OS に設定可能

16

仮想マシン作成後、言語パックをインストールすることで日本語 OS に設定できる

Page 17: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

.NET Framework 4.5 利用可能

17

1. Windows Server 2012 のインスタンス作成 2. ポート 80 番を開放 3. リモートデスクトップで接続 4. 「役割と機能の追加」で IIS, .NET 4.5 を追加

Page 18: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

VHD(Hyper-V) のイメージを介した高い移植性

VHD を利用した高い移植性

18

オンプレミスにも容易に移行

クラウド

1. 独自イメージの作成

2. BLOB 上から VHD を取得

3. オンプレミスに移行

Page 19: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

Linux, Mac 版の管理コマンド

19

Linux 版の管理コマンド

もちろん Windows 版も

Page 20: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

VIERTUAL MACHINES の操作

20

demo ...

Page 21: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

Windows Azure の主要な更新

21

VIRTUAL MACHINES Web サイト

仮想ネットワーク SDK の拡充

• 管理ポータル HTML5 化 • IaaS 環境の利用が可能 • Linux が選択可能 • VHD を利用した高いポータビ

リティ

• Node.js, PHP, ASP.NET を利用した開発

• Git, FTP, TFS でデプロイ • 10 サイトまで無料

• Python, Node.js, PHP, Java, .NET 向けに提供

• Windows, Mac, Linux をサポート

• GitHub でソース公開

• クラウド上にユーザ指定のサブネットを作成

• VPN でオンプレミスと接続し、企業ネットワークの延長として利用可能

次は Web サイト

Page 22: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

• サイト作成は数十秒で完了

• 10 サイト無料でスモール スタート

• 容易なスケールアウトと 占有インスタンスへの移行

• Git, TFS, FTP でデプロイ可能

• CMS ベースのサイト構築も容易

Windows Azure Web サイト

Page 23: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

Web サイトの使用料金 項目 Free Shared Reserved

価格 無料 ¥1.14/時間 (Preview) ¥1.75/時間 (GA)

¥7.00 (S) ~ ¥27.98 (L) /時間 (Preview) ¥10.49 (S) ~ ¥41.96 (L) /時間 (GA)

最大サイト数 10 100 100

最大インスタンス数

3 3 3

ストレージ 1GB*1 1GB*1 10GB*1

RDB (MySQL) 20MB*1 20MB*1 20MB*1

データ転送 (受信) 無料 無料 無料

データ転送 (送信) 最大 165MB/日 5GB/月まで無料 以降は標準従量課金

5GB/月まで無料 以降は標準従量課金

CPU 利用時間 60分/日まで 240分/日まで 専用

ドメイン azurewebsites.net azurewebsites.net カスタム*2

azurewebsites.net カスタム*2

*1 : 全サイト共有 *2 : CNAME, A レコード

無料で利用可能

Page 24: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

Web サイト の操作

24

demo ...

Page 25: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

Web サイトと Web ロールの違い

25

● 他サービスの利用(キャッシュ等)

ASP.NET, PHP, Node.js 利用

GIT, FTP

ネットワーク分離

VPN/Connect

リモートデスクトップ

アプリケーションのインストール

ランタイム、フレームワークの追加

● ●

Web サイト

Web ロール

V.S 機能が大きく異なるので注意

※ Web ロールは Cloud Services の一部

Page 26: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

26

はじめに

Windows Azure 主要更新の紹介

ASP.NET MVC を利用したシナリオ

まとめ

Page 27: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

他の 変態 Azure MVP は…

27

全部 Worker Role で良いじゃん

Worker Role が有れば何でもできるよ

@kamebuchi

@harutama

※ Worker Role は Cloud Services の一部

Page 28: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

28

実際なんでもできますが…

Web サーバ構築 (nginx インストール)

日本語 PDF 作成 (フォントインストール)

そういう

問題ではない

Page 29: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

29

仮想マシン (Virtual Machines)

クラウド サービス (Cloud Services)

Web サイト (Web Sites)

※ Worker Role のやりすぎは変態向け

• 簡易なサイトを作成して公開したい • まずは無料で初めて勉強したい場合 • 既存 Web サイト (ASP 等)からの移行

• 管理者権限を必要とする場合 • Caching 等の他のクラウドサービス

と連携が必要な場合 • N 層アプリケーション構築が必要

• 日本語 OS が必要な場合 • GUI インストールが必要な場合 • Office, PDF の帳票を生成したい場合 • ネットワーク分離や VPN が必要

各サービスの利用シナリオ

Page 30: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

ストレージ

SQL データベース

データ層

オンプレミス (AD, DB, DNS)

帳票作成に IaaS

フロントエンドに Cloud Services

フロントは どう振り分ける?

30

Page 31: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

(解)MVC4 を利用した振り分け

31

DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("SP") { ContextCondition = (ctx => ctx.Request.UserAgent.IndexOf("iPhone", StringComparison.OrdinalIgnoreCase) >= 0 || ctx.Request.UserAgent.IndexOf("Android", StringComparison.OrdinalIgnoreCase) >= 0 ) });

ASP.NET MVC4 のディスプレイモードを利用

Page 32: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

32

はじめに

Windows Azure 主要更新の紹介

ASP.NET MVC を利用したシナリオ

まとめ

Page 33: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

まとめ

33

PaaS 分野だけでなく IaaS 分野も強化

IaaS/PaaS を組み合わせていい

とこどりを

無料でも 半永続的に

使える

ASP.NET MVC を利用して柔軟なアーキテクチャ設計が可能

Page 34: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

34

御清聴ありがとうございました

Page 35: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

35

Page 36: ASP.NET MVC でWindwos Azure の新機能を余すところなく使ってみる!

(参考)旧 Azure の アーキテクチャ

Web ロール

インターネット

LB

Web ロール Web

ロール

Worker ロール

Worker ロール

Worker ロール

Worker ロール

Worker ロール

Worker ロール

Endpoint

Endpoint

Endpoint

ストレージ・サービス SQL Azure

36