Suche senden
Hochladen
20200325 AWS Black Belt Online Seminar AWSにおけるマイクロサービスアーキテクチャの設計パターン
•
10 gefällt mir
•
9,580 views
Amazon Web Services Japan
Folgen
AWS 公式オンラインセミナー: https://amzn.to/JPWebinar 過去資料: https://amzn.to/JPArchive
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 75
Empfohlen
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
Amazon Web Services Japan
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
Amazon Web Services Japan
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
Amazon Web Services Japan
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Web Services Japan
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
Amazon Web Services Japan
Empfohlen
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
Amazon Web Services Japan
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
Amazon Web Services Japan
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
Amazon Web Services Japan
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Web Services Japan
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
Amazon Web Services Japan
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
Amazon Web Services Japan
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
Amazon Web Services Japan
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
Amazon Web Services Japan
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon Web Services Japan
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
Amazon Web Services Japan
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
Amazon Web Services Japan
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
Amazon Web Services Japan
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Web Services Japan
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
Amazon Web Services Japan
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
Amazon Web Services Japan
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
Amazon Web Services Japan
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
Amazon Web Services Japan
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
Amazon Web Services Japan
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
Amazon Web Services Japan
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
Amazon Web Services Japan
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
Amazon Web Services Japan
20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes
Amazon Web Services Japan
20211109 bleaの使い方(基本編)
20211109 bleaの使い方(基本編)
Amazon Web Services Japan
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
Amazon Web Services Japan
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Weitere ähnliche Inhalte
Mehr von Amazon Web Services Japan
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
Amazon Web Services Japan
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
Amazon Web Services Japan
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
Amazon Web Services Japan
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon Web Services Japan
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
Amazon Web Services Japan
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
Amazon Web Services Japan
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
Amazon Web Services Japan
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Web Services Japan
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
Amazon Web Services Japan
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
Amazon Web Services Japan
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
Amazon Web Services Japan
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
Amazon Web Services Japan
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
Amazon Web Services Japan
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
Amazon Web Services Japan
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
Amazon Web Services Japan
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
Amazon Web Services Japan
20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes
Amazon Web Services Japan
20211109 bleaの使い方(基本編)
20211109 bleaの使い方(基本編)
Amazon Web Services Japan
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
Amazon Web Services Japan
Mehr von Amazon Web Services Japan
(20)
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDD
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes
20211109 bleaの使い方(基本編)
20211109 bleaの使い方(基本編)
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
Kürzlich hochgeladen
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Kürzlich hochgeladen
(10)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
20200325 AWS Black Belt Online Seminar AWSにおけるマイクロサービスアーキテクチャの設計パターン
1.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved.© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS 公式 Webinar https://amzn.to/JPWebinar 過去資料 https://amzn.to/JPArchive シニアソリューションアーキテクト 福井 厚 2020/03/25 AWSにおけるマイクロサービスアーキテクチャ 設計パターンと実装 サービスカットシリーズ [AWS Black Belt Online Seminar]
2.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. AWS Black Belt Online Seminar とは 「サービス別」「ソリューション別」「業種別」のそれぞれのテーマに分かれて、アマゾ ン ウェブ サービス ジャパン株式会社が主催するオンラインセミナーシリーズです。 質問を投げることができます! • 書き込んだ質問は、主催者にしか見えません • 今後のロードマップに関するご質問は お答えできませんのでご了承下さい ① 吹き出しをクリック ② 質問を入力 ③ Sendをクリック Twitter ハッシュタグは以下をご利用ください #awsblackbelt
3.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 内容についての注意点 • 本資料では2020年3月25日時点のサービス内容および価格についてご説明しています。最新の 情報はAWS公式ウェブサイト(http://aws.amazon.com)にてご確認ください。 • 資料作成には十分注意しておりますが、資料内の価格とAWS公式ウェブサイト記載の価格に相 違があった場合、AWS公式ウェブサイトの価格を優先とさせていただきます。 • 価格は税抜表記となっています。日本居住者のお客様には別途消費税をご請求させていただきま す。 • AWS does not offer binding price quotes. AWS pricing is publicly available and is subject to change in accordance with the AWS Customer Agreement available at http://aws.amazon.com/agreement/. Any pricing information included in this document is provided only as an estimate of usage charges for AWS services based on certain information that you have provided. Monthly charges will be based on your actual use of AWS services, and may vary from the estimates provided.
4.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 自己紹介 名前 福井 厚(ふくい あつし)fatsushi@ 所属 アマゾン ウェブ サービス ジャパン株式会社 技術統括本部レディネスソリューション本部 シニアソリューションアーキテクト サーバーレス スペシャリスト 関心領域 ソフトウェア アーキテクチャ、オブジェクト指向設計、アジャイル開発 好きなAWSサービス サーバーレステクノロジー全般、 AWS Code シリーズ、AWS Amplify
5.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 本日の内容は、AWS モダンアプリケーション開発ホワイ トペーパーの一部を解説するものです • AWSモダンアプリケーション開発 〜AWSにおけるクラウドネイティブモダ ンアプリケーション開発と設計パターン〜 https://d1.awsstatic.com/whitepapers/ja_JP/modern-application-development- on-aws.pdf?did=wp_card&trk=wp_card • モダンアプリケーションにおける代表的な設計パターン (上記ホワイトペーパーの要約記事) https://aws.amazon.com/jp/builders-flash/202002/modern-app-wp/
6.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 本日のアジェンダ • なぜマイクロサービスアーキテクチャが必要か • マイクロサービスアーキテクチャ設計パターン • まとめ
7.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. なぜマイクロサービス アーキテクチャが必要なのか
8.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 急速なイノベーションはもはや必須 今ある人材を 活用 利益を 伸ばす 新たな機会を 探索 新しい アイデア を育てる
9.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 急速なイノベーションがビジネスを進化させる 新たなマーケット 新たな顧客価値New economics 新たなデジタル製品とサービス
10.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. ListenIdea Experiment Innovation Flywheel 実験がイノベーションを加速する 傾聴アイデア 実験
11.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 変更の影響が小さくなると、 リリースの速度が向上可能に Monolith すべてを実行 Microservices ひとつのことを実行
12.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 「API」と「疎結合なコミュニケーション」が自動化を 可能にして信頼性を向上 FUNCTION API API MICROSERVICE FUNCTION EVENT API MICROSERVICE EVENT API MICROSERVICE APPLICATION
13.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. ワークフローで複数のサービスを連携することで、 敏捷性、生産性、および柔軟性が向上 データと処理の状態を トラッキング 冗長なコードを削除
14.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. マイクロサービスアーキテクチャ 設計パターン
15.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. ソフトウェア設計(デザイン)パターンとは • ソフトウェア開発におけるデザインパターン(型紙(かたがみ)または設 計パターン、英: design pattern)とは、過去のソフトウェア設計者が発見 し編み出した設計ノウハウを蓄積し、名前をつけ、再利用しやすいように 特定の規約に従ってカタログ化したものである。(出典: フリー百科事典 『ウィキペディア(Wikipedia)』) • Name、Context、Problem、Forces、Solutionなどのパターンテンプレート を利用して記述される • GoF(Gang of Four)の「オブジェクト指向における再利用のためのデザイ ンパターン」が有名
16.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. APIゲートウェイパターン
17.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. API ゲートウェイパターンとは • Backends for Frontends(BFF)パターンとも言われる • バックエンドサービスへの呼び出しが多数ある場合や、クライアントイン ターフェイスまたはデバイスタイプによって提供コンテンツが違う場合に 使用可能 • API ゲートウェイによって、さまざまなバックエンドサービスの呼び出し を統一された APIで統合し、それぞれのデバイスに必要なコンテンツを提供
18.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. API ゲートウェイパターン モバイルクライアント ウェブクライアント サービス サービス サービス サービス
19.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. API ゲートウェイパターン </> APIゲートウェイ モバイルクライアント ウェブクライアント サービス サービス サービス サービス
20.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Amazon API Gateway を利用 モバイルクライアント ウェブクライアント サービス サービス サービス サービス Amazon API Gateway
21.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Amazon API Gateway とは Amazon API Gatewayはあらゆるスケールのセキュアな APIを容易に作成、発行、保守、モニタ可能なフルマ ネージドなサービス: • APIの複数バージョンとステージをホスト • APIキーの作成と開発者への配布 • バックエンド保護のためのリクエストのスロットルとモニタ • APIアクセスの認証にSIG V4、AWS Lambdaオーサライザー、 Amazon Cognitoユーザープールなどの認証を利用可能 • リクエスト/レスポンス データ変換とAPIモック • CloudFrontを通じたレイテンシの削減とDDoS保護 • APIレスポンスのためのオプションのマネージドキャッシュ • APIのためのJava、JavaScript、Java for Android、 Objective-C、Swift for iOS、RubyのSDKを生成 • Swagger/OpenAPI サポート
22.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Amazon API GatewayによるAPI管理 Websites Services Amazon API Gateway API Gateway Cache Public Endpoints on Amazon EC2 Amazon CloudWatch Monitoring All publicly accessible endpoints Lambda Functions Endpoints in VPC Applications & Services in VPC Any other AWS service Fully-managed CloudFront Distribution Edge-OptimizedRegionalPrivate Applications & Services in the same AWS Region AWS Direct Connect On-premises HTTPS Mobile client Customer-managed CloudFront Distribution
23.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. HTTP APIs for Amazon API Gateway が一般利用可能 に! Amazon API Gateway HTTP Endpoint AWS Lambda function • 低コスト(最大71%) • 低レイテンシ(最大60%低減) • Lambda, HTTP プロキシ統合 • プライベート統合 • ALB/NLB/Cloud Map • カスタムドメインの相互互換性 • リクエストスロットリング • JWT オーソライザ • ステージへのオートデプロイ • CORS 設定の簡素化 • Lambdaペイロード Version 2.0 • ルートスロットリング • プロトコルは HTTPS
24.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Amazon API Gatewayについて詳しくは • [AWS Black Belt Online Seminar] Amazon API Gateway もご参照ください。 https://aws.amazon.com/jp/blogs/news/webinar-bb-amazon-api-gateway- 2019/
25.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. サービス ディスカバリ/サービス レジストリパターン
26.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. サービス ディスカバリ/サービス レジストリパターンとは • サービスが他のサービスを利用する際の課題を解決 • サービスレジストリは、個々のコンテナやインスタンスの起動時に、呼び 出されるサービスがそのサービス自体の情報を保存 • サービスディスカバリは、動的に変更する関連サービスのアドレスを取得
27.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. サービス レジストリパターン サービスA サービスB サービスレジストリ ユーザー
28.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. サービス ディスカバリパターン サービスA サービスB サービスディスカバリ ユーザー
29.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 実装例1:Elastic Load Balancing を利用 サービスA サービスBユーザー Elastic Load Balancing Elastic Load Balancing サービスB サービスB Auto Scaling group
30.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 実装例2: AWS Cloud Map の利用 サービスA サービスBユーザー Elastic Load Balancing AWS Cloud MapAmazon Route 53
31.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. AWS Cloud Map すべてのクラウドリソースのためのレジストリ 高速でセキュアな名前解決 属性ベースのディスカバリ Amazon Route 53のヘルスチェックによる一部エラー のハンドリング AWSクラウドやOSSとの統合 AWS Cloud Mapの 機能紹介
32.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. AWS Cloud Map サービスレジストリ myapp.com users Name = users DNS record = A TTL = 60 sec Check health = Yes HC type = path-based HC path = /ping Instance-1 172.10.0.1 Instance-2 172.10.0.2 Instance-3 172.10.0.3 • 名前空間 • サービス • サービスインスタンス (リソース)
33.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. API + パブリックDNS ディスカバリモードのリソース登録 1. aws servicediscovery create-public-dns-namespace --name cloudmapdemo.com 2. aws servicediscovery create-service --name frontend --dns-config “NamespaceId=%namespace_id%, DnsRecords=[{Type=A, TTL=60}]” 3. aws servicediscovery register-instance --service-id %service_id% --instance-id %id% --attributes AWS_INSTANCE_IPV4=52.89.144.60, stage=beta, version=1.0, ready=yes
34.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. API ディスカバリのクラウドリソース登録 1. aws servicediscovery create-http-namespace --name shared 2. aws servicediscovery create-service --name logs --namespace-id %namespace_id% 3. aws servicediscovery register-instance --service-id %service_id% --instance-id %id% --attributes ARN=arn:aws:s3:::cloudmapdemoservicelogsbeta1, stage=beta, shard=s_1, read_only=no, path=/mylogs
35.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. APIコールによるセキュアな名前解決 aws servicediscovery discover-instances --namespace-name shared --service- name logs --> { "Instances": [ { "InstanceId": "i1", "NamespaceName": "shared", "ServiceName": "logs", "HealthStatus": "UNKNOWN", "Attributes": { "read_only": "no", "path": "/mylogs", "shard": "s_1", "ARN": "arn:aws:s3:::cloudmapdemoservicelogsbeta1", "stage": "beta” } } ] }
36.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Python SDKを利用したサービスインスタンスの登録例 def register_service(): client = boto3.client('servicediscovery') response = client.register_instance( ServiceId = SERVICE_ID, InstanceId = INSTANCE_ID, Attributes = { 'version': '1.0', 'stage': 'prod', 'AWS_INSTANCE_IPV4': '34.209.47.250', 'AWS_INSTANCE_PORT': '80' } ) return response
37.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Python SDKを利用したサービスインスタンスの取得例 def discover_services(): client = boto3.client('servicediscovery') response = client.discover_instances( NamespaceName = NAMESPACE_NAME, ServiceName = SERVICE_NAME, QueryParameters = { "version": "1.0", "stage": "prod" } ) return response
38.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 実装例3: Amazon ECSのサービスディスカバリを利用 AWS Cloud VPC Private subnetPublic subnet Internet gateway Application Load Balancer Amazon Elastic Container Service Service Discovery Auto Scaling group backend.corpユーザー Amazon Route 53 Auto Scaling group worker.corp Auto Scaling group user.corp AWS Cloud Map
39.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 実装例4: AWS App Meshのサービスメッシュの サービスディスカバリ サービスA サービスB ユーザー AWS App Mesh Amazon EKS サービスC Amazon ECS Amazon EC2Amazon EKS
40.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. AWS App Mesh アプリケーションレベルのネットワーク • ログ・メトリクス・トレース情報の容易な出力 • トラフィック・ルーティングポリシー クラスタやサービスにまたがるメッシュの構築 • Amazon ECS • AWS Fargate • Amazon EKS • Kubernetes on EC2 • Amazon EC2 マネージドコントロールプレーン • 容易なオペレーション • 高いスケーラビリティ
41.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 透過的な実装のメリット • 可観測性、分析性、ルーティングの機能をサービス間で一貫した形で適用 可能 • 2つのサービスの相互接続間で、ロギング、トレーシング、メトリックスの 収集をアプリケーションコードへの影響を最小限になるように実装 • これらの機能を提供するSDKを利用してコンパイルする ”インプロセスパ ターン”を利用と比較して • すべてのメンバーがSDKを学習する必要がない • Polyglot 開発を実現している場合、多数の言語用のSDKを用意しな くて良い • SDKの各言語用のバージョン間の差異に苦しむことがない • SDKの組み込みはアプリとオペレーションの密結合を生む
42.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. サーキット ブレーカーパターン
43.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. サーキットブレーカーとは • マイクロサービス間の呼び出しを規制し、グレースフルな機能低下を実現 • サービスが相手サービスの呼び出しに通常より長い時間がかかった場合や エラーが返された場合、サーキットブレーカーがインシデント数をカウン ト • カウントが設定された制限を超えるとオープン状態に移行、オープン状態 になると、サーキットブレーカーは呼び出し元に即座にエラーを返却 • 一定時間が経過、またはヘルスチェックによって相手サービスが復活する と、サーキットブレーカーはクローズ状態に戻り相手サービスへの呼び出 しも平常時の状態に戻る •
44.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. サーキット ブレーカーパターン サービスAユーザー サーキットブレーカー サービスB
45.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. サーキット ブレーカーパターン サービスAユーザー サーキットブレーカー サービスB
46.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. サーキット ブレーカーパターン サービスAユーザー サーキットブレーカー サービスB
47.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. サーキット ブレーカーパターン サービスAユーザー サーキットブレーカー サービスB
48.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. IstioとEnvoy ProxyをAmazon EKSで利用 サービスA サービスBユーザー Istio Control Plane Amazon Elastic Kubernetes Service
49.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Istio DestinationRuleによるサーキットブレーカー設定 apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata: name: httpbin spec: host: httpbin trafficPolicy: connectionPool: tcp: maxConnections: 1 http: http1MaxPendingRequests: 1 maxRequestsPerConnection: 1 outlierDetection: consecutiveErrors: 2 interval: 1s baseEjectionTime: 30s maxEjectionPercent: 100 consecutiveErrors: 継続したエラーと判断する閾値 Interval: 解析を行う間隔 baseEjectionTime: ホストがイジェクトされる最小時間。こ の時間とイジェクト回数を掛けた時間イジェクトされる maxEjectionPercent: 異常値検知によってイジェクトされる アップストリームのホストの最大閾値%
50.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. コマンドクエリ責務分離(CQRS)パターン
51.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. コマンドクエリ責務分離パターン • コマンドクエリ責務分離(Command-Query Responsibility Segregation: CQRS)パターンはデータを更新するコマンドと参照するクエリを分離するこ とで、ユースケースに応じて個別にスケールすることを可能とするパターン • データソースを分離することで異なるデータ構造を取ることも可能となり、ク エリ側はクエリで返すデータ転送オブジェクト(Data Transfer Object : DTO) に合わせた形のスキーマとすることでオブジェクト関係マッピング(Object Relational Mapping : ORM)のオーバーヘッドを軽減することも可能になる • コマンド側とクエリ側が結果整合性を許容する必要がある
52.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. コマンドクエリ責務分離(CQRS)パターン ユーザー サービス ドメインモデル ドメインモデル ORM ORM データ転送 オブジェクト クエリ更新
53.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. コマンドクエリ責務分離(CQRS)パターン ユーザー コマンドサービス ドメインモデル データ転送 オブジェクト クエリ更新 クエリサービス データ転送 オブジェクト
54.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 実装例1: Amazon Kinesis Data StreamsとAWS Lambdaを利用 フロントサービス Amazon Kinesis Data Streams AWS Lambda AWS Lambda Amazon Aurora Denormalize tables (DTO) Amazon Aurora Normalize tables ユーザー
55.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 実装例2: Amazon DynamoDB StreamsとAWS Lambdaを利用 ユーザー Amazon DynamoDB Streams AWS Lambda Amazon Aurora Normalize tables フロントサービス
56.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Amazon DynamoDB Streamsの有効化 aws dynamodb create-table ¥ --table-name StreamsDemo ¥ --attribute-definitions ¥ AttributeName=Username,AttributeType=S ¥ AttributeName=Timestamp,AttributeType=S ¥ --key-schema AttributeName=Username,KeyType=HASH ¥ AttributeName=Timestamp,KeyType=RANGE ¥ --provisioned-throughput ¥ ReadCapacityUnits=5,WriteCapacityUnits=5 ¥ --stream-specification ¥ StreamEnabled=true,StreamViewType=NEW_AND_OLD_IMAGES
57.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. DynamoDB Streams Event パラメータ { "Records": [{ "eventID": "82e65165cd273bb5c8ac9c5b16604bfc", "eventName": "INSERT", "eventVersion": "1.1", "eventSource": "aws:dynamodb", "awsRegion": "us-west-2", "dynamodb": { "ApproximateCreationDateTime": 1584252775.0, "Keys": { "Username": { "S": "fatsushi" }, "Timestamp": { "S": "2020-03-15 06:12:19.177560" } }, "NewImage": { "Username": { "S": "fatsushi" }, "Timestamp": { "S": "2020-03-15 06:12:19.177560" } }, "SequenceNumber": "100000000048382961814", "SizeBytes": 102, "StreamViewType": "NEW_AND_OLD_IMAGES" }, "eventSourceARN": "arn:aws:dynamodb:us-west- 2:786032344772:table/StreamsDemo/stream/2020-03- 15T04:45:48.745" }] }
58.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. AWS Lambda イベントハンドラ import json print('Loading function') def lambda_handler(event, context): for record in event['Records']: print(record['eventID’]) print(record['eventName’]) print(json.dumps(record['dynamodb'])) # ここで更新データを元に処理を実施 return 'Successfully processed {} records.’ .format(len(event['Records']))
59.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. イベント ソーシングパターン
60.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. イベントソーシングパターンとは • データストアを直接更新する代わりに、注文の発注、クレジット照会、出 荷中の注文など、ビジネスロジックに重要なイベントを耐久性のあるイベ ントログに追加 • イベントレコードは個別に保存されるため、すべての更新はアトミック (分 割不可かつ削減不可) • 保存されたイベントを再度処理するだけで、アプリケーションのいかなる 時点の状態でも再構築 可能
61.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. イベント ソーシングパターン ユーザー プロセス イベントログ イベント プロセス プロセス 状態
62.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Amazon Kinesis Data StreamsとAWS Lambdaによる実 装例 ユーザー Amazon Kinesis Data Streams AWS Lambda イベント メッセージ AWS Lambda AWS Lambda 状態 メッセージ メッセージ メッセージ
63.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. コレオグラフィーパターン
64.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. コレオグラフィーパターンとは • 必要なすべての情報を含んだ最初のイベントを 1 つのメッセージに保存し て、最初のトランザクションを完了 • 他のサービスがそのメッセージを非同期的に取得し、それぞれのタスクを 完了させる • サービスが疎結合になり、直接互いに影響を与えない • メッセージの保存と取得が非同期の関係になり、スケーラビリティと信頼 性が向上
65.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. コレオグラフィーパターン ユーザー リクエストサービス リクエストキュー サービスA サービスB サービスC
66.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Amazon SNS、Amazon SQS、AWS Lambdaの利用 ユーザー リクエストサービス Amazon Simple Notification Service Amazon Simple Queue Service Amazon Simple Queue Service Amazon Simple Queue Service AWS Lambda AWS Lambda AWSz Lambda
67.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 集約ログパターン
68.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 集約ログパターン ユーザー サービスA サービスB サービスC サービスD サービスE ログデータの集約 ユーザーモニター トレース
69.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 集約ログパターン ユーザー サービスA サービスB サービスC サービスD サービスE ログデータの集約 ユーザーモニター トレース AWS X-Ray Amazon CloudWatch Logs
70.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. まとめ • デザインパターンは先人の知恵を共有する仕組み • パターンの適用によって問題をうまく解決できるか検討する • 但し、乱用に注意 • No Silver Bullet 銀の弾丸はない • If all you have is a hammer, Everything looks like a nail ハンマーを持つと全てが釘に見える • AWSは多数のアプリケーションブロックを提供 • アプリケーションブロックをうまく活用することで、素早く構築 • フルマネージドなサービスを利用することで運用負荷も軽減
71.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Q&A お答えできなかったご質問については AWS Japan Blog 「https://aws.amazon.com/jp/blogs/news/」にて 後日掲載します。
72.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. AWS の日本語資料の場所「AWS 資料」で検索 https://amzn.to/JPArchive
73.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 日々のアップデートチェックは週刊AWSで で[検索]週刊AWS
74.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 毎週” 個別技術相談会”を実施中 • のソリューションアーキテクト に 対策などを相談することも可能 • 申込みはイベント告知サイトから (https://aws.amazon.com/jp/about-aws/events/) AWS Well-Architected 個別技術相談会
75.
© 2020, Amazon
Web Services, Inc. or its Affiliates. All rights reserved.© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS 公式 Webinar https://amzn.to/JPWebinar 過去資料 https://amzn.to/JPArchive ご視聴ありがとうございました