SlideShare a Scribd company logo
1 of 13
Download to read offline
クラウドデザインパターン
~ Azureを例としたクラウドアプリケーション設計の手引
紹介
日本マイクロソフト株式会社
エバンジェリスト
野村 一行
(kazno@Microsoft.com)
ソフトウェアにおけるパターンとは?
• 過去のソフトウェア設計者が発見し編み出した設計ノウ
ハウを蓄積し、名前をつけ、再利用しやすいように特定
の規約に従ってカタログ化したもの(Wikipedia より)
パターン
デザイン
パターン
アーキテク
チャパター
ン
アナリシス
パターン
ビジネス
パターン
組織パ
ターン
アンチパ
ターン
イディ
オム
パターンの特長
• アプリケーション設計を省力化できる
– 車輪の再発明をしなくてもよい
• パターンの名称を使って概念を共有できる
– コミュニケーションミスが減り、設計の手戻りが削減
• アプリケーション開発者の育成に役立つ
– 徒弟制による暗黙知からコミュニティによる形式知へ
アプリケーション設計に関するパターン
• POSA(Pattern-Oriented Software Architecture)
– 「ソフトウェアアーキテクチャ―ソフトウェア開発のためのパターン体
系」としてNo.1のみ翻訳版あり
• PoEAA(Patterns of Enterprise Application
Architecture)
– 「エンタープライズ アプリケーションアーキテクチャパターン 」として
翻訳版あり
– 日本語のサマリーあり
• http://capsctrl.que.jp/kdmsnr/wiki/PofEAA/?CatalogOfPofEAA
• Enterprise Integration Patterns
– パターンカタログを公開
• http://www.enterpriseintegrationpatterns.com/toc.html
4
クラウドアプリケーション設計における関心事
5
Mean Time Between Failure Mean Time To Repair
Cloud Design Patterns
クラウドデザインパターン
7
責任者
CDP の問題領域
8
サービス使用量の測定
計測と遠隔測定 DevOps
キャッシング 複数データセンターへ
のデプロイ
コンピューティング分割
自動スケール
ユーザー
外部STS/IDP 外部サービスまたは
オンプレミス
非同期メッセージング
データ分割
データ整合性
データレプリケーションと
同期
データベース
/ストレージ
Web UI
バックグラウンド
処理
回復性
スケーラビリティ
セキュリティ
可用性
管理および監視
メッセージング
データ管理
設計および実装
24個のパターン
10個のガイダンス
パターンの記述形式
パターン名
課題と背景
解決策
問題と検討事項
いつこのパターンを
使うか
例
関連するパターンと
ガイダンス
追加情報
10
直観的な図式
Cache-aside CQRS Health Endpoint Monitoring
Queue-based Load Leveling Sharding
どこから読む?
はじめに
ガイダンスパターン
12
通常はこちらが
お勧め
Happy Reading !
13

More Related Content

More from Kazuyuki Nomura

.NETアプリのクラウド移行~Azure Service Fabricを丁寧に
.NETアプリのクラウド移行~Azure Service Fabricを丁寧に.NETアプリのクラウド移行~Azure Service Fabricを丁寧に
.NETアプリのクラウド移行~Azure Service Fabricを丁寧にKazuyuki Nomura
 
ハンズオンで学ぶ、Azureのサーバーレスアーキテクチャ
ハンズオンで学ぶ、Azureのサーバーレスアーキテクチャハンズオンで学ぶ、Azureのサーバーレスアーキテクチャ
ハンズオンで学ぶ、AzureのサーバーレスアーキテクチャKazuyuki Nomura
 
Azure アプリケーション アーキテクチャ ガイド 紹介
Azure アプリケーション アーキテクチャ ガイド 紹介Azure アプリケーション アーキテクチャ ガイド 紹介
Azure アプリケーション アーキテクチャ ガイド 紹介Kazuyuki Nomura
 
今後のビジネス モデルに対応する Azure プラットフォーム技術の活用
今後のビジネス モデルに対応する Azure プラットフォーム技術の活用今後のビジネス モデルに対応する Azure プラットフォーム技術の活用
今後のビジネス モデルに対応する Azure プラットフォーム技術の活用Kazuyuki Nomura
 
「モダン」アプリケーションと マイクロソフト プラットフォーム
「モダン」アプリケーションとマイクロソフト プラットフォーム「モダン」アプリケーションとマイクロソフト プラットフォーム
「モダン」アプリケーションと マイクロソフト プラットフォームKazuyuki Nomura
 
HDInsight によるビッグ データ ソリューションの開発
HDInsight によるビッグ データ ソリューションの開発HDInsight によるビッグ データ ソリューションの開発
HDInsight によるビッグ データ ソリューションの開発Kazuyuki Nomura
 
マルチ テナント クラウド アプリケーションの設計手法
マルチ テナント クラウド アプリケーションの設計手法マルチ テナント クラウド アプリケーションの設計手法
マルチ テナント クラウド アプリケーションの設計手法Kazuyuki Nomura
 
これまでのアーキテクチャの変遷と今後の技術戦略
これまでのアーキテクチャの変遷と今後の技術戦略これまでのアーキテクチャの変遷と今後の技術戦略
これまでのアーキテクチャの変遷と今後の技術戦略Kazuyuki Nomura
 
アーキテクチャの重要性: Microsoft がご提供できる価値
アーキテクチャの重要性: Microsoft がご提供できる価値アーキテクチャの重要性: Microsoft がご提供できる価値
アーキテクチャの重要性: Microsoft がご提供できる価値Kazuyuki Nomura
 
Windows Azure アプリケーション設計を賢く行うための基本知識
Windows Azure アプリケーション設計を賢く行うための基本知識Windows Azure アプリケーション設計を賢く行うための基本知識
Windows Azure アプリケーション設計を賢く行うための基本知識Kazuyuki Nomura
 
Windows Azure Appfabric as "Middleware as a Services"
Windows Azure Appfabric as "Middleware as a Services"Windows Azure Appfabric as "Middleware as a Services"
Windows Azure Appfabric as "Middleware as a Services"Kazuyuki Nomura
 

More from Kazuyuki Nomura (12)

.NETアプリのクラウド移行~Azure Service Fabricを丁寧に
.NETアプリのクラウド移行~Azure Service Fabricを丁寧に.NETアプリのクラウド移行~Azure Service Fabricを丁寧に
.NETアプリのクラウド移行~Azure Service Fabricを丁寧に
 
ハンズオンで学ぶ、Azureのサーバーレスアーキテクチャ
ハンズオンで学ぶ、Azureのサーバーレスアーキテクチャハンズオンで学ぶ、Azureのサーバーレスアーキテクチャ
ハンズオンで学ぶ、Azureのサーバーレスアーキテクチャ
 
Azure アプリケーション アーキテクチャ ガイド 紹介
Azure アプリケーション アーキテクチャ ガイド 紹介Azure アプリケーション アーキテクチャ ガイド 紹介
Azure アプリケーション アーキテクチャ ガイド 紹介
 
今後のビジネス モデルに対応する Azure プラットフォーム技術の活用
今後のビジネス モデルに対応する Azure プラットフォーム技術の活用今後のビジネス モデルに対応する Azure プラットフォーム技術の活用
今後のビジネス モデルに対応する Azure プラットフォーム技術の活用
 
Concept of-hybrid-apps
Concept of-hybrid-appsConcept of-hybrid-apps
Concept of-hybrid-apps
 
「モダン」アプリケーションと マイクロソフト プラットフォーム
「モダン」アプリケーションとマイクロソフト プラットフォーム「モダン」アプリケーションとマイクロソフト プラットフォーム
「モダン」アプリケーションと マイクロソフト プラットフォーム
 
HDInsight によるビッグ データ ソリューションの開発
HDInsight によるビッグ データ ソリューションの開発HDInsight によるビッグ データ ソリューションの開発
HDInsight によるビッグ データ ソリューションの開発
 
マルチ テナント クラウド アプリケーションの設計手法
マルチ テナント クラウド アプリケーションの設計手法マルチ テナント クラウド アプリケーションの設計手法
マルチ テナント クラウド アプリケーションの設計手法
 
これまでのアーキテクチャの変遷と今後の技術戦略
これまでのアーキテクチャの変遷と今後の技術戦略これまでのアーキテクチャの変遷と今後の技術戦略
これまでのアーキテクチャの変遷と今後の技術戦略
 
アーキテクチャの重要性: Microsoft がご提供できる価値
アーキテクチャの重要性: Microsoft がご提供できる価値アーキテクチャの重要性: Microsoft がご提供できる価値
アーキテクチャの重要性: Microsoft がご提供できる価値
 
Windows Azure アプリケーション設計を賢く行うための基本知識
Windows Azure アプリケーション設計を賢く行うための基本知識Windows Azure アプリケーション設計を賢く行うための基本知識
Windows Azure アプリケーション設計を賢く行うための基本知識
 
Windows Azure Appfabric as "Middleware as a Services"
Windows Azure Appfabric as "Middleware as a Services"Windows Azure Appfabric as "Middleware as a Services"
Windows Azure Appfabric as "Middleware as a Services"
 

JAZUG 第2回 CDP 勉強会 クラウドデザインパターン 紹介