Document

これまでのアーキテクチャの変遷と
今後の技術戦略
萩原正義
[email protected]
Microsoft Architect Forum 2013
アーキテクチャの再注目
 成熟社会
 要求の多様化
 要素技術の高度化、複雑化と選択肢の多様化
 陳腐化していく資産の維持管理
 リアルタイム性
 人間の思考スピードが基準
 人、もの、金、情報の経営資源のスピードの制約
 H/W の進歩
 ただ既存アプリをクラウドに載せただけとは違うアーキテク
チャをめざして
Microsoft Architect Forum 2013
アーキテクチャをめぐる 10 メガトレンド
 H/W の進化と仮想化
 アーキテクチャ設計





3ティアアーキテクチャの進化: Shared Nothing, DSM
Elasticity
Resiliency
データ統合
Client 技術
 論理、物理設計
 開発の競争優位性
Microsoft Architect Forum 2013
H/W の進化と仮想化
 CPU, GPGPU
 Cache, Pipeline, Prefetch, SIMD
 FPGA
 ストレージ
 SSD とフラッシュ
 In-memory
 Network
 SDN(router, firewall,
load balancer)
 Open Compute
 Disaggregated Rack
3ティアアーキテクチャの進化
 分散システム + トランザク
ション処理(1980~)
 データ指向トランザクション
実行制御(2010~)
 一貫性モデル(時間的、空間
的な強弱調整)
Web サーバ
ビジネスロジック
ロードバランサ
RDB サーバ
 ファーストティアでの(時間
的), 例 weak consistency
 Shared Nothingの同期点(空
間的), 例 BSP
 User-centric と data-centric
 トランザクションデータと非
構造化データの重要化
デバイスへサービス
データサービス
Shared Nothing
• クラスタスケジュール
管理、リソース管理
• プログラミングモデル
• データ指向トランザク
ション実行制御
• Single Writer の原則
• Incremental 計算
HadoopDB の例
DSM: Distributed Shared Memory
 Region にまたがったスト
レージ上に
マルチデータモデル
サイロデータモデル共通化
スキーマエボリューション
ICF に発展
分散キャッシュ
アクセス層
アクセス層
…
Web/
ロジック層
アプリケーション
分散キャッシュ
アクセス層
r
非同期書き込み
RDB
RDB
RDB
分散キャ
ッシュ
サービス




アプリケーション
分散キャッシュ
分散キャ
ッシュ
サービス
 ストレージはアプリケー
ションスキーマを定義
アプリケーション
分散キャ
ッシュ
サービス
 各 region に隔離ドメイン
が存在
 Multi-tenant ストレージ
各種データ モデル...
クラウド
オブジェクトストア
キャッシュ層
プロセス指向
アプリケーション
データ形式(非正規化)
データ中心
マスター データ
管理 (正規化)
データ層
Elasticity
 Scale-out と scale-up
 Workload 毎の仮想化によ
る構成定義
 Adaptive なルール駆動
 Auto-scaling
 Workload 予見
Resilient
Resiliency

H/W 障害をソフトウェアで保証




冗長化、multi AZ
Failover クラスター、再構成
Design for Failure

合意プロトコル
(cluster)
“How complex systems fail” – SPOF
対策では不十分
CP
クォーラム(読み取り、書き込み)
障害モデルによるアルゴリズムの選択



インメモリ
対称と非対称
一貫性モデルは Eventual や Causal
クライアント
consistency, Linearizability など
分散合意プロトコル(クォーラム)、有
リース
効期限付きトークン(リース)
 Elastic なバックエンドサーバは DHT
AP
DHT やプロセスグループ
一貫性モデル
複製(パーティション毎) サーバプール(scale out)
データ統合
ICF: Information Capability Framework
 MDM と SOA
 データ統合パターン、共有
 必ずしも統一だけではない
 Capability モデル
ワークロード
ワークロード
メタ
verb
メタ
verb
メタ
verb
メタ
verb
メタ
verb
 リソースプール
 メタデータ駆動
 データ分析プロセス
 その他の Verb
 非機能要求はデータアーキテ
クチャ内で実現
 Shared Nothing
 Locality, Co-location
Capability 化
Elasticity
統合、共有、プール化
サイロ
リソー
ス
サイロ
リソー
ス
サイロ
リソー
ス
サイロ
リソー
ス
Client 技術
 Web vs. Native アプリ
 Rich client/Thin server
 Latency が売上に直結
 Web
Resilient
 WebSocket, HTTP/2.0
 HTML5, JavaScript
 Native アプリ
 コード生成
 オフライン、課金、発見性
論理、物理設計
 SLA, QoS, Latency
SELECT name, salary*.19 AS tax
FROM employee
WHERE age > 25
 CAP 定理の C と A の調整
 Tunable 一貫性モデル
 Elasticity, Resiliency
Resilient
 DevOps による PDCA
tax
Resilient
PROJECT
 Data-driven, 分析プロセス
 データモデル選択
 データ設計(カラムファミリ,
Partition など)
 明示、暗黙スキーマ適用
0.19
selection
vector
25
SCAN
age
SELECT
name
salary
tuple 毎
の繰り返し
開発の競争優位性
 プラクティスからサ
イエンスへ
 サイエンスに寄せて
工学で勝負
Resilient
 GC, LSM-tree など
 Latency tail
 SPDY, HTTP/2.0
 ALM, TiDD, CI
HBase の例
まとめ
 アーキテクチャの重要性
 10 メガトレンド
 Microsoft が提供する
 「ひと」中心のコンピュー
ティング
 エンタープライズとコン
シューマ
 Devices & Services
Resources






Gartner: “3層アプリケーションの概念を脱する時が来た”, 2013
"HadoopDB: An Architectural Hybrid of MapReduce and DBMS
Technologies for Analytical Workloads”, 2009
“Design for Failure”, http://broadcast.oreilly.com/2011/04/the-awsoutage-the-clouds-shining-moment.html
“CAP Twelve Years Later: How the "Rules" Have Changed”,
http://www.infoq.com/articles/cap-twelve-years-later-how-the-ruleshave-changed
"Warehouse-Scale Computing: Entering the Teenage Decade", 2011
“分散システムの概念とアーキテクチャー(仮称)”, 近日出版
Microsoft Architect Forum 2013