SlideShare ist ein Scribd-Unternehmen logo
1 von 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
シニアソリューションアーキテクト
福井 厚
2020/03/25
AWSにおけるマイクロサービスアーキテクチャ
設計パターンと実装
サービスカットシリーズ
[AWS Black Belt Online Seminar]
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Black Belt Online Seminar とは
「サービス別」「ソリューション別」「業種別」のそれぞれのテーマに分かれて、アマゾ
ン ウェブ サービス ジャパン株式会社が主催するオンラインセミナーシリーズです。
質問を投げることができます!
• 書き込んだ質問は、主催者にしか見えません
• 今後のロードマップに関するご質問は
お答えできませんのでご了承下さい
① 吹き出しをクリック
② 質問を入力
③ Sendをクリック
Twitter ハッシュタグは以下をご利用ください
#awsblackbelt
© 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.
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
自己紹介
名前
 福井 厚(ふくい あつし)fatsushi@
所属
 アマゾン ウェブ サービス ジャパン株式会社
 技術統括本部レディネスソリューション本部
 シニアソリューションアーキテクト
サーバーレス スペシャリスト
関心領域
 ソフトウェア アーキテクチャ、オブジェクト指向設計、アジャイル開発
好きなAWSサービス
 サーバーレステクノロジー全般、 AWS Code シリーズ、AWS Amplify
© 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/
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
本日のアジェンダ
• なぜマイクロサービスアーキテクチャが必要か
• マイクロサービスアーキテクチャ設計パターン
• まとめ
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
なぜマイクロサービス
アーキテクチャが必要なのか
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
急速なイノベーションはもはや必須
今ある人材を
活用
利益を
伸ばす
新たな機会を
探索
新しい
アイデア
を育てる
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
急速なイノベーションがビジネスを進化させる
新たなマーケット
新たな顧客価値New economics
新たなデジタル製品とサービス
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ListenIdea
Experiment
Innovation
Flywheel
実験がイノベーションを加速する
傾聴アイデア
実験
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
変更の影響が小さくなると、
リリースの速度が向上可能に
Monolith
すべてを実行
Microservices
ひとつのことを実行
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
「API」と「疎結合なコミュニケーション」が自動化を
可能にして信頼性を向上
FUNCTION
API
API
MICROSERVICE
FUNCTION
EVENT
API
MICROSERVICE
EVENT
API
MICROSERVICE
APPLICATION
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ワークフローで複数のサービスを連携することで、
敏捷性、生産性、および柔軟性が向上
データと処理の状態を
トラッキング
冗長なコードを削除
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
マイクロサービスアーキテクチャ
設計パターン
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ソフトウェア設計(デザイン)パターンとは
• ソフトウェア開発におけるデザインパターン(型紙(かたがみ)または設
計パターン、英: design pattern)とは、過去のソフトウェア設計者が発見
し編み出した設計ノウハウを蓄積し、名前をつけ、再利用しやすいように
特定の規約に従ってカタログ化したものである。(出典: フリー百科事典
『ウィキペディア(Wikipedia)』)
• Name、Context、Problem、Forces、Solutionなどのパターンテンプレート
を利用して記述される
• GoF(Gang of Four)の「オブジェクト指向における再利用のためのデザイ
ンパターン」が有名
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
APIゲートウェイパターン
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
API ゲートウェイパターンとは
• Backends for Frontends(BFF)パターンとも言われる
• バックエンドサービスへの呼び出しが多数ある場合や、クライアントイン
ターフェイスまたはデバイスタイプによって提供コンテンツが違う場合に
使用可能
• API ゲートウェイによって、さまざまなバックエンドサービスの呼び出し
を統一された APIで統合し、それぞれのデバイスに必要なコンテンツを提供
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
API ゲートウェイパターン
モバイルクライアント ウェブクライアント
サービス サービス サービス サービス
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
API ゲートウェイパターン
</>
APIゲートウェイ
モバイルクライアント ウェブクライアント
サービス サービス サービス サービス
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon API Gateway を利用
モバイルクライアント ウェブクライアント
サービス サービス サービス サービス
Amazon API Gateway
© 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 サポート
© 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
© 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
© 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/
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
サービス ディスカバリ/サービス レジストリパターン
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
サービス ディスカバリ/サービス レジストリパターンとは
• サービスが他のサービスを利用する際の課題を解決
• サービスレジストリは、個々のコンテナやインスタンスの起動時に、呼び
出されるサービスがそのサービス自体の情報を保存
• サービスディスカバリは、動的に変更する関連サービスのアドレスを取得
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
サービス レジストリパターン
サービスA サービスB
サービスレジストリ
ユーザー
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
サービス ディスカバリパターン
サービスA サービスB
サービスディスカバリ
ユーザー
© 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
© 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
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Cloud
Map
すべてのクラウドリソースのためのレジストリ
高速でセキュアな名前解決
属性ベースのディスカバリ
Amazon Route 53のヘルスチェックによる一部エラー
のハンドリング
AWSクラウドやOSSとの統合
AWS Cloud Mapの 機能紹介
© 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
• 名前空間
• サービス
• サービスインスタンス
(リソース)
© 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
© 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
© 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”
}
}
]
}
© 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
© 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
© 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
© 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
© 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
マネージドコントロールプレーン
• 容易なオペレーション
• 高いスケーラビリティ
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
透過的な実装のメリット
• 可観測性、分析性、ルーティングの機能をサービス間で一貫した形で適用
可能
• 2つのサービスの相互接続間で、ロギング、トレーシング、メトリックスの
収集をアプリケーションコードへの影響を最小限になるように実装
• これらの機能を提供するSDKを利用してコンパイルする ”インプロセスパ
ターン”を利用と比較して
• すべてのメンバーがSDKを学習する必要がない
• Polyglot 開発を実現している場合、多数の言語用のSDKを用意しな
くて良い
• SDKの各言語用のバージョン間の差異に苦しむことがない
• SDKの組み込みはアプリとオペレーションの密結合を生む
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
サーキット ブレーカーパターン
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
サーキットブレーカーとは
• マイクロサービス間の呼び出しを規制し、グレースフルな機能低下を実現
• サービスが相手サービスの呼び出しに通常より長い時間がかかった場合や
エラーが返された場合、サーキットブレーカーがインシデント数をカウン
ト
• カウントが設定された制限を超えるとオープン状態に移行、オープン状態
になると、サーキットブレーカーは呼び出し元に即座にエラーを返却
• 一定時間が経過、またはヘルスチェックによって相手サービスが復活する
と、サーキットブレーカーはクローズ状態に戻り相手サービスへの呼び出
しも平常時の状態に戻る
•
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
サーキット ブレーカーパターン
サービスAユーザー サーキットブレーカー サービスB
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
サーキット ブレーカーパターン
サービスAユーザー サーキットブレーカー サービスB
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
サーキット ブレーカーパターン
サービスAユーザー サーキットブレーカー サービスB
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
サーキット ブレーカーパターン
サービスAユーザー サーキットブレーカー サービスB
© 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
© 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: 異常値検知によってイジェクトされる
アップストリームのホストの最大閾値%
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コマンドクエリ責務分離(CQRS)パターン
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コマンドクエリ責務分離パターン
• コマンドクエリ責務分離(Command-Query Responsibility Segregation:
CQRS)パターンはデータを更新するコマンドと参照するクエリを分離するこ
とで、ユースケースに応じて個別にスケールすることを可能とするパターン
• データソースを分離することで異なるデータ構造を取ることも可能となり、ク
エリ側はクエリで返すデータ転送オブジェクト(Data Transfer Object : DTO)
に合わせた形のスキーマとすることでオブジェクト関係マッピング(Object
Relational Mapping : ORM)のオーバーヘッドを軽減することも可能になる
• コマンド側とクエリ側が結果整合性を許容する必要がある
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コマンドクエリ責務分離(CQRS)パターン
ユーザー
サービス
ドメインモデル ドメインモデル
ORM ORM
データ転送
オブジェクト
クエリ更新
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コマンドクエリ責務分離(CQRS)パターン
ユーザー
コマンドサービス
ドメインモデル
データ転送
オブジェクト
クエリ更新
クエリサービス
データ転送
オブジェクト
© 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
ユーザー
© 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
フロントサービス
© 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
© 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"
}]
}
© 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']))
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
イベント ソーシングパターン
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
イベントソーシングパターンとは
• データストアを直接更新する代わりに、注文の発注、クレジット照会、出
荷中の注文など、ビジネスロジックに重要なイベントを耐久性のあるイベ
ントログに追加
• イベントレコードは個別に保存されるため、すべての更新はアトミック (分
割不可かつ削減不可)
• 保存されたイベントを再度処理するだけで、アプリケーションのいかなる
時点の状態でも再構築 可能
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
イベント ソーシングパターン
ユーザー
プロセス
イベントログ
イベント
プロセス プロセス
状態
© 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
状態
メッセージ メッセージ メッセージ
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コレオグラフィーパターン
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コレオグラフィーパターンとは
• 必要なすべての情報を含んだ最初のイベントを 1 つのメッセージに保存し
て、最初のトランザクションを完了
• 他のサービスがそのメッセージを非同期的に取得し、それぞれのタスクを
完了させる
• サービスが疎結合になり、直接互いに影響を与えない
• メッセージの保存と取得が非同期の関係になり、スケーラビリティと信頼
性が向上
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
コレオグラフィーパターン
ユーザー
リクエストサービス リクエストキュー
サービスA
サービスB
サービスC
© 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
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
集約ログパターン
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
集約ログパターン
ユーザー
サービスA
サービスB
サービスC
サービスD
サービスE
ログデータの集約
ユーザーモニター
トレース
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
集約ログパターン
ユーザー
サービスA
サービスB
サービスC
サービスD
サービスE
ログデータの集約
ユーザーモニター
トレース
AWS X-Ray
Amazon CloudWatch
Logs
© 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は多数のアプリケーションブロックを提供
• アプリケーションブロックをうまく活用することで、素早く構築
• フルマネージドなサービスを利用することで運用負荷も軽減
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Q&A
お答えできなかったご質問については
AWS Japan Blog 「https://aws.amazon.com/jp/blogs/news/」にて
後日掲載します。
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS の日本語資料の場所「AWS 資料」で検索
https://amzn.to/JPArchive
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
日々のアップデートチェックは週刊AWSで
で[検索]週刊AWS
© 2020, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
毎週” 個別技術相談会”を実施中
• のソリューションアーキテクト に
対策などを相談することも可能
• 申込みはイベント告知サイトから
(https://aws.amazon.com/jp/about-aws/events/)
AWS Well-Architected 個別技術相談会
© 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
ご視聴ありがとうございました

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 の活用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.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdfAmazon Web Services Japan
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介Amazon Web Services Japan
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon Web Services Japan
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチAmazon Web Services Japan
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介パッケージソフトウェアを簡単に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 Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer ProfilesAmazon Web Services Japan
 
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために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開発⼊⾨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アンチパターン大紹介[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のご紹介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 ...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 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ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 operations20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operationsAmazon Web Services Japan
 
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報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 の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな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 VPN202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPNAmazon 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 の活用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.pdf202203 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」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
 
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDD
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
 
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
パッケージソフトウェアを簡単に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 Profiles202202 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ダッシュボードを最速で用意するために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開発⼊⾨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アンチパターン大紹介[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のご紹介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 ...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 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ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 operations20211209 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アップデート速報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 の本気ってやつをな[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 keynotes20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes
 
20211109 bleaの使い方(基本編)
20211109 bleaの使い方(基本編)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 VPN202110 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日本語マニュアル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論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。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論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介: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日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: 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の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。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論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介: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 ご視聴ありがとうございました