a lap alound cloud computing @oow tokyo 2009

16
Shinichiro Isago, Architect Evangelist, Microsoft Oracle出身 Windows Azure エバンジェリストが30分で語る 丸山先生の話を聞く前に おさえておきたい クラウドの基礎 200942412:20-12:50 @OTNラウンジ

Upload: shinichiro-isago

Post on 12-Nov-2014

2.993 views

Category:

Technology


2 download

DESCRIPTION

Oracle出身 Windows Azure エバンジェリストが30分で語る「丸山先生の話を聞く前に おさえておきたい クラウドの基礎」 Oracle Open World 2009会場内で行う セッションの資料です

TRANSCRIPT

Page 1: A Lap alound Cloud Computing @OOW Tokyo 2009

Shinichiro Isago, Architect Evangelist, Microsoft

“ Oracle出身 Windows Azure エバンジェリストが30分で語る

丸山先生の話を聞く前におさえておきたいクラウドの基礎

2009年4月24日 12:20-12:50 @OTNラウンジ

Page 2: A Lap alound Cloud Computing @OOW Tokyo 2009

この場をお借りして30分でお話する内容

3

2

1

4

5

SaaS / PaaS / HaaS ?

クラウドOSの内部構造

Key Value ストア 対 RDBMS

設計原則のパラダイムシフト

最後にちょっとだけAzureの話

Page 3: A Lap alound Cloud Computing @OOW Tokyo 2009

1 言葉の定義:「クラウド・コンピューティング」…といってもベンダー都合でいろいろありますが、ここでは PaaS の話に絞ります

HaaSハードウェアを提供

(CPU貸し、ディスク貸し)

PaaS開発・実行環境となるプラットフォームを提供

SaaS完成品の

ソフトウェアを提供

Page 4: A Lap alound Cloud Computing @OOW Tokyo 2009

2 クラウドOSの基本構造:分散・仮想化技術が随所にちりばめられています

Q

u

e

u

e

ハードウェアは「ファブリックコントローラー」で仮想化し、冗長性を持たせている

Table

ード

BLOB

Key Value形式のストレージ領域。パーティションキーで分割することで高い拡張性を実現

バイナリファイルを格納する領域。分割したブロック単位で管理するためほぼ無限に拡張可能

Map Reduce的な処理用の大量一括バッチ用VM

外部からのアクセスを担うアプリケーションサーバーVM

Web Role

Worker Role

Queueを介した通信でボトルネックをつくらない

例)Windows Azure の場合

Page 5: A Lap alound Cloud Computing @OOW Tokyo 2009

2 Elastic:簡単な設定で伸縮自在にリソースを確保できます

例)Windows Azureの環境設定ファイルで <Instances count=“4”/>とした場合の開発・デバッグ環境

Page 6: A Lap alound Cloud Computing @OOW Tokyo 2009

2 Map Reduce:大規模分散処理に適した仕組み。状態の概念をもたない関数型言語と組み合わせが適しています

inp

ut

ou

tpu

t

Map Task1

Map Task2

Map Task3

.....

Map Task N

Reduce Task1

....

Reduce Task N

ユーザー プログラム

Map フェーズ Reduce フェーズ

出所:Google OSDI2004

Page 7: A Lap alound Cloud Computing @OOW Tokyo 2009

2 冗長故の可用性:壊れて当然。障害を前提としたフェイルオーバーの機構をOSが持っています

データの読み出しはプライマリのみ

セカンダリノードに非同期で書き込みを行う

プライマリ障害時に昇格するセカンダリは多数決で決定

P

S

S

S

SWriteWrite

WriteWrite

AckAckAck

Ack

ReadValue Write

Ack

64

210

2

3090

135

180

225

5076

120

151

103

200

83

98

174 218

250

4046

17

r-6

r-5

r-4

r6

r5

r4

r7

数万台のサーバーとなると、それぞれのサーバーは全ノードの管理領域を把握しにくい

ノードの離脱、追加を行った際に、管理領域の変更の影響をおさえる仕組みが必要

例)Windows Azureにおけるデータ冗長化のイメージ

構造化オーバーレイ

Page 8: A Lap alound Cloud Computing @OOW Tokyo 2009

3 Key Valueストア:分割キーによる分散が前提。スキーマを必要とせず、クラウド上のストレージとして広まりつつあります

という割り切りのもと…

CAP定理(Consistency、Availability、Partition が同時に並び立たない)において、クラウドでは拡張性と可用性を優先させる

キーと値の組を格納

キーを与えて値を得る

キーで分散

分割キーを指定しないと遅い

値の方は何を入れてもよい

スキーマを必要としない

データは正規化しない

JOINは行わない

メモリでの操作が主体

キャッシュなどにも使われる

整合性重視の利用には不向き

イベンチュアルコンシステンシー

クラウドで広まりつつあるKey Valueストアの代表的な特長

Page 9: A Lap alound Cloud Computing @OOW Tokyo 2009

3 Key ValueストアとRDBMSは、しばらくの間クラウド側で共存することになりそうです

オンプレミスのRDBMS

クラウド上のRDBMS

クラウド上のKey Valueストア

マイクロソフトの製品ポートフォリオに見る移行シナリオの例

資産・スキルを活かしつつクラウド移行で管理を自動化

スケーラビリティが重視される部分からKey Valueに変更

一足飛びにクラウド風に移行するのは大変

1

2

SQL Server互換のインタフェース

TSQLにも対応し、整合性も重視

初期は拡張性に若干の制約

Page 10: A Lap alound Cloud Computing @OOW Tokyo 2009

3 参考)Windows Azureのテーブルにおけるデータ格納のイメージ

PartitioningKey

Row Key

Primary Key

Rowgroup

Rowgroup

ConfId

TrackId

SessionId

ConfTitle

TrackSubject

SessionSubject

1 Null Null PDC Null Null

1 1 Null Null Cloud Compute

Null

1 1 1 Null Null Live Meeting

2 Null Null TechReady

Null Null

2 1 Null Null SQLServer 2008

Null

2 2 1 Null Null SQL Server FILESTREAM

CId ConfTitle

1 PDC

2 Tech Ready

従来のリレーショナルテーブル

Windows Azure テーブル

TId CId Track Title

1 1 Cloud Compute

1 2 SQL Server 2008

SId CId TId Session Subject

1 1 1 Live Meeting

1 2 1 SQL Server FILESTREAM

Page 11: A Lap alound Cloud Computing @OOW Tokyo 2009

4 設計原則:クラウドの特長を活かしたスケールアウト重視の開発手法が必要とされています

ロー

ドバ

ラン

ビジネスロジック

データベース

機能分割

•SOAに基づくサービス単位化

データ設計

•保守用データ定義、論理データ配置

データ分割

•パーティションスキームに従う水平分割

分散トランザクション回避

•分割したデータ間の一貫性の確保

非同期による機能分割

•分割したデータ間の一貫性の確保

キャッシュの設計

•おもに読み取りデータ向け

一貫性モデルの提供

•イベンチュアルコンシステンシーなど

その他

• RESTリソース、ドメインモデルとの対応付け

Webサーバ

N階層モデルにおけるデータベースのボトルネック

スケールアウト重視の開発手法

※詳細はアーキテクトの審美眼(萩原正義 著)参照

Page 12: A Lap alound Cloud Computing @OOW Tokyo 2009

5 マイクロソフトは、ソフトウェア+サービスの考え方に基づき、お客様目線で現実的なクラウドの利用法をご提案しています

既存のスキルやIT資産を活用しクラウドへの拡張・連携が可能

Page 13: A Lap alound Cloud Computing @OOW Tokyo 2009

5 使い慣れたツールやスキルをクラウドでもそのまま活かせる開発エクスペリエンスをご提供しています

Page 14: A Lap alound Cloud Computing @OOW Tokyo 2009

5 .NETだけでなくPHPなどインターオペラビリティを重視したプラットフォームを目指しています

http://tweval.cloudapp.net/index.php↑ phpinfo() の内容が表示される

http://tweval.cloudapp.net/mix09-smarx

Azure上で動いているPHPアプリの例

Page 15: A Lap alound Cloud Computing @OOW Tokyo 2009

5 関連情報:ご興味お持ちいただいた方は、下記リソースをあわせてご活用ください

• Azure Services Platform デベロッパーセンターhttp://msdn.microsoft.com/ja-jp/azure/

• TechDays 資料ダウンロード、ストリーミングhttp://www.microsoft.com/japan/powerpro/techdays/

• .NET未来展望台http://www.atmarkit.co.jp/fdotnet/dnfuture/

• エバンジェリストコラム@Tech Fieldershttp://www.microsoft.com/japan/powerpro/TF/column/fs_01_1.mspx

• EnterpriseZine 0からわかるWindows Azure入門講座http://enterprisezine.jp/article/detail/1306/

• Fumio Sekita’s Bloghttp://blogs.msdn.com/fumios/

• Azureの鼓動http://blogs.itmedia.co.jp/isago/

Page 16: A Lap alound Cloud Computing @OOW Tokyo 2009

Shinichiro Isago, Architect Evangelist, Microsoft

“ Oracle出身 Windows Azure エバンジェリストが30分で語る

丸山先生の話を聞く前におさえておきたいクラウドの基礎