SlideShare a Scribd company logo
1 of 39
Download to read offline
クラウドデザインパターンから始め
るクラウドの利点と弱点の理解
~提案から設計・開発・保守に活かす!~
2015.2.19 Developer Summit 19-E-1
株式会社ネクストスケープ
アーキテクト
上坂貴志
アジェンダ
• AWS, Azureのクラウドデザインパターンの違い
• AWSクラウドデザインパターンについて
1. 入門パターン
① 仮想サーバー
② オートスケーリング&ロードバランサー
③ Webストレージ
④ CDN
2. クラウド利点活用パターン
① 高可用
② スケーリング
③ WebStorage
④ その他
3. 今回紹介しなかったパターン
4. まとめ
• Azureクラウドデザインパターンについて
1. SLA100%未達への対処
2. スケーリングへの対処
3. 今回紹介しなかったパターン
4. まとめ
自己紹介
• 上坂貴志(うえさかたかし)
• 学生時代にWindows95発売してたっけ?な年齢
• 学生時代のアルバイトがプログラマーだったのが運のつき
• 保守運用があまりに辛くて、どうしたものかとWebを彷徨って
いた頃に流行っていたのがITアーキテクトという言葉
• これぞ銀の弾丸か!と思ってITアーキテクトになろうとそれ以
来、孤軍奮闘
• そんな訳でいまだにアーキテクチャと格闘しています。(もは
や趣味か)
• ここ数年はクラウドどっぷりなシステム開発に従事
• 機会があればセッションしてます
• 株式会社NEXTSCAPE
• このセッションはACE(Azure Council Experts)の
枠です。
AWSクラウドデザインパターンと
Azureクラウドデザインパターンの違い
AWS クラウドデザインパターン
• AWS, Azureのクラウドデザインパターンの違い
• AWSクラウドデザインパターンについて
1. 入門パターン
① 仮想サーバー
② オートスケーリング&ロードバランサー
③ Webストレージ
④ CDN
2. クラウド利点活用パターン
① 高可用
② スケーリング
③ WebStorage
④ その他
3. 今回紹介しなかったパターン
4. まとめ
• Azureクラウドデザインパターンについて
1. SLA100%未達への対処
2. スケーリングへの対処
3. 今回紹介しなかったパターン
4. まとめ
Snapshot パターン
Ondemand Disk パターン
ScaleUp パターン
Stamp パターン
仮想サーバー
AMI
SnapshotEBS
EC2
ブート
領域
EBS
データ
領域
Snapshot
EBS
データ
領域
新たな仮想ディスクで
復元時にサイズアップ
EC2
Small
EC2
xLarge
起動
インスタンスタイプ変更
入門パターン
マシンイメージとして登録
EBS(仮想ディスク)
EC2仮想サーバー
AMI(マシンイメージ)
Snapshot
(EBSのスナップショット)
ポイント
• 独自マシンイメージを作れる
• マシンイメージを元に複数の仮想サーバー
を立ち上げられる
• 後からマシンのスペックを変えられる
• 後からデータ容量を増やせる
オートスケーリング&ロードバランサー
入門パターン
ELB
EC2
AMI
CloudWatchAlarm
EC2
EC2仮想サーバー
AMI(マシンイメージ)
ロードバランサー
CloudWatchAlarm(監視通知
サービス)
起動
EC2
起動
監視
MultiServer パターン
ELB
EC2 EC2
Auto Scaling Group
Scale Out パターン
ポイント
• メトリクスを元に仮想サーバーの数を自動的に調整
するオートスケーリングはクラウドの最大の特徴
• オートスケーリングとロードバランサーの組み合わ
せが鉄板
Webストレージ
入門パターン
Amazon S3 EC2
PNG
MP4
html
WebStorage パターン
EC2 Amazon S3
Private Distribution パターン
認証Token
取得
Token認証付
きでアクセス
EC2仮想サーバー
Amazon S3(Webストレージ)
ポイント
• Webストレージは簡易Webサーバーとして
の機能がある
• Token認証URLによるアクセス制限をかけ
ることができる
CDN(Contents Delivery Network)
入門パターン
EC2 Amazon S3
Private Cache Distribution パターン
制限付
URL取得
制限付URLで
アクセス
CloudFront
EC2 Amazon S3
URL Rewrite パターン
CloudFront
Upload(同期)
PNG
MP4
HTML中の静的コ
ンテンツのURLを
CDNのURLに書き
換える
EC2仮想サーバー
Amazon S3(Webストレージ)
CloudFront(CDN)
ポイント
• Webストレージの前にCDNをおく構成は
クラウドの典型的パターンの一つ
• アクセス制限をかけたい場合はCDNの
Token認証URL機能を使用
クラウド利点活用パターン
高可用性パターン
Multi-Datacenter パターン
ELB
EC2
Availability Zone - A
EC2
Availability Zone - B
Route 53
Server Swapping パターン
EC2
AMI
EBS
データ EC2
マシンイメージを
作成しておく
①障害発生!
②新しい仮想サー
バー起動
③マウント
クラウド利点活用パターン
EC2仮想サーバー
Amazon Route53(DNSサービス)
ロードバランサー
EBS(仮想ディスク)
AMI(マシンイメージ)
or
ポイント
• DR構成の作成がとても簡単
• マシンイメージさえ作っておけば、障害が
起きてもなんとかなる
スケーリングパターン
クラウド利点活用パターン
SQS
Amazon EC2
message
Amazon EC2
message
SQS
Amazon EC2
messagemessage
Queuing Chain パターン
EC2仮想サーバー
ロードバランサー
EBS(仮想ディスク)
AMI(マシンイメージ) SQS(SimpleQueueサービス)
ポイント
• キューを上手に使って高負荷のタスクだけ
をスケールアウト
• キューとオートスケーリングの組み合わせ、
これ最強。課金低く、処理は速く!
Job Observer パターン
Auto Scaling Group
EC2
Queue
Message
Amazon SQS
Auto Scaling Group
EC2
Scaling
Policies
CloudWatchAlarm
①キューの閾値
をチェック
追加
Bootstrap パターン
スケーリングパターン
クラウド利点活用パターン
AMI
EC2
Amazon S3
①起動
②設定値読み込み
Gitなど外部
サービス
③設定
WAF Proxy パターン
ELB
WAF
Proxy
WAF
Proxy
EC2 EC2
WEB WEB
EC2
Auto Scaling Group
ポイント
• マシンイメージの更新についても考えてお
かないと、後で苦労する
• 何も考えずにスケールアウトすると、有償
のアプリケーションのライセンス費用が恐
ろしいことになる
EC2仮想サーバー
ロードバランサー
AMI(マシンイメージ)
Amazon S3(Webストレージ)
WebStorage
Web Storage Archive パターン Write Proxy パターン Storage Index パターン
EC2
Amazon S3
ログ
削除
アーカイブ
EC2
ログ
削除
アーカイブ
Amazon S3
EC2
①アップロード
②受信(圧縮して
あったら解凍)
③高速プロトコル
で転送
クラウド利点活用パターン
DynamoDB(KVS)
EC2 Amazon S3 EC2
①アップロード
②保存
③メタ情
報を格納
④検索
⑤メタ情報を検
索してS3のパ
スを取得
⑥取得
ポイント
• WebStorageは安いことが最大の売り
• でも書き込みが遅い(その代わりに三重化
されており、データ損失しない)
• 柔軟な検索を行うためには一工夫が必要
EC2仮想サーバー
Amazon S3(Webストレージ)
DynamoDB(KeyValueストア)
今回ご紹介しなかったパターン達
• Scheduled Scale Out パターン
 スケールイン・アウトをメトリクスではなく、設定したスケジュールを元に行うこ
とで、あらかじめ予測された高負荷に備える
• Scheduled AutoScaling パターン
 仮想サーバーの立ち上げ、削除を時刻を元に行う(日次・月次バッチなどに用い
る)
• Cache Distributionパターン
 CDNを用いて、地理的に近い箇所からの配信を可能に。CDNそのものの機能。
• DB Replicationパターン
 Multi-AZによるHA構成は、MySQL、PostgresSQL, Oracleだとウィーザードで選
択することで簡単に設定できるが、SQLServerにはそのオプションがない。ひどい
扱い。
• Read Replicaパターン
 読み取り専用のレプリカの作成によるパフォーマンス改善。こういう機能があるよ、
という説明。右クリックで簡単作成可能。
 同期はマスターが更新された後に非同期にレプリカに同期されるので、マスターと
は内容がずれちゃうことを前提にしないといけないです。
今回ご紹介しなかったパターン達
• Floating IPパターン
 仮想サーバーは起動しなおすとIPが変わってしまう。ElasticIPを使うと固定のIPを振
れる。障害発生時にはこのIPを他のサーバーに割り当てることで素早い復旧を可能
とする。
• Sharding Writeパターン
 DBサーバーにシャーディングソフトウェアをインストールし、水平分割したデータ
のバックエンドにDBサービスを利用する
• Stack Deploymentパターン
 AWSのCloudFormationサービスそのもの。インスタンスの作成、その作成順をテン
プレート化しておき、それを起動することでまとまった環境を作成可能にする。
Azureではオートメーションがこれに相当する。
• Weighted Transitionパターン
 Route 53の重み付けラウンドロビンの使い方例。オンプレからクラウドへ、または
クラウド上のシステム全体を他のリージョンに移すときとかに用いる。Azure Traffic
Managerでも同じ機能あり。
• CloudHubパターン
 VPNハブをクラウド上の仮想ネットワークサービスを用いて構築する。
今回ご紹介しなかったパターン達
• State Sharingパターン
 スケールアウト/イン時に備え、セッション情報をKVSに格納する。
• Cache Proxyパターン
 Webサーバーの前段にCacheサーバーを配置する。(CDNじゃなくてCacheサー
バー。)
• Rewrite Proxyパターン
 URL Rewriteパターンを用いた時に、静的コンテンツのURLの書き換えのための
Proxyサーバーを用意する。
 Proxyサーバーをスケーリングできるようにするために、Proxyサーバーの前段
にロードバランサーを置く。
• Inmemory DB Cacheパターン
 キャッシュサービスを用いて、クエリ結果を保存する
• Functional Firewall パターン
 セキュリティグループという仮想的なファイアウォール機能がある。
 Web,DBなど機能別にサーバーをグルーピングして、IPアドレスやポートで設定する。
今回ご紹介しなかったパターン達
• Operational Firewall パターン
 セキュリティグループを使うファイアウォール機能を利用して、各組織がアクセス可能なリソー
スを制限する。
 セキュリティグループを複数適用できる、という使用例。
• Backnet パターン
 管理用ネットワークとしてNICを公開用とは別にもう一つ用意する。(Azureでも複数NICはサ
ポート済み。ただし管理ポータルからは設定不可)
• Rename Distribution パターン
 CDNにキャッシュされたデータをパージするのではなく、ファイル名を変更することでクライア
ントに最新データを送出する。ベースコンテンツはキャッシュしないか、TTLを短く。(JSファ
イルや画像の後ろのクエリ文字列でバージョン管理と似た発想)
• Ondemand NAT
 セキュアなシステムでは、各サーバーのインターネットへのアクセス(アウトバウンド)を禁止
していることが多い。その場合、OSパッケージのアップデートなど、インターネットへアクセス
する必要があるメンテナンス作業ができなくなる。
 VPC(Azureでいうところの仮想ネットワーク)でPrivateCloudを構築した場合に、OSやミドル
ウェアのアップデートを行うために期間限定のNATサーバーを立ち上げる。更新終了後は元に戻
す、というパターン。
• Multi Load Balancerパターン
 デバイスごとにSSL証明書を変えたい、セッション設定を変えたい場合に、複数の仮想ロードバ
ランサーをそれぞれ用に用意する
今回ご紹介しなかったパターン達
• Direct Hosting パターン
 スケールイン・アウトをメトリクスではなく、設定したスケジュールを元
に行うことで、あらかじめ予測された高負荷に備える
• Direct Object Upload パターン
 仮想サーバーの立ち上げ、削除を時刻を元に行う(日次・月次バッチなど
に用いる)
• Clone Server パターン
 Auto Scallingグループによる設定をしていない場合に手動でスケーリング
するパターン。
• Priority Queueパターン
 処理の優先度付けをキューで実現する。こっちのキューは優先度高、だか
ら仮想サーバー沢山。もう1つのキューは優先度低、だから仮想サーバー
少なめ、とすることで差を出す。
• NFS Sharingパターン
 読み書きが必要な共通のコンテンツは外だししておかないと、サーバーに
よって挙動が変わってしまうから気を付けましょう、というパターン。
今回ご紹介しなかったパターン達
• NFS Replicaパターン
 NFS Sharingパターンの発展形。NFSがボトルネックになってしまった場合、
各スケールした仮想サーバーにデータをプッシュして同期させる。
• Cloud DIパターン
 スケールアウトしたサーバごとに異なる固有情報を持たせたい場合(DB
の参照先とか、マシン名とか)、サーバーにつけたタグを元に固有情報を
外部に保存しておき、アプリケーションがそれを元にセットアップする、
というパターン。
• Deep Health Checkパターン
 システム全体としての稼働を保証するために、使用している全サービスを
上から下までテストした結果をWebステータスとして返す。システムに問
題がある場合はELBで正常なシステムに振り分ける。
• Monitoring Integrationパターン
 クラウドのサービスが公開しているメトリクスだけだと仮想サーバー内の
アプリケーションログやミドルウェアの情報を取得できないので別途監視
ソフトを入れた仮想サーバーが必要。モニタリング先が複数になって管理
が面倒なので1つにまとめる。
AWSパターンから見たクラウドの利点と弱点
利点
1. スモールスタートが可能である
 マシンイメージを元にスケーリングできる
 スケールアップも可能(水平じゃなくたってOK)
2. 複数のサービスを組み合わせれば、なんでもできちゃう
 パフォーマンスへの対応もCDNで、とか
3. 高可用性の担保がとても簡単
 オンプレで複数サーバー用意するより簡単
 DR構成も簡単
4. リリース後のパフォーマンス対応がしやすい
 キューを用いて高負荷のタスクだけを切り出してスケールアウトすることでス
ループットをあげることができる
5. Webストレージはとにかく便利
 大容量、安い、簡易的なWebサーバーになる
AWSパターンから見たクラウドの利点と弱点
弱点
1. 水平スケーリングとの相性の悪いものがある
 元となるマシンイメージの変更への対応を最初から考えおかなければな
らない
 有償ソフトのコストへの考慮
2. Webストレージへの書き込み速度は遅い
 サービスイン時までに大量のコンテンツをアップロードしなければ
ならない場合は致命的なことがある
Azure クラウドデザインパターン
• AWS, Azureのクラウドデザインパターンの違い
• AWSクラウドデザインパターンについて
1. 入門パターン
① 仮想サーバー
② オートスケーリング&ロードバランサー
③ Webストレージ
④ CDN
2. クラウド利点活用パターン
① 高可用
② スケーリング
③ WebStorage
④ その他
3. 今回紹介しなかったパターン
4. まとめ
• Azureクラウドデザインパターンについて
1. SLA100%未達への対処
2. スケーリングへの対処
3. 今回紹介しなかったパターン
4. まとめ
SLA100%未達への対処
SLA100%未達への対処
Retry パターン
Circuit Breaker パターン
SLA100%未達への対処
成功の閾値に
達した
失敗の閾値に
達した
操作が失敗した
タイムアウトタ
イマーが期限切
れになった
SLA100%未達への対処
長時間トラン
ザクションの
各手順の逆向
きの操作を記
録
フライトF1の
座席を予約
フライトF2の
座席を予約
フライトF3の
座席を予約
ホテルH1の
部屋を予約
ホテルH2の
部屋を予約
補正ロジック 補正ロジック 補正ロジック 補正ロジック 補正ロジック
旅行プランをキャンセルする補正トランザクション
逆向きの操作につい
てビジネスルールと
して適用する補正ロ
ジック
Compensating Transaction パターン
旅行プラン作成の操作手順
SLA100%未達への対処
サービスの活用
Health Endpoint Monitoring パターン
スケーリング時の問題対処
スケーリング時の問題対処
OnStart時
にリソース
の初期化
Runでタスク
を作成して完
了を待つ
OnStop時にリソース
のクリーンアップ
Compute Resource Consolidation パターン
スケーリング時の問題対処
External Configuration Store パターン
外部の構成ストア
代替オプション
スケーリング時の問題対処
Runtime Reconfiguration パターン
構成情報
update
構成情報
ファイル
実行中に
変更を反映
アプリケーション
再起動
実行中の反映が
できないので
変更をキャンセル
今回ご紹介しなかったパターン達
• 1.Cache-Asideパターン
 リード・スルー(キャッシュがない場合はデータソースから読み込み)、ライト・
スルー(データ・ソースへの変更時にキャッシュを破棄)に対応していないキャッ
シュを使用する場合の実装パターン。
 AWSパターンのInmemory Db Cacheパターンと同じに見えるが、こちらはデータ更
新時の挙動まで考慮してある。 (データソースだけ更新し、キャッシュは削除する)
• 6.Command and Query Responsibility Segregation(CQRS)パターン
 データの読み取りと更新処理を完全に分離するパターン。表示のパフォーマン
スを最大化できるので最近流行りのパターン。
 結果整合性が適用できる場合にしか用いないこと。
 一般的にEventSourcingパターンと同時に使われる。
• 7.Event Sourcingパターン
 CRUDシステムのせいでパフォーマンス、応答性に問題がある場合で、複数
ユーザーによるデータ更新の競合がある場合に用いる。
 リソースに対する操作を保存しておく。
 リソースに対する操作の結果は、マテリアライズドビューとして保存して外部
からは使用する。
 CQRSパターンと、MaterializedViewパターンと組み合わせるのが王道。
今回ご紹介しなかったパターン達
• 9.Federated Identity パターン
 認証機能を外部に任せ開発ボリュームを減らす。またユーザー管理の
運用コストを下げる。シングルサインオンの実現。
 今時のGoogle認証とかの外部認証を使用する、もしくは自前で認証
サーバーを持つ形になる。
• 10.Gatekeeper パターン
 不正なリクエストからアプリケーションやサービスを保護するために、
前段にゲートキーパーを挟みこむ。
 構成的にはAWSパターンのWAF Proxyパターンと全く同じ。目的が異
なるが。
• 12.Index Table パターン
 データストアはプライマリインデックスを持つが、RDBMSのようにセ
カンダリインデックスを持つとは限らない(例えばNoSQL)。このパ
ターンではセカンダリインデックスを元のデータ(FactTable)とは別
のインデックステーブルに保持することで、検索の高速化を図る。
• 14.Materialized View パターン
 データソースに対して、複雑なクエリを返すと時間がかかるので、あ
らかじめ結果を保持しておく。
今回ご紹介しなかったパターン達
• 20.Scheduler Agent Supervisor パターン
 Retryで済まないような永続的なエラーが発生した場合に、そのエラーに
対する挙動を決定するための戦略パターン。3つのロールを用いて構成す
る。
1. スケジューラー。ワークフローを構成し起動する。各タスクの状態をStore
に格納。
2. エージェント。サービスの呼び出しを担当する。タスクによって呼ばれる。
ほぼタスクと同義。
3. スーパーバイザー。Storeされたタスクの状態を監視。処理失敗のタスクの挙動を
決定する。
• 21.Sharding パターン
 単一DBの性能限界がきたら、DBもスケールアウトすることになる
(Sharding)。だが、欲しいデータはどこにある?
 Shardキーを外部テーブルに持つ。
1. ルックアップ…Shradキー1つ1つが、どこのShardにデータがあるかを持つ。
データの管理が必要。SPOFになるのでレプリカしないといけない。
2. レンジ…データのレンジ(例えば月で)で、どこのShardにデータがあるかを持つ。
ホットスポットになりやすい。(特定にShardにデータが集中する)
3. ハッシュ…ShardキーをHash値とする。Shard別のデータが均等に分散される。
データの管理は必要ない。ただ計算するだけだから。データの場所はランダムな
のでリバランスが難しい。
今回ご紹介しなかったパターン達
• 23.Throttling パターン
 いかにAutoScallingで大量リクエストをさばけるとしても、インスタンスを立ち上げてい
る途中は処理できない。SLAを担保するためにはそのインターバル中にサービスがリソー
ス不足となることを防ぐために、大量リクエストがサービスに到着する前にリクエストを
拒否する。
 一般的なWebサーバーならThrottling設定ができる。
Azureパターンから見たクラウドの利点と弱点
• 弱点
1. SLA100%ではない
 いつサービスが落ちていても良いような実装をしておかなければなら
ない。
 Retryし続けてはいけない。呼び出し元のリソースを圧迫しないために
もいつまで呼び出し続けるのか、いつになったらまた呼び出すのか、
仕掛けを入れておく必要がある。
 外部サービスを使用することが多いため、トランザクションはかけら
れない。どうやって元に戻すのか、方法を考える必要がある。
 結果整合性の採用検討を。(逆に全てに採用してはダメ)
 複数のサービスを組み合わせる、ということはSLAはどんどん下がっ
ていく。システムが正常に稼動していることを確認するためには呼び
出し先まで含めて常にチェックしなければならない。
Azureパターンから見たクラウドの利点と弱点
• 弱点
2. 安易なスケーリングは危険
タスクを細かく分割し過ぎると、とてもコストがかかる。
タスクをキューでつないでスケーリング、は確かにクラウ
ドの鉄板パターンだけどコストと無関係ではなくなった、
ということを忘れずに。
• でも組み合わせをあらかじめ決めるのはかなり難しい・・・。
» 事実上不可能。やってみなければわからないので、サンプル
作成を。
» 可能なら、後で分離や統合ができるようなソフトウェアアー
キテクチャを構築
スケーリングをする、ということは管理対象のサーバーが
莫大な量になるということ。
• アプリケーションの構成情報は、外部にもち、かつ動的に変更し
たい場合は変更イベントをハンドリングして即時反映するのか、
再起動が必要なのか。実装が必要。
ご清聴ありがとうございました!
株式会社NEXTSCAPE
上坂貴志でした!

More Related Content

What's hot

AWSクラウドデザインパターン VPC移行編
AWSクラウドデザインパターン VPC移行編AWSクラウドデザインパターン VPC移行編
AWSクラウドデザインパターン VPC移行編Yasuhiro Araki, Ph.D
 
Microsoft Azure超超入門_20140412
Microsoft Azure超超入門_20140412Microsoft Azure超超入門_20140412
Microsoft Azure超超入門_20140412Sayaka Shimada
 
AWS Cloud Design Pattern for Enterprise
AWS Cloud Design Pattern for EnterpriseAWS Cloud Design Pattern for Enterprise
AWS Cloud Design Pattern for EnterpriseAkio Katayama
 
Azure IaaS update (2019年1月~2月 発表版)
Azure IaaS update (2019年1月~2月 発表版)Azure IaaS update (2019年1月~2月 発表版)
Azure IaaS update (2019年1月~2月 発表版)Takamasa Maejima
 
20141004 青森ハンズオン Azure概要
20141004 青森ハンズオン Azure概要20141004 青森ハンズオン Azure概要
20141004 青森ハンズオン Azure概要Sunao Tomita
 
それでもボクはMicrosoft Azure を使う
それでもボクはMicrosoft Azure を使うそれでもボクはMicrosoft Azure を使う
それでもボクはMicrosoft Azure を使うMasaki Takeda
 
[修羅の街からこんにちわ♪JAZUG連動企画 by ふくあず] Windows Azureクラウド デザイン パターン
[修羅の街からこんにちわ♪JAZUG連動企画 by ふくあず] Windows Azureクラウド デザイン パターン[修羅の街からこんにちわ♪JAZUG連動企画 by ふくあず] Windows Azureクラウド デザイン パターン
[修羅の街からこんにちわ♪JAZUG連動企画 by ふくあず] Windows Azureクラウド デザイン パターンNaoki (Neo) SATO
 
Amazon RDS (MySQL) 入門
Amazon RDS (MySQL) 入門Amazon RDS (MySQL) 入門
Amazon RDS (MySQL) 入門Manabu Shinsaka
 
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザイン
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザインオープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザイン
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した WebシステムデザインDaisuke Masubuchi
 
確実な再起動からはじめる クラウドネイティブオペレーション
確実な再起動からはじめる クラウドネイティブオペレーション確実な再起動からはじめる クラウドネイティブオペレーション
確実な再起動からはじめる クラウドネイティブオペレーションToru Makabe
 
[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...
[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...
[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...Trainocate Japan, Ltd.
 
20130519 JAWS-UG青森 美人CDP/CDP男子「も」2.0へ
20130519 JAWS-UG青森 美人CDP/CDP男子「も」2.0へ20130519 JAWS-UG青森 美人CDP/CDP男子「も」2.0へ
20130519 JAWS-UG青森 美人CDP/CDP男子「も」2.0へ真吾 吉田
 
20130520 実例で見るAWSの特徴と活用方法@JAWS-UG青森 第1回勉強会
20130520 実例で見るAWSの特徴と活用方法@JAWS-UG青森 第1回勉強会20130520 実例で見るAWSの特徴と活用方法@JAWS-UG青森 第1回勉強会
20130520 実例で見るAWSの特徴と活用方法@JAWS-UG青森 第1回勉強会Serverworks Co.,Ltd.
 
CDP(キャンペーンサイト編)
CDP(キャンペーンサイト編)CDP(キャンペーンサイト編)
CDP(キャンペーンサイト編)Hiroyasu Suzuki
 
Azure使いから見たAWSの良いところ
Azure使いから見たAWSの良いところAzure使いから見たAWSの良いところ
Azure使いから見たAWSの良いところMasaki Yamamoto
 
今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎Trainocate Japan, Ltd.
 
Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)Osamu Monoe
 
Azure VMware Solution by CloudSimple 概要
Azure VMware Solution by CloudSimple 概要Azure VMware Solution by CloudSimple 概要
Azure VMware Solution by CloudSimple 概要Takamasa Maejima
 
デスクトップ仮想化の実践 - powered by Windows Server 2016 & Azure - (Microsoft de:code 2016)
デスクトップ仮想化の実践 - powered by Windows Server 2016 & Azure - (Microsoft de:code 2016)デスクトップ仮想化の実践 - powered by Windows Server 2016 & Azure - (Microsoft de:code 2016)
デスクトップ仮想化の実践 - powered by Windows Server 2016 & Azure - (Microsoft de:code 2016)Takamasa Maejima
 

What's hot (20)

AWSクラウドデザインパターン VPC移行編
AWSクラウドデザインパターン VPC移行編AWSクラウドデザインパターン VPC移行編
AWSクラウドデザインパターン VPC移行編
 
Microsoft Azure超超入門_20140412
Microsoft Azure超超入門_20140412Microsoft Azure超超入門_20140412
Microsoft Azure超超入門_20140412
 
AWS Cloud Design Pattern for Enterprise
AWS Cloud Design Pattern for EnterpriseAWS Cloud Design Pattern for Enterprise
AWS Cloud Design Pattern for Enterprise
 
Azure IaaS update (2019年1月~2月 発表版)
Azure IaaS update (2019年1月~2月 発表版)Azure IaaS update (2019年1月~2月 発表版)
Azure IaaS update (2019年1月~2月 発表版)
 
20141004 青森ハンズオン Azure概要
20141004 青森ハンズオン Azure概要20141004 青森ハンズオン Azure概要
20141004 青森ハンズオン Azure概要
 
それでもボクはMicrosoft Azure を使う
それでもボクはMicrosoft Azure を使うそれでもボクはMicrosoft Azure を使う
それでもボクはMicrosoft Azure を使う
 
[修羅の街からこんにちわ♪JAZUG連動企画 by ふくあず] Windows Azureクラウド デザイン パターン
[修羅の街からこんにちわ♪JAZUG連動企画 by ふくあず] Windows Azureクラウド デザイン パターン[修羅の街からこんにちわ♪JAZUG連動企画 by ふくあず] Windows Azureクラウド デザイン パターン
[修羅の街からこんにちわ♪JAZUG連動企画 by ふくあず] Windows Azureクラウド デザイン パターン
 
Amazon RDS (MySQL) 入門
Amazon RDS (MySQL) 入門Amazon RDS (MySQL) 入門
Amazon RDS (MySQL) 入門
 
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザイン
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザインオープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザイン
オープンソーステクノロジー対応の App Service と Azure Database Servicesを活用した Webシステムデザイン
 
確実な再起動からはじめる クラウドネイティブオペレーション
確実な再起動からはじめる クラウドネイティブオペレーション確実な再起動からはじめる クラウドネイティブオペレーション
確実な再起動からはじめる クラウドネイティブオペレーション
 
[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...
[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...
[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...
 
20130519 JAWS-UG青森 美人CDP/CDP男子「も」2.0へ
20130519 JAWS-UG青森 美人CDP/CDP男子「も」2.0へ20130519 JAWS-UG青森 美人CDP/CDP男子「も」2.0へ
20130519 JAWS-UG青森 美人CDP/CDP男子「も」2.0へ
 
20130520 実例で見るAWSの特徴と活用方法@JAWS-UG青森 第1回勉強会
20130520 実例で見るAWSの特徴と活用方法@JAWS-UG青森 第1回勉強会20130520 実例で見るAWSの特徴と活用方法@JAWS-UG青森 第1回勉強会
20130520 実例で見るAWSの特徴と活用方法@JAWS-UG青森 第1回勉強会
 
CDP(キャンペーンサイト編)
CDP(キャンペーンサイト編)CDP(キャンペーンサイト編)
CDP(キャンペーンサイト編)
 
Azure使いから見たAWSの良いところ
Azure使いから見たAWSの良いところAzure使いから見たAWSの良いところ
Azure使いから見たAWSの良いところ
 
今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎今こそ知りたい!Microsoft Azureの基礎
今こそ知りたい!Microsoft Azureの基礎
 
Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)
 
Azure VMware Solution by CloudSimple 概要
Azure VMware Solution by CloudSimple 概要Azure VMware Solution by CloudSimple 概要
Azure VMware Solution by CloudSimple 概要
 
デスクトップ仮想化の実践 - powered by Windows Server 2016 & Azure - (Microsoft de:code 2016)
デスクトップ仮想化の実践 - powered by Windows Server 2016 & Azure - (Microsoft de:code 2016)デスクトップ仮想化の実践 - powered by Windows Server 2016 & Azure - (Microsoft de:code 2016)
デスクトップ仮想化の実践 - powered by Windows Server 2016 & Azure - (Microsoft de:code 2016)
 
AWSのNoSQL入門
AWSのNoSQL入門AWSのNoSQL入門
AWSのNoSQL入門
 

Viewers also liked

AWS/Azure二大クラウドプラットフォーム十番勝負
AWS/Azure二大クラウドプラットフォーム十番勝負AWS/Azure二大クラウドプラットフォーム十番勝負
AWS/Azure二大クラウドプラットフォーム十番勝負Takuya Tachibana
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから真吾 吉田
 
20141110 tf azure_iaas
20141110 tf azure_iaas20141110 tf azure_iaas
20141110 tf azure_iaasOsamu Takazoe
 
99999999 azure iaas_newportal版
99999999 azure iaas_newportal版99999999 azure iaas_newportal版
99999999 azure iaas_newportal版Osamu Takazoe
 
Aws提案して、採用されました〜小規模webサービス編
Aws提案して、採用されました〜小規模webサービス編Aws提案して、採用されました〜小規模webサービス編
Aws提案して、採用されました〜小規模webサービス編彰 内山
 
110903 jazug lt_tanaka_pub
110903 jazug lt_tanaka_pub110903 jazug lt_tanaka_pub
110903 jazug lt_tanaka_pubTakayoshi Tanaka
 
Unicode-v11-5
Unicode-v11-5Unicode-v11-5
Unicode-v11-5kmiyako
 
実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターンKuniteru Asami
 
AWSを使用したインフラ構築~遭難防止アプリにおけるインフラ想定~
AWSを使用したインフラ構築~遭難防止アプリにおけるインフラ想定~AWSを使用したインフラ構築~遭難防止アプリにおけるインフラ想定~
AWSを使用したインフラ構築~遭難防止アプリにおけるインフラ想定~Yuto Kudo
 
JAWS-UG CLI専門支部 #13 Azure ADで AWSのManagementConsoleに SSOしてみた (代理認証編)
JAWS-UG CLI専門支部 #13 Azure ADでAWSのManagementConsoleにSSOしてみた(代理認証編)JAWS-UG CLI専門支部 #13 Azure ADでAWSのManagementConsoleにSSOしてみた(代理認証編)
JAWS-UG CLI専門支部 #13 Azure ADで AWSのManagementConsoleに SSOしてみた (代理認証編)Nobuhiro Nakayama
 
Amazon webservice(aws)と他社サーバのコストパフォーマンス比較
Amazon webservice(aws)と他社サーバのコストパフォーマンス比較Amazon webservice(aws)と他社サーバのコストパフォーマンス比較
Amazon webservice(aws)と他社サーバのコストパフォーマンス比較株式会社雲屋ネットワーク
 
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~Ryuta Otaki
 
SQL Server for SharePoint 2013
SQL Server for SharePoint 2013SQL Server for SharePoint 2013
SQL Server for SharePoint 2013Mayumi Mitaki
 
Oracle と sql server 比べてみよう (sql server)
Oracle と sql server 比べてみよう (sql server)Oracle と sql server 比べてみよう (sql server)
Oracle と sql server 比べてみよう (sql server)Masayuki Ozawa
 
クラウド業界、移ってみてWindows Azure中の人になって 分かったこと(仮)
クラウド業界、移ってみてWindows Azure中の人になって分かったこと(仮)クラウド業界、移ってみてWindows Azure中の人になって分かったこと(仮)
クラウド業界、移ってみてWindows Azure中の人になって 分かったこと(仮)Ryusaburo Tanaka
 
スカイアーチセミナー:【AWS基礎講座】提案で差をつける3つの条件:150325
スカイアーチセミナー:【AWS基礎講座】提案で差をつける3つの条件:150325スカイアーチセミナー:【AWS基礎講座】提案で差をつける3つの条件:150325
スカイアーチセミナー:【AWS基礎講座】提案で差をつける3つの条件:150325株式会社スカイアーチネットワークス
 
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)Microsoft Azure Japan
 

Viewers also liked (20)

AWS/Azure二大クラウドプラットフォーム十番勝負
AWS/Azure二大クラウドプラットフォーム十番勝負AWS/Azure二大クラウドプラットフォーム十番勝負
AWS/Azure二大クラウドプラットフォーム十番勝負
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから
 
20141110 tf azure_iaas
20141110 tf azure_iaas20141110 tf azure_iaas
20141110 tf azure_iaas
 
99999999 azure iaas_newportal版
99999999 azure iaas_newportal版99999999 azure iaas_newportal版
99999999 azure iaas_newportal版
 
Strategy入門
Strategy入門Strategy入門
Strategy入門
 
Aws提案して、採用されました〜小規模webサービス編
Aws提案して、採用されました〜小規模webサービス編Aws提案して、採用されました〜小規模webサービス編
Aws提案して、採用されました〜小規模webサービス編
 
110903 jazug lt_tanaka_pub
110903 jazug lt_tanaka_pub110903 jazug lt_tanaka_pub
110903 jazug lt_tanaka_pub
 
Unicode-v11-5
Unicode-v11-5Unicode-v11-5
Unicode-v11-5
 
FukuokaCloud_Azure
FukuokaCloud_AzureFukuokaCloud_Azure
FukuokaCloud_Azure
 
実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン
 
AWSを使用したインフラ構築~遭難防止アプリにおけるインフラ想定~
AWSを使用したインフラ構築~遭難防止アプリにおけるインフラ想定~AWSを使用したインフラ構築~遭難防止アプリにおけるインフラ想定~
AWSを使用したインフラ構築~遭難防止アプリにおけるインフラ想定~
 
JAWS-UG CLI専門支部 #13 Azure ADで AWSのManagementConsoleに SSOしてみた (代理認証編)
JAWS-UG CLI専門支部 #13 Azure ADでAWSのManagementConsoleにSSOしてみた(代理認証編)JAWS-UG CLI専門支部 #13 Azure ADでAWSのManagementConsoleにSSOしてみた(代理認証編)
JAWS-UG CLI専門支部 #13 Azure ADで AWSのManagementConsoleに SSOしてみた (代理認証編)
 
Amazon webservice(aws)と他社サーバのコストパフォーマンス比較
Amazon webservice(aws)と他社サーバのコストパフォーマンス比較Amazon webservice(aws)と他社サーバのコストパフォーマンス比較
Amazon webservice(aws)と他社サーバのコストパフォーマンス比較
 
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
 
introduction_to_only_SQL
introduction_to_only_SQLintroduction_to_only_SQL
introduction_to_only_SQL
 
SQL Server for SharePoint 2013
SQL Server for SharePoint 2013SQL Server for SharePoint 2013
SQL Server for SharePoint 2013
 
Oracle と sql server 比べてみよう (sql server)
Oracle と sql server 比べてみよう (sql server)Oracle と sql server 比べてみよう (sql server)
Oracle と sql server 比べてみよう (sql server)
 
クラウド業界、移ってみてWindows Azure中の人になって 分かったこと(仮)
クラウド業界、移ってみてWindows Azure中の人になって分かったこと(仮)クラウド業界、移ってみてWindows Azure中の人になって分かったこと(仮)
クラウド業界、移ってみてWindows Azure中の人になって 分かったこと(仮)
 
スカイアーチセミナー:【AWS基礎講座】提案で差をつける3つの条件:150325
スカイアーチセミナー:【AWS基礎講座】提案で差をつける3つの条件:150325スカイアーチセミナー:【AWS基礎講座】提案で差をつける3つの条件:150325
スカイアーチセミナー:【AWS基礎講座】提案で差をつける3つの条件:150325
 
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)
 

Similar to クラウドデザインパターンから始めるクラウドの利点と弱点の理解~提案から設計・開発・保守に活かす!~

これからのクラウドネイティブアプリケーションの話をしよう
これからのクラウドネイティブアプリケーションの話をしようこれからのクラウドネイティブアプリケーションの話をしよう
これからのクラウドネイティブアプリケーションの話をしよう真吾 吉田
 
Scalrご紹介資料 20130404 01
Scalrご紹介資料 20130404 01Scalrご紹介資料 20130404 01
Scalrご紹介資料 20130404 01Haruhiko KAJIKAWA
 
実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターンHiroyasu Suzuki
 
Awsのインフラをデザインパターン駆使して設計構築
Awsのインフラをデザインパターン駆使して設計構築Awsのインフラをデザインパターン駆使して設計構築
Awsのインフラをデザインパターン駆使して設計構築Monstar Lab Inc.
 
AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - SORACOM, INC
 
AWS re:Invent 2018 re:Cap
AWS re:Invent 2018 re:CapAWS re:Invent 2018 re:Cap
AWS re:Invent 2018 re:Cap真吾 吉田
 
20130226 Amazon Web Services 勉強会(新宿)
20130226 Amazon Web Services 勉強会(新宿)20130226 Amazon Web Services 勉強会(新宿)
20130226 Amazon Web Services 勉強会(新宿)真吾 吉田
 
Architecting on Alibaba Cloud - 超基礎編 -
Architecting on Alibaba Cloud - 超基礎編 -Architecting on Alibaba Cloud - 超基礎編 -
Architecting on Alibaba Cloud - 超基礎編 -真吾 吉田
 
CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)Satoshi Shimazaki
 
Microsoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondockerMicrosoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondockerTsukasa Kato
 
AWSによるWebサイト構築と運用 - concrete5 編 -
AWSによるWebサイト構築と運用 - concrete5 編 -AWSによるWebサイト構築と運用 - concrete5 編 -
AWSによるWebサイト構築と運用 - concrete5 編 -Shuji Watanabe
 
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Yoichi Kawasaki
 
201910 azure seminar
201910 azure seminar201910 azure seminar
201910 azure seminarSAKURUG co.
 
20130413 JAWS-UG北陸 美人CDP
20130413 JAWS-UG北陸 美人CDP20130413 JAWS-UG北陸 美人CDP
20130413 JAWS-UG北陸 美人CDP真吾 吉田
 
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポートJAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート真吾 吉田
 
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編Amazon Web Services Japan
 
これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門Yuto Takei
 
Moot2013 moca ver0.3
Moot2013 moca ver0.3Moot2013 moca ver0.3
Moot2013 moca ver0.3科 黄
 

Similar to クラウドデザインパターンから始めるクラウドの利点と弱点の理解~提案から設計・開発・保守に活かす!~ (20)

これからのクラウドネイティブアプリケーションの話をしよう
これからのクラウドネイティブアプリケーションの話をしようこれからのクラウドネイティブアプリケーションの話をしよう
これからのクラウドネイティブアプリケーションの話をしよう
 
Scalrご紹介資料 20130404 01
Scalrご紹介資料 20130404 01Scalrご紹介資料 20130404 01
Scalrご紹介資料 20130404 01
 
実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン
 
JAWS DAYS 2015
JAWS DAYS 2015JAWS DAYS 2015
JAWS DAYS 2015
 
Awsのインフラをデザインパターン駆使して設計構築
Awsのインフラをデザインパターン駆使して設計構築Awsのインフラをデザインパターン駆使して設計構築
Awsのインフラをデザインパターン駆使して設計構築
 
AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 -
 
AWS re:Invent 2018 re:Cap
AWS re:Invent 2018 re:CapAWS re:Invent 2018 re:Cap
AWS re:Invent 2018 re:Cap
 
20130226 Amazon Web Services 勉強会(新宿)
20130226 Amazon Web Services 勉強会(新宿)20130226 Amazon Web Services 勉強会(新宿)
20130226 Amazon Web Services 勉強会(新宿)
 
Architecting on Alibaba Cloud - 超基礎編 -
Architecting on Alibaba Cloud - 超基礎編 -Architecting on Alibaba Cloud - 超基礎編 -
Architecting on Alibaba Cloud - 超基礎編 -
 
CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)
 
Microsoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondockerMicrosoft azureで実装するwebserviceondocker
Microsoft azureで実装するwebserviceondocker
 
AWS & cloudpack & CDP
AWS & cloudpack & CDPAWS & cloudpack & CDP
AWS & cloudpack & CDP
 
AWSによるWebサイト構築と運用 - concrete5 編 -
AWSによるWebサイト構築と運用 - concrete5 編 -AWSによるWebサイト構築と運用 - concrete5 編 -
AWSによるWebサイト構築と運用 - concrete5 編 -
 
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
 
201910 azure seminar
201910 azure seminar201910 azure seminar
201910 azure seminar
 
20130413 JAWS-UG北陸 美人CDP
20130413 JAWS-UG北陸 美人CDP20130413 JAWS-UG北陸 美人CDP
20130413 JAWS-UG北陸 美人CDP
 
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポートJAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
JAWS-UGアーキテクチャ専門支部 ServerlessConfレポート
 
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
 
これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門
 
Moot2013 moca ver0.3
Moot2013 moca ver0.3Moot2013 moca ver0.3
Moot2013 moca ver0.3
 

More from 貴志 上坂

Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版貴志 上坂
 
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析貴志 上坂
 
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析貴志 上坂
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル貴志 上坂
 
第5回 cogbot勉強会!
第5回 cogbot勉強会!第5回 cogbot勉強会!
第5回 cogbot勉強会!貴志 上坂
 
2016-11-11 UMTP モデリングフォーラム2016 DDD実践のコツとazureによるモデル実装
2016-11-11 UMTP モデリングフォーラム2016 DDD実践のコツとazureによるモデル実装2016-11-11 UMTP モデリングフォーラム2016 DDD実践のコツとazureによるモデル実装
2016-11-11 UMTP モデリングフォーラム2016 DDD実践のコツとazureによるモデル実装貴志 上坂
 
NS study8 DDD Microservices Azuer Service Fabric
NS study8 DDD Microservices Azuer Service FabricNS study8 DDD Microservices Azuer Service Fabric
NS study8 DDD Microservices Azuer Service Fabric貴志 上坂
 
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~貴志 上坂
 
Ns study Azure IoTHub紹介
Ns study Azure IoTHub紹介Ns study Azure IoTHub紹介
Ns study Azure IoTHub紹介貴志 上坂
 
アルゴリズムから学ぶAzure mlモジュールの使いこなし方 hd-insight編-
アルゴリズムから学ぶAzure mlモジュールの使いこなし方 hd-insight編-アルゴリズムから学ぶAzure mlモジュールの使いこなし方 hd-insight編-
アルゴリズムから学ぶAzure mlモジュールの使いこなし方 hd-insight編-貴志 上坂
 
Azure Machine Learningによるレコメンデーションの設計&実装を公開!~朝日カルチャーセンターの事例から~
Azure Machine Learningによるレコメンデーションの設計&実装を公開!~朝日カルチャーセンターの事例から~Azure Machine Learningによるレコメンデーションの設計&実装を公開!~朝日カルチャーセンターの事例から~
Azure Machine Learningによるレコメンデーションの設計&実装を公開!~朝日カルチャーセンターの事例から~貴志 上坂
 
20150421 QCon Tokyo 2015 Azureが切り開く新時代のソフトウェア開発・設計
20150421 QCon Tokyo 2015 Azureが切り開く新時代のソフトウェア開発・設計20150421 QCon Tokyo 2015 Azureが切り開く新時代のソフトウェア開発・設計
20150421 QCon Tokyo 2015 Azureが切り開く新時代のソフトウェア開発・設計貴志 上坂
 
Enterprise cloud design pattern 大量データ処理アーキテクチャの構築
Enterprise cloud design pattern 大量データ処理アーキテクチャの構築Enterprise cloud design pattern 大量データ処理アーキテクチャの構築
Enterprise cloud design pattern 大量データ処理アーキテクチャの構築貴志 上坂
 
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsiderMoq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider貴志 上坂
 

More from 貴志 上坂 (14)

Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版
 
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
 
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
開発者のための機械学習入門:Azure Machine Learning Studioで構造化データから予測分析
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 
第5回 cogbot勉強会!
第5回 cogbot勉強会!第5回 cogbot勉強会!
第5回 cogbot勉強会!
 
2016-11-11 UMTP モデリングフォーラム2016 DDD実践のコツとazureによるモデル実装
2016-11-11 UMTP モデリングフォーラム2016 DDD実践のコツとazureによるモデル実装2016-11-11 UMTP モデリングフォーラム2016 DDD実践のコツとazureによるモデル実装
2016-11-11 UMTP モデリングフォーラム2016 DDD実践のコツとazureによるモデル実装
 
NS study8 DDD Microservices Azuer Service Fabric
NS study8 DDD Microservices Azuer Service FabricNS study8 DDD Microservices Azuer Service Fabric
NS study8 DDD Microservices Azuer Service Fabric
 
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~
始めよう! ドメイン駆動設計&マイクロサービス開発 ~C# と Azure Service Fabric で最高の DDD 開発を~
 
Ns study Azure IoTHub紹介
Ns study Azure IoTHub紹介Ns study Azure IoTHub紹介
Ns study Azure IoTHub紹介
 
アルゴリズムから学ぶAzure mlモジュールの使いこなし方 hd-insight編-
アルゴリズムから学ぶAzure mlモジュールの使いこなし方 hd-insight編-アルゴリズムから学ぶAzure mlモジュールの使いこなし方 hd-insight編-
アルゴリズムから学ぶAzure mlモジュールの使いこなし方 hd-insight編-
 
Azure Machine Learningによるレコメンデーションの設計&実装を公開!~朝日カルチャーセンターの事例から~
Azure Machine Learningによるレコメンデーションの設計&実装を公開!~朝日カルチャーセンターの事例から~Azure Machine Learningによるレコメンデーションの設計&実装を公開!~朝日カルチャーセンターの事例から~
Azure Machine Learningによるレコメンデーションの設計&実装を公開!~朝日カルチャーセンターの事例から~
 
20150421 QCon Tokyo 2015 Azureが切り開く新時代のソフトウェア開発・設計
20150421 QCon Tokyo 2015 Azureが切り開く新時代のソフトウェア開発・設計20150421 QCon Tokyo 2015 Azureが切り開く新時代のソフトウェア開発・設計
20150421 QCon Tokyo 2015 Azureが切り開く新時代のソフトウェア開発・設計
 
Enterprise cloud design pattern 大量データ処理アーキテクチャの構築
Enterprise cloud design pattern 大量データ処理アーキテクチャの構築Enterprise cloud design pattern 大量データ処理アーキテクチャの構築
Enterprise cloud design pattern 大量データ処理アーキテクチャの構築
 
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsiderMoq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
 

クラウドデザインパターンから始めるクラウドの利点と弱点の理解~提案から設計・開発・保守に活かす!~

  • 2. アジェンダ • AWS, Azureのクラウドデザインパターンの違い • AWSクラウドデザインパターンについて 1. 入門パターン ① 仮想サーバー ② オートスケーリング&ロードバランサー ③ Webストレージ ④ CDN 2. クラウド利点活用パターン ① 高可用 ② スケーリング ③ WebStorage ④ その他 3. 今回紹介しなかったパターン 4. まとめ • Azureクラウドデザインパターンについて 1. SLA100%未達への対処 2. スケーリングへの対処 3. 今回紹介しなかったパターン 4. まとめ
  • 3. 自己紹介 • 上坂貴志(うえさかたかし) • 学生時代にWindows95発売してたっけ?な年齢 • 学生時代のアルバイトがプログラマーだったのが運のつき • 保守運用があまりに辛くて、どうしたものかとWebを彷徨って いた頃に流行っていたのがITアーキテクトという言葉 • これぞ銀の弾丸か!と思ってITアーキテクトになろうとそれ以 来、孤軍奮闘 • そんな訳でいまだにアーキテクチャと格闘しています。(もは や趣味か) • ここ数年はクラウドどっぷりなシステム開発に従事 • 機会があればセッションしてます • 株式会社NEXTSCAPE • このセッションはACE(Azure Council Experts)の 枠です。
  • 5. AWS クラウドデザインパターン • AWS, Azureのクラウドデザインパターンの違い • AWSクラウドデザインパターンについて 1. 入門パターン ① 仮想サーバー ② オートスケーリング&ロードバランサー ③ Webストレージ ④ CDN 2. クラウド利点活用パターン ① 高可用 ② スケーリング ③ WebStorage ④ その他 3. 今回紹介しなかったパターン 4. まとめ • Azureクラウドデザインパターンについて 1. SLA100%未達への対処 2. スケーリングへの対処 3. 今回紹介しなかったパターン 4. まとめ
  • 6. Snapshot パターン Ondemand Disk パターン ScaleUp パターン Stamp パターン 仮想サーバー AMI SnapshotEBS EC2 ブート 領域 EBS データ 領域 Snapshot EBS データ 領域 新たな仮想ディスクで 復元時にサイズアップ EC2 Small EC2 xLarge 起動 インスタンスタイプ変更 入門パターン マシンイメージとして登録 EBS(仮想ディスク) EC2仮想サーバー AMI(マシンイメージ) Snapshot (EBSのスナップショット) ポイント • 独自マシンイメージを作れる • マシンイメージを元に複数の仮想サーバー を立ち上げられる • 後からマシンのスペックを変えられる • 後からデータ容量を増やせる
  • 7. オートスケーリング&ロードバランサー 入門パターン ELB EC2 AMI CloudWatchAlarm EC2 EC2仮想サーバー AMI(マシンイメージ) ロードバランサー CloudWatchAlarm(監視通知 サービス) 起動 EC2 起動 監視 MultiServer パターン ELB EC2 EC2 Auto Scaling Group Scale Out パターン ポイント • メトリクスを元に仮想サーバーの数を自動的に調整 するオートスケーリングはクラウドの最大の特徴 • オートスケーリングとロードバランサーの組み合わ せが鉄板
  • 8. Webストレージ 入門パターン Amazon S3 EC2 PNG MP4 html WebStorage パターン EC2 Amazon S3 Private Distribution パターン 認証Token 取得 Token認証付 きでアクセス EC2仮想サーバー Amazon S3(Webストレージ) ポイント • Webストレージは簡易Webサーバーとして の機能がある • Token認証URLによるアクセス制限をかけ ることができる
  • 9. CDN(Contents Delivery Network) 入門パターン EC2 Amazon S3 Private Cache Distribution パターン 制限付 URL取得 制限付URLで アクセス CloudFront EC2 Amazon S3 URL Rewrite パターン CloudFront Upload(同期) PNG MP4 HTML中の静的コ ンテンツのURLを CDNのURLに書き 換える EC2仮想サーバー Amazon S3(Webストレージ) CloudFront(CDN) ポイント • Webストレージの前にCDNをおく構成は クラウドの典型的パターンの一つ • アクセス制限をかけたい場合はCDNの Token認証URL機能を使用
  • 11. 高可用性パターン Multi-Datacenter パターン ELB EC2 Availability Zone - A EC2 Availability Zone - B Route 53 Server Swapping パターン EC2 AMI EBS データ EC2 マシンイメージを 作成しておく ①障害発生! ②新しい仮想サー バー起動 ③マウント クラウド利点活用パターン EC2仮想サーバー Amazon Route53(DNSサービス) ロードバランサー EBS(仮想ディスク) AMI(マシンイメージ) or ポイント • DR構成の作成がとても簡単 • マシンイメージさえ作っておけば、障害が 起きてもなんとかなる
  • 12. スケーリングパターン クラウド利点活用パターン SQS Amazon EC2 message Amazon EC2 message SQS Amazon EC2 messagemessage Queuing Chain パターン EC2仮想サーバー ロードバランサー EBS(仮想ディスク) AMI(マシンイメージ) SQS(SimpleQueueサービス) ポイント • キューを上手に使って高負荷のタスクだけ をスケールアウト • キューとオートスケーリングの組み合わせ、 これ最強。課金低く、処理は速く! Job Observer パターン Auto Scaling Group EC2 Queue Message Amazon SQS Auto Scaling Group EC2 Scaling Policies CloudWatchAlarm ①キューの閾値 をチェック 追加
  • 13. Bootstrap パターン スケーリングパターン クラウド利点活用パターン AMI EC2 Amazon S3 ①起動 ②設定値読み込み Gitなど外部 サービス ③設定 WAF Proxy パターン ELB WAF Proxy WAF Proxy EC2 EC2 WEB WEB EC2 Auto Scaling Group ポイント • マシンイメージの更新についても考えてお かないと、後で苦労する • 何も考えずにスケールアウトすると、有償 のアプリケーションのライセンス費用が恐 ろしいことになる EC2仮想サーバー ロードバランサー AMI(マシンイメージ) Amazon S3(Webストレージ)
  • 14. WebStorage Web Storage Archive パターン Write Proxy パターン Storage Index パターン EC2 Amazon S3 ログ 削除 アーカイブ EC2 ログ 削除 アーカイブ Amazon S3 EC2 ①アップロード ②受信(圧縮して あったら解凍) ③高速プロトコル で転送 クラウド利点活用パターン DynamoDB(KVS) EC2 Amazon S3 EC2 ①アップロード ②保存 ③メタ情 報を格納 ④検索 ⑤メタ情報を検 索してS3のパ スを取得 ⑥取得 ポイント • WebStorageは安いことが最大の売り • でも書き込みが遅い(その代わりに三重化 されており、データ損失しない) • 柔軟な検索を行うためには一工夫が必要 EC2仮想サーバー Amazon S3(Webストレージ) DynamoDB(KeyValueストア)
  • 15. 今回ご紹介しなかったパターン達 • Scheduled Scale Out パターン  スケールイン・アウトをメトリクスではなく、設定したスケジュールを元に行うこ とで、あらかじめ予測された高負荷に備える • Scheduled AutoScaling パターン  仮想サーバーの立ち上げ、削除を時刻を元に行う(日次・月次バッチなどに用い る) • Cache Distributionパターン  CDNを用いて、地理的に近い箇所からの配信を可能に。CDNそのものの機能。 • DB Replicationパターン  Multi-AZによるHA構成は、MySQL、PostgresSQL, Oracleだとウィーザードで選 択することで簡単に設定できるが、SQLServerにはそのオプションがない。ひどい 扱い。 • Read Replicaパターン  読み取り専用のレプリカの作成によるパフォーマンス改善。こういう機能があるよ、 という説明。右クリックで簡単作成可能。  同期はマスターが更新された後に非同期にレプリカに同期されるので、マスターと は内容がずれちゃうことを前提にしないといけないです。
  • 16. 今回ご紹介しなかったパターン達 • Floating IPパターン  仮想サーバーは起動しなおすとIPが変わってしまう。ElasticIPを使うと固定のIPを振 れる。障害発生時にはこのIPを他のサーバーに割り当てることで素早い復旧を可能 とする。 • Sharding Writeパターン  DBサーバーにシャーディングソフトウェアをインストールし、水平分割したデータ のバックエンドにDBサービスを利用する • Stack Deploymentパターン  AWSのCloudFormationサービスそのもの。インスタンスの作成、その作成順をテン プレート化しておき、それを起動することでまとまった環境を作成可能にする。 Azureではオートメーションがこれに相当する。 • Weighted Transitionパターン  Route 53の重み付けラウンドロビンの使い方例。オンプレからクラウドへ、または クラウド上のシステム全体を他のリージョンに移すときとかに用いる。Azure Traffic Managerでも同じ機能あり。 • CloudHubパターン  VPNハブをクラウド上の仮想ネットワークサービスを用いて構築する。
  • 17. 今回ご紹介しなかったパターン達 • State Sharingパターン  スケールアウト/イン時に備え、セッション情報をKVSに格納する。 • Cache Proxyパターン  Webサーバーの前段にCacheサーバーを配置する。(CDNじゃなくてCacheサー バー。) • Rewrite Proxyパターン  URL Rewriteパターンを用いた時に、静的コンテンツのURLの書き換えのための Proxyサーバーを用意する。  Proxyサーバーをスケーリングできるようにするために、Proxyサーバーの前段 にロードバランサーを置く。 • Inmemory DB Cacheパターン  キャッシュサービスを用いて、クエリ結果を保存する • Functional Firewall パターン  セキュリティグループという仮想的なファイアウォール機能がある。  Web,DBなど機能別にサーバーをグルーピングして、IPアドレスやポートで設定する。
  • 18. 今回ご紹介しなかったパターン達 • Operational Firewall パターン  セキュリティグループを使うファイアウォール機能を利用して、各組織がアクセス可能なリソー スを制限する。  セキュリティグループを複数適用できる、という使用例。 • Backnet パターン  管理用ネットワークとしてNICを公開用とは別にもう一つ用意する。(Azureでも複数NICはサ ポート済み。ただし管理ポータルからは設定不可) • Rename Distribution パターン  CDNにキャッシュされたデータをパージするのではなく、ファイル名を変更することでクライア ントに最新データを送出する。ベースコンテンツはキャッシュしないか、TTLを短く。(JSファ イルや画像の後ろのクエリ文字列でバージョン管理と似た発想) • Ondemand NAT  セキュアなシステムでは、各サーバーのインターネットへのアクセス(アウトバウンド)を禁止 していることが多い。その場合、OSパッケージのアップデートなど、インターネットへアクセス する必要があるメンテナンス作業ができなくなる。  VPC(Azureでいうところの仮想ネットワーク)でPrivateCloudを構築した場合に、OSやミドル ウェアのアップデートを行うために期間限定のNATサーバーを立ち上げる。更新終了後は元に戻 す、というパターン。 • Multi Load Balancerパターン  デバイスごとにSSL証明書を変えたい、セッション設定を変えたい場合に、複数の仮想ロードバ ランサーをそれぞれ用に用意する
  • 19. 今回ご紹介しなかったパターン達 • Direct Hosting パターン  スケールイン・アウトをメトリクスではなく、設定したスケジュールを元 に行うことで、あらかじめ予測された高負荷に備える • Direct Object Upload パターン  仮想サーバーの立ち上げ、削除を時刻を元に行う(日次・月次バッチなど に用いる) • Clone Server パターン  Auto Scallingグループによる設定をしていない場合に手動でスケーリング するパターン。 • Priority Queueパターン  処理の優先度付けをキューで実現する。こっちのキューは優先度高、だか ら仮想サーバー沢山。もう1つのキューは優先度低、だから仮想サーバー 少なめ、とすることで差を出す。 • NFS Sharingパターン  読み書きが必要な共通のコンテンツは外だししておかないと、サーバーに よって挙動が変わってしまうから気を付けましょう、というパターン。
  • 20. 今回ご紹介しなかったパターン達 • NFS Replicaパターン  NFS Sharingパターンの発展形。NFSがボトルネックになってしまった場合、 各スケールした仮想サーバーにデータをプッシュして同期させる。 • Cloud DIパターン  スケールアウトしたサーバごとに異なる固有情報を持たせたい場合(DB の参照先とか、マシン名とか)、サーバーにつけたタグを元に固有情報を 外部に保存しておき、アプリケーションがそれを元にセットアップする、 というパターン。 • Deep Health Checkパターン  システム全体としての稼働を保証するために、使用している全サービスを 上から下までテストした結果をWebステータスとして返す。システムに問 題がある場合はELBで正常なシステムに振り分ける。 • Monitoring Integrationパターン  クラウドのサービスが公開しているメトリクスだけだと仮想サーバー内の アプリケーションログやミドルウェアの情報を取得できないので別途監視 ソフトを入れた仮想サーバーが必要。モニタリング先が複数になって管理 が面倒なので1つにまとめる。
  • 21. AWSパターンから見たクラウドの利点と弱点 利点 1. スモールスタートが可能である  マシンイメージを元にスケーリングできる  スケールアップも可能(水平じゃなくたってOK) 2. 複数のサービスを組み合わせれば、なんでもできちゃう  パフォーマンスへの対応もCDNで、とか 3. 高可用性の担保がとても簡単  オンプレで複数サーバー用意するより簡単  DR構成も簡単 4. リリース後のパフォーマンス対応がしやすい  キューを用いて高負荷のタスクだけを切り出してスケールアウトすることでス ループットをあげることができる 5. Webストレージはとにかく便利  大容量、安い、簡易的なWebサーバーになる
  • 22. AWSパターンから見たクラウドの利点と弱点 弱点 1. 水平スケーリングとの相性の悪いものがある  元となるマシンイメージの変更への対応を最初から考えおかなければな らない  有償ソフトのコストへの考慮 2. Webストレージへの書き込み速度は遅い  サービスイン時までに大量のコンテンツをアップロードしなければ ならない場合は致命的なことがある
  • 23. Azure クラウドデザインパターン • AWS, Azureのクラウドデザインパターンの違い • AWSクラウドデザインパターンについて 1. 入門パターン ① 仮想サーバー ② オートスケーリング&ロードバランサー ③ Webストレージ ④ CDN 2. クラウド利点活用パターン ① 高可用 ② スケーリング ③ WebStorage ④ その他 3. 今回紹介しなかったパターン 4. まとめ • Azureクラウドデザインパターンについて 1. SLA100%未達への対処 2. スケーリングへの対処 3. 今回紹介しなかったパターン 4. まとめ
  • 27. SLA100%未達への対処 長時間トラン ザクションの 各手順の逆向 きの操作を記 録 フライトF1の 座席を予約 フライトF2の 座席を予約 フライトF3の 座席を予約 ホテルH1の 部屋を予約 ホテルH2の 部屋を予約 補正ロジック 補正ロジック 補正ロジック 補正ロジック 補正ロジック 旅行プランをキャンセルする補正トランザクション 逆向きの操作につい てビジネスルールと して適用する補正ロ ジック Compensating Transaction パターン 旅行プラン作成の操作手順
  • 31. スケーリング時の問題対処 External Configuration Store パターン 外部の構成ストア 代替オプション
  • 33. 今回ご紹介しなかったパターン達 • 1.Cache-Asideパターン  リード・スルー(キャッシュがない場合はデータソースから読み込み)、ライト・ スルー(データ・ソースへの変更時にキャッシュを破棄)に対応していないキャッ シュを使用する場合の実装パターン。  AWSパターンのInmemory Db Cacheパターンと同じに見えるが、こちらはデータ更 新時の挙動まで考慮してある。 (データソースだけ更新し、キャッシュは削除する) • 6.Command and Query Responsibility Segregation(CQRS)パターン  データの読み取りと更新処理を完全に分離するパターン。表示のパフォーマン スを最大化できるので最近流行りのパターン。  結果整合性が適用できる場合にしか用いないこと。  一般的にEventSourcingパターンと同時に使われる。 • 7.Event Sourcingパターン  CRUDシステムのせいでパフォーマンス、応答性に問題がある場合で、複数 ユーザーによるデータ更新の競合がある場合に用いる。  リソースに対する操作を保存しておく。  リソースに対する操作の結果は、マテリアライズドビューとして保存して外部 からは使用する。  CQRSパターンと、MaterializedViewパターンと組み合わせるのが王道。
  • 34. 今回ご紹介しなかったパターン達 • 9.Federated Identity パターン  認証機能を外部に任せ開発ボリュームを減らす。またユーザー管理の 運用コストを下げる。シングルサインオンの実現。  今時のGoogle認証とかの外部認証を使用する、もしくは自前で認証 サーバーを持つ形になる。 • 10.Gatekeeper パターン  不正なリクエストからアプリケーションやサービスを保護するために、 前段にゲートキーパーを挟みこむ。  構成的にはAWSパターンのWAF Proxyパターンと全く同じ。目的が異 なるが。 • 12.Index Table パターン  データストアはプライマリインデックスを持つが、RDBMSのようにセ カンダリインデックスを持つとは限らない(例えばNoSQL)。このパ ターンではセカンダリインデックスを元のデータ(FactTable)とは別 のインデックステーブルに保持することで、検索の高速化を図る。 • 14.Materialized View パターン  データソースに対して、複雑なクエリを返すと時間がかかるので、あ らかじめ結果を保持しておく。
  • 35. 今回ご紹介しなかったパターン達 • 20.Scheduler Agent Supervisor パターン  Retryで済まないような永続的なエラーが発生した場合に、そのエラーに 対する挙動を決定するための戦略パターン。3つのロールを用いて構成す る。 1. スケジューラー。ワークフローを構成し起動する。各タスクの状態をStore に格納。 2. エージェント。サービスの呼び出しを担当する。タスクによって呼ばれる。 ほぼタスクと同義。 3. スーパーバイザー。Storeされたタスクの状態を監視。処理失敗のタスクの挙動を 決定する。 • 21.Sharding パターン  単一DBの性能限界がきたら、DBもスケールアウトすることになる (Sharding)。だが、欲しいデータはどこにある?  Shardキーを外部テーブルに持つ。 1. ルックアップ…Shradキー1つ1つが、どこのShardにデータがあるかを持つ。 データの管理が必要。SPOFになるのでレプリカしないといけない。 2. レンジ…データのレンジ(例えば月で)で、どこのShardにデータがあるかを持つ。 ホットスポットになりやすい。(特定にShardにデータが集中する) 3. ハッシュ…ShardキーをHash値とする。Shard別のデータが均等に分散される。 データの管理は必要ない。ただ計算するだけだから。データの場所はランダムな のでリバランスが難しい。
  • 36. 今回ご紹介しなかったパターン達 • 23.Throttling パターン  いかにAutoScallingで大量リクエストをさばけるとしても、インスタンスを立ち上げてい る途中は処理できない。SLAを担保するためにはそのインターバル中にサービスがリソー ス不足となることを防ぐために、大量リクエストがサービスに到着する前にリクエストを 拒否する。  一般的なWebサーバーならThrottling設定ができる。
  • 37. Azureパターンから見たクラウドの利点と弱点 • 弱点 1. SLA100%ではない  いつサービスが落ちていても良いような実装をしておかなければなら ない。  Retryし続けてはいけない。呼び出し元のリソースを圧迫しないために もいつまで呼び出し続けるのか、いつになったらまた呼び出すのか、 仕掛けを入れておく必要がある。  外部サービスを使用することが多いため、トランザクションはかけら れない。どうやって元に戻すのか、方法を考える必要がある。  結果整合性の採用検討を。(逆に全てに採用してはダメ)  複数のサービスを組み合わせる、ということはSLAはどんどん下がっ ていく。システムが正常に稼動していることを確認するためには呼び 出し先まで含めて常にチェックしなければならない。
  • 38. Azureパターンから見たクラウドの利点と弱点 • 弱点 2. 安易なスケーリングは危険 タスクを細かく分割し過ぎると、とてもコストがかかる。 タスクをキューでつないでスケーリング、は確かにクラウ ドの鉄板パターンだけどコストと無関係ではなくなった、 ということを忘れずに。 • でも組み合わせをあらかじめ決めるのはかなり難しい・・・。 » 事実上不可能。やってみなければわからないので、サンプル 作成を。 » 可能なら、後で分離や統合ができるようなソフトウェアアー キテクチャを構築 スケーリングをする、ということは管理対象のサーバーが 莫大な量になるということ。 • アプリケーションの構成情報は、外部にもち、かつ動的に変更し たい場合は変更イベントをハンドリングして即時反映するのか、 再起動が必要なのか。実装が必要。