ROOM
機能
スケーラビリティ
サービスを管理
より早く機能を提供
ビジネス価値を創出
可用性
レイテンシ
ライフサイクル
データ整合性
移植性
機能
スケーラビリティ
サービスを管理
より早く機能を提供
ビジネス価値を創出
可用性
レイテンシ
ライフサイクル
データ整合性
移植性
traditional
UI
ビジネス
ロジック
データ
マイクロサービス
UI
ビジネス
ロジック
データ
Azure
Windows
Server
Linux
他社のクラウド
Windows
Server
Linux
Service Fabric
プライベート
クラウド
Windows
Server
Linux
高可用性 ハイパースケール ハイブリッド運用 高密度マイクロサービス
ローリング アップグレード ステートフル サービス 低レイテンシ 高速な起動/停止 コンテナー オーケストレー ションとライフサイクル管理 レプリケーションと フェールオーバー 単純なプロ グラミング モデル 負荷分散 自己復旧 データ パーティ ション分割 自動ロールバック 正常性監視 配置制約VM / VM スケール セット
Azure (パブリック クラウド)
Azure Stack
(プライベート クラウド)
VM 拡張機能
SCALR、RightScale,
Mesos、Swarm
Service Fabric
(VM / コンテナー)
Batch
App Service
Media Services
Web
アプリ
モバイル
アプリ
Apprenda、Cloud Foundry
Jelastic、Marathon
インフラ
IaaS / IaaS+
汎用コンピュー
ティング PaaS
用途特化型
コンピュー
ティング PaaS
クラスター オーケ
ストレーション
最大の
制御
迅速な
開発
VM /
VM
スケール
セット
VM
拡張機能
Service
Fabric /
Batch
Web
アプリ /
App
Service
IaaS
PaaS
Azure
Windows
Server
Linux
他社のクラウド
Windows
Server
Linux
Service Fabric
プライベート
クラウド
Windows
Server
Linux
高可用性 ハイパースケール ハイブリッド運用 高密度マイクロサービス
ローリング アップグレード ステートフル サービス 低レイテンシ 高速な起動/停止 コンテナー オーケストレー ションとライフサイクル管理 レプリケーションと フェールオーバー 単純なプロ グラミング モデル 負荷分散 自己復旧 データ パーティ ション分割 自動ロールバック 正常性監視 配置制約
Azure
Windows
Server
Linux
他社のクラウド
Windows
Server
Linux
Service Fabric
プライベート
クラウド
Windows
Server
Linux
高可用性 ハイパースケール ハイブリッド運用 高密度マイクロサービス
ローリング アップグレード ステートフル サービス 低レイテンシ 高速な起動/停止 コンテナー オーケストレー ションとライフサイクル管理 レプリケーションと フェールオーバー 単純なプロ グラミング モデル 負荷分散 自己復旧 データ パーティ ション分割 自動ロールバック 正常性監視 配置制約
ノード
ノード
ノード
ノード
ノード
ノード
0
30
50
40
46
17
64
210
2
30
90
180
225
50
76
151
103
200
83
98
218
250
40
46
17
174
ノード 64 のルーティング テーブル
Successor = 76
Predecessor = 50
Neighborhood = (83, 76, 50, 46)
Routing nodes = (200, 2, 30, 46, 50,
64, 64, 64, 64, 64,
83, 98, 135, 200)
ルーティングは、DHT
(分散ハッシュ テーブル)
構築の基礎
135
120
Time = t
1
83
76
50
46
64
61
新規ノードが出現
Time = t
2
83
61
50
46
障害を検出
クラスターを再構成
83
76
64
50
46
Time = t
0
ノードに障害が発生
システム サービス
フェール
オーバー
マネージャー
クラスター
マネージャー
ネーミング
イメージ
ストア
http://martinfowler.com/articles/microservices.html
http://kimitok.hateblo.jp/entry/2014/11/09/211820
キュー
スト
レージ
フロント
エンド
(ステート
レス
Web)
ステート
レス中間層
コンピュー
ティング
キャッ
シュ
ロード バランサー
ステート
フル中間層
コンピュー
ティング
フロント
エンド
(ステート
レス
Web)
分析と災害復旧のために使われるデータ ストア
ロード バランサー
アプリケーション
パッケージ
レプリケーション
レプリケーション
P
S
S
S
S
Write
Write
Write
Write
Ack
Ack
Ack
Ack
Read
Value
Ack
Write
P
S
S
S
S
S
カスケード障害の際にも
安全でなければならない
B
X
P
Failed
X
Failed
アプリ 1
ノード 103
P
S
S
ノード 104
S
S
ノード 102
P
S
S
S
ノード 105
P
S
S
S
ノード 101
S
S
P
ノード 100
S
P
S
S
P
S
S
S
P2
S
S
S
P4
S
P1
S
S
P3
S
S
S
S
ノード 100
S
ノード 101
ノード 102
ノード 103
ノード 104
ノード 105
アプリケーション
パッケージ
アプリケーション
パッケージ
有効期間、
バージョ
ニング、
分離の単位
カウンター
サービス
カウンター
Web アプリ
Counter
Service
Pkg
コード 構成
Counter
Web App
Pkg
アプリケーション
Reliable Actors API
Reliable Services API
Azure
プライベート クラウド
マイクロサービスで構成されるアプリ
Service Fabric
高可用性 ハイパースケール ハイブリッド運用 高密度 ローリング アップグレード ステートフル サービス 低レイテンシ 高速な起動/停止 コンテナー オーケストレー ションとライフサイクル管理 レプリケーションと フェールオーバー 単純なプロ グラミング モデル 負荷分散 自己復旧 データ パーティ ション分割 自動ロールバック 正常性監視 配置制約
コレクション
• 単一マシン
• シングル スレッド
同時実行
コレクション
• 単一マシン
• マルチ スレッド
Reliable
Collections
• 複数マシン
• レプリケーション (HA)
• 永続性
• 非同期
• トランザクション型
Cloud Services
Azure テーブル/NoSQL
信頼性の高い Azure キュー
Service Fabric
(ステートフル)
サービス
説明
Azure SQL Database
データベース サービス
Azure DocumentDB
JSON ドキュメントの NoSQL ストア
Power BI
BI データ分析サービス
Azure Virtual Network
クラスター/データ センターをまたがる仮想
ネットワーク向けの Regional Network Manager (RNM)
Azure コンピューティング/
ネットワーク
コンピューティング、ネットワーク、ストレージ
向けのリソース プロバイダー (CRP、NRP、SRP)
Azure Event Hubs
ストリーミングされたメッセージングとイベント処理
Azure Service Bus
Service Bus リソース リソース プロバイダー (SBRP)
Intune
クラウドでの PC、デバイスの管理
Bing Cortana
パーソナル アシスタント
Data Feeds(e.g. flights, weather, news, etc) Cortana Agents
Actions/ Notifications
Query Engine Service
Service Fabric Cluster
Create/Delete Subscription Create/Delete Stream Define/Undefine Obs erver[able] Core Engine Create/Delete Subscription Create/Delete Stream Define/Undefine Obs erver[able] QE Service QC Service Subscriptions Broker
Express ionExpress ion Exp ress io nExpress ion
Expression Tree
Cortana Notifications
Action Queue Actions/
Notifications
Heartbeat
Message Broker (topics)
Topic Router
Subscribe (per topic) + receive events
Events
Service Fabric Replicated data structure
Query Coordinator Service Events Subscriptions 8 QC service instances per region 40 QE service instances per region Notifications