SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Web Services Japan K.K.
Solutions Architect Fumihiko Hata
2017.01.24
AWS におけるモバイルゲーム向け
API サーバの実装 2018
AWS Gaming Tech Night #2
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
内容についての注意点
本資料では2017年1⽉24⽇時点のサービス内容および価格についてご説明しています。最新
の情報は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.
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Agenda
モバイルゲームのアーキテクチャと構成要素
API サーバ
実装/アーキテクチャ
Amazon EC2 & ELB (Typical 3-Tier)
Amazon API Gateway & AWS Lambda (Serverless 3-Tier)
Amazon Cognito (Serverless 2-Tier)
AWS AppSync (Managed GraphQL)
まとめ
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
アーキテクチャ例
S3CloudFront
WAF
Shield
ELB
ElastiCache DynamoDB
RDSEC2 Game Servers
EC2 API Servers
Kinesis S3
Redshift
Athena
QuickSight
CognitoRoute53
分析
配信
ネットワーク
セキュリティ
API
ゲーム
共通基盤
Client
RDS
プッシュ通知
Pinpoint
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
アーキテクチャ例
S3CloudFront
WAF
Shield
ELB
ElastiCache DynamoDB
RDSEC2 Game Servers
EC2 API Servers
Kinesis S3
Redshift
Athena
QuickSight
CognitoRoute53
分析
配信
ネットワーク
セキュリティ
API
ゲーム
共通基盤
Client
RDS
プッシュ通知
Pinpoint
① HTTP API を⽤いてログイン
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
アーキテクチャ例
S3CloudFront
WAF
Shield
ELB
ElastiCache DynamoDB
RDSEC2 Game Servers
EC2 API Servers
Kinesis S3
Redshift
Athena
QuickSight
CognitoRoute53
分析
配信
ネットワーク
セキュリティ
API
ゲーム
共通基盤
Client
RDS
プッシュ通知
Pinpoint
② Game Assets をダウンロード
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
アーキテクチャ例
S3CloudFront
WAF
Shield
ELB
ElastiCache DynamoDB
RDSEC2 Game Servers
EC2 API Servers
Kinesis S3
Redshift
Athena
QuickSight
CognitoRoute53
分析
配信
ネットワーク
セキュリティ
API
ゲーム
共通基盤
Client
RDS
プッシュ通知
Pinpoint
③ Game Serverのマッチメイク
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
アーキテクチャ例
S3CloudFront
WAF
Shield
ELB
ElastiCache DynamoDB
RDSEC2 Game Servers
EC2 API Servers
Kinesis S3
Redshift
Athena
QuickSight
CognitoRoute53
分析
配信
ネットワーク
セキュリティ
API
ゲーム
共通基盤
Client
RDS
プッシュ通知
Pinpoint
④ GameServer へ接続してバトル
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
アーキテクチャ例
S3CloudFront
WAF
Shield
ELB
ElastiCache DynamoDB
RDSEC2 Game Servers
EC2 API Servers
Kinesis S3
Redshift
Athena
QuickSight
CognitoRoute53
分析
配信
ネットワーク
セキュリティ
API
ゲーム
共通基盤
Client
RDS
プッシュ通知
Pinpoint
⑤ HTTP API を⽤いて結果を永続化
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
S3CloudFront
WAF
Shield
ELB
ElastiCache DynamoDB
RDSEC2 Game Servers
EC2 API Servers
Kinesis S3
Redshift
Athena
QuickSight
CognitoRoute53
分析
配信
ネットワーク
セキュリティ
API
ゲーム
共通基盤
Client
RDS
プッシュ通知
Pinpoint
API サーバ
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
モバイルゲームの API サーバ
• ゲーム内の様々なユーザ操作を
処理、保存する
• ログイン、アイテム購⼊、デッキ編
成、バトルのマッチング、etc.
• 処理結果は RDB に永続されること
が多い
• バトルやステージ内での⼀連のゲー
ムプレイ処理は 専⽤のゲームサー
バが受け持つことが多い
• HTTP(S) で RESTful など
• 全ユーザで同⼀のエンドポイント
ELB
ElastiCache DynamoDB
EC2 API Servers
API
RDS
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
モバイルゲームの API サーバに求められるもの
1. 可⽤性
• 落ちるとゲームが進⾏不可に
2. スケーラビリティ
• 全ユーザが単⼀のエンドポイント
3. レスポンス速度
• ゲーム体験に直接的に影響
4. コードのメンテナビリティ
• ⽇々、機能追加・機能修正
• 繰り返されるイベント実装
ELB
ElastiCache DynamoDB
EC2 API Servers
API
RDS
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
実装/アーキテクチャ
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
1.典型的な3層Webアプリケーション
クライアントは
HTTP(S) で Web サーバ
と通信
サーバサイドは
ELB + EC2 + RDS
Elastic Load Balancing
(以下ELB)
Amazon
Elastic Compute Cloud
(以下EC2)
Amazon
Relational Database Service
(以下RDS)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
1.典型的な3層Webアプリケーション
‣ メリット
‣ 実績が多く枯れた構成
‣ カスタマイズ性が⾼い
‣ 場合によっては後述の
サーバレスアーキテク
チャよりスケールしやす
い
‣ デメリット
‣ サーバのスペック、台数
などスケールを意識して
設計する必要がある
‣ サーバの運⽤は利⽤者に
任されている
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
スーパーマリオラン - 任天堂・DeNA様
https://aws.amazon.com/jp/solutions/case-studies/nintendo-dena/
• 150の国と地域が配信対象
• 極めて短い構築期間
• 配信開始時にアクセスが集中
しかし、障害はなし
(2017年3⽉時点で8000万DL)
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
2.Serverless Architecture
Amazon API Gateway
(以下API GW)
AWS Lambda
(以下Lambda)
Amazon DynamoDB
(以下DynamoDB)
Amazon Cognito
(以下Cognito)
クライアントアプリは Cognito から
Temporary Credentials を得た後、
JSON で Web API と通信
サーバサイドは
API GW/Lambda/DynamoDB
といったマネージドサービスを⽤い、
EC2 や ELB を利⽤しない
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
2.Serverless Architecture
‣ メリット
‣ クライアント側の実装は従
来とあまり変わらずノウハ
ウを活かせる
‣ サーバの運⽤、スケールは
AWS に⼀任できる
‣ Cognito によるセキュアな
API アクセス制御が可能
‣ コスト効率が⾼い
‣ デメリット
‣ カスタマイズ性が低い
‣ 運⽤ノウハウが枯れていな
い
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
モンスターハンター エクスプロア - カプコン様
https://aws.amazon.com/jp/solutions/case-studies/capcom/
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
3.2-Tier Architecture
クライアントアプリは Cognito から
Temporary Credentials を得た後、
AWS SDK を通じて各 AWS リソー
スの API を直接叩く
サーバサイドは各 AWS リソースを
セッティングしておくのみ
(左図は⼀部の例)
Amazon
Mobile Analytics
(以下MA)
Lambda
DynamoDB
Cognito
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
3.2-Tier Architecture
‣ メリット
‣ インフラの運⽤、スケール
は AWS に⼀任できる
‣ 上限値の緩和申請は除く
‣ Cognito によるセキュアな
アクセス制御が可能
‣ Web API の設計は不要
‣ コスト効率が⾼い
‣ デメリット
‣ カスタマイズ性が低い
‣ 運⽤ノウハウが枯れていな
い
‣ クライアントサイドが各
AWSリソースに依存する
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
アナザーエデン - グリー様
https://aws.amazon.com/jp/solutions/case-studies/gree-ddb/
Amazon DynamoDB を利⽤したオートセーブ機能の実装により、通信待ちストレスのない
往年の JRPG を彷彿させるようなシームレスなゲーム体験を実現
• MySQL を排除し、サーバーサイドをシンプルに
• DynamoDB Streams でリアルタイムな分析も
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
3.2-Tier Architecture2.Serverless Architecture
1.典型的な3層Web
アプリケーション 構造
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
3.2-Tier Architecture2.Serverless Architecture
1.典型的な3層Web
アプリケーション 構造
REST REST REST
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
REST API
Data
Source
GET /search
GET /m_search
POST /taps
GET /taps
GET /taps/:id
GET /taps/:id/status
PUT /taps/:id
REST Endpoints
ü 簡単にセットアップ
ü 標準の HTTP 呼び出し
p Join
p 簡略化された「一覧情報」
p クエリサポート
p 順序付け と ページング
p 通知
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS re:Invent 2017
Introduced AWS AppSync
Currently Public Preview
https://pages.awscloud.com/awsappsyncpreview.html
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Managed GraphQL Service
Alexa skill
Elasticsearch
DynamoDB
/foo
AWS AppSync
Browser
Mobile
device
Subscription
AWS Lambda
Other service
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
GraphQL とは
• データ取得のために設計された宣⾔的なクエリ⾔語。
• 仕様はオープン
• グラフDBとは関係ない(例えば、Neo4j)
• NoSQL, Relational, HTTP, etc.
REST APIよくあるデータ取得 GraphQL によるデータ取得
/posts
/postInfo
/postJustTitle
/postsByAuthor
/postNameStartsWithX
/commentsOnPost
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
GraphQL とは
• API ⽤のクエリ⾔語
• クライアント ー サーバ間で共有される強い型付け
• クライアントはサーバのデータを取得、更新、購読する
• クライアントはレスポンスの形式を指定。
• クライアント側の欲しいデータを欲しい形式でクエリ可能
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
API のためのクエリ⾔語
1. Queries read data
2. Mutations write data
3. Subscriptions are pushed data in real time
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
GraphQL はどのように動くのか
{
"id": "1",
"name": "Get Milk",
"priority": "1"
},
{ "id": "2",
"name": "Go to gym",
"priority": "5"
},…
type Query {
getTodos: [Todo]
}
type Todo {
id: ID!
name: String
description: String
priority: Int
duedate: String
}
query {
getTodos {
id
name
priority
}
}
データのスキーマを定義 問い合わせ(クエリ) 希望したデータが返却
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS AppSync の特徴
• マネージドの GraphQL サービス とクライアント SDK
• AWS アカウント内のリソースに接続
• GraphQL の Request/Response とデータソース間の
マッピングを宣⾔的に記述
• オフラインの処理をビルトイン
• クライアント側とサーバ側の更新コンフリクトをクラウド上で解決
• シンプルかつスケーラブルな リアルタイムのデータ同期
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS AppSync はどのように動くのか
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Resolver Mapping Template
• 「GraphQL Request」を「DynamoDB の API コール」にどう変換するか
• 「DynamoDB の Response データ」を「Response Body」にどう変換するか
(※データソースが DynamoDB の場合)
これらは Mapping Template を使ってカスタマイズが可能
https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Request Template
(1) GraphQL Query
https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Request Template
(1) GraphQL Query
(2) Request Template
https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Request Template
(1) GraphQL Query
(2) Request Template
(3) Dynamo DB API Call
https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Response Template
(1) DynamoDB Result Data
https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Response Template
(1) DynamoDB Result Data
(2) Response Template
https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Response Template
(1) DynamoDB Result Data
(2) Response Template
(3) Response Data
https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Response Template
(3) Response Data
https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Response Template
(3) Response Data
(4) GraphQL Response
https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Response Template
(3) Response Data
(4) GraphQL Response
※ Response Template は Simple にこうも書ける
https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
料⾦
https://aws.amazon.com/jp/appsync/pricing/
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
料⾦例
https://aws.amazon.com/jp/appsync/pricing/
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS AppSync を使って
データ駆動のアプリケーションを構築
• 堅牢で、1⽇に何百万件ものイベントを処理できる
スケーラブルなストレージ
• 地理空間検索
• モバイルとウェブ両⽅でリアルタイムに更新
• モバイルとウェブのクライアント
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS AppSync の利点
• スケーラブルなマネージドの GraphQL Service
• 単⼀リクエストで複数データソースから複数リソースを取得
• クライアントが欲しいデータを過不⾜なく取得
→ リクエスト数の低減によるパフォーマンスの向上
• 強⼒な型システム
• GraphQL の⾃⼰記述的な API と、
AppSync の宣⾔的な リゾルバ・マッピング・テンプレート
→ API ロジックのメンテナビリティを向上
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS AppSync
Alexa skill
Elasticsearch
DynamoDB
/graphql
AWS AppSync
Browser
Mobile
device
Subscription
AWS Lambda
Other service
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
3. 2-Tier Architecture2. Serverless Architecture
1. 典型的な3層Web
アプリケーション 構造
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
3. 2-Tier Architecture2. Serverless Architecture
1. 典型的な3層Web
アプリケーション 構造
★ Managed
GraphQL Service
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
まとめ
• AWS で実現される多様な API サーバ実装⼿段
• ゲーム特性や開発チームに応じて、選択/組み合わせ
• AWS AppSync による
• マネージド GraphQL API Server & Client SDK
• リアルタイム処理/ストリーミング処理
• 宣⾔的なメンテナブル API ロジック
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Weitere ähnliche Inhalte

Was ist angesagt?

AWS Black Belt Online Seminar 2018 ReInvent recap security other
AWS Black Belt Online Seminar 2018 ReInvent recap security otherAWS Black Belt Online Seminar 2018 ReInvent recap security other
AWS Black Belt Online Seminar 2018 ReInvent recap security otherAmazon Web Services Japan
 
[JAWS DAYS] 20180310 Alexa for Business とワークスタイルの未来
[JAWS DAYS] 20180310 Alexa for Business とワークスタイルの未来[JAWS DAYS] 20180310 Alexa for Business とワークスタイルの未来
[JAWS DAYS] 20180310 Alexa for Business とワークスタイルの未来Amazon Web Services Japan
 
AWS Black Belt Online Seminar 2018 re:Invent 2017 Recap Machine Learning / Da...
AWS Black Belt Online Seminar 2018 re:Invent 2017 Recap Machine Learning / Da...AWS Black Belt Online Seminar 2018 re:Invent 2017 Recap Machine Learning / Da...
AWS Black Belt Online Seminar 2018 re:Invent 2017 Recap Machine Learning / Da...Amazon Web Services Japan
 
【IVS CTO Night & Day】Serverless & Mobile Updates
【IVS CTO Night & Day】Serverless & Mobile Updates【IVS CTO Night & Day】Serverless & Mobile Updates
【IVS CTO Night & Day】Serverless & Mobile UpdatesAmazon Web Services Japan
 
【IVS CTO Night & Day】アマゾンのイノベーション 〜それを支えるカルチャー〜
【IVS CTO Night & Day】アマゾンのイノベーション 〜それを支えるカルチャー〜【IVS CTO Night & Day】アマゾンのイノベーション 〜それを支えるカルチャー〜
【IVS CTO Night & Day】アマゾンのイノベーション 〜それを支えるカルチャー〜Amazon Web Services Japan
 
【IVS CTO Night & Day】AI / Machine Learning on AWS
【IVS CTO Night & Day】AI / Machine Learning on AWS【IVS CTO Night & Day】AI / Machine Learning on AWS
【IVS CTO Night & Day】AI / Machine Learning on AWSAmazon Web Services Japan
 
【IVS CTO Night & Day】AWS re:Invent 2017 振り返り
【IVS CTO Night & Day】AWS re:Invent 2017 振り返り【IVS CTO Night & Day】AWS re:Invent 2017 振り返り
【IVS CTO Night & Day】AWS re:Invent 2017 振り返りAmazon Web Services Japan
 
[MANABIYA] 20180323 Amazon Aurora with PostgreSQL Compatibility
[MANABIYA] 20180323 Amazon Aurora with PostgreSQL Compatibility[MANABIYA] 20180323 Amazon Aurora with PostgreSQL Compatibility
[MANABIYA] 20180323 Amazon Aurora with PostgreSQL CompatibilityAmazon Web Services Japan
 
AWS re:Invent 2017 Security re:Cap Key Messages
AWS re:Invent 2017 Security re:Cap Key MessagesAWS re:Invent 2017 Security re:Cap Key Messages
AWS re:Invent 2017 Security re:Cap Key MessagesHayato Kiriyama
 
AWS Black Belt Online Seminar 2018 Amazon WorkSpaces
AWS Black Belt Online Seminar 2018 Amazon WorkSpacesAWS Black Belt Online Seminar 2018 Amazon WorkSpaces
AWS Black Belt Online Seminar 2018 Amazon WorkSpacesAmazon Web Services Japan
 
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティングAmazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 Amazon Aurora with PostgreSQL Compatibility
AWS Black Belt Online Seminar 2017 Amazon Aurora with PostgreSQL CompatibilityAWS Black Belt Online Seminar 2017 Amazon Aurora with PostgreSQL Compatibility
AWS Black Belt Online Seminar 2017 Amazon Aurora with PostgreSQL CompatibilityAmazon Web Services Japan
 
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...Amazon Web Services Japan
 
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
20180221 AWS Black Belt Online Seminar AWS Lambda@EdgeAmazon Web Services Japan
 
AWS Black Belt Online Seminar 2018 動画配信 on AWS
AWS Black Belt Online Seminar 2018 動画配信 on AWSAWS Black Belt Online Seminar 2018 動画配信 on AWS
AWS Black Belt Online Seminar 2018 動画配信 on AWSAmazon Web Services Japan
 
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報Amazon Web Services Japan
 
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発Amazon Web Services Japan
 

Was ist angesagt? (20)

aws blackbelt amazon elasticsearch service
aws blackbelt amazon elasticsearch service aws blackbelt amazon elasticsearch service
aws blackbelt amazon elasticsearch service
 
AWS Black Belt Online Seminar 2018 ReInvent recap security other
AWS Black Belt Online Seminar 2018 ReInvent recap security otherAWS Black Belt Online Seminar 2018 ReInvent recap security other
AWS Black Belt Online Seminar 2018 ReInvent recap security other
 
Reinvent2017 recap-gaming-session-2
Reinvent2017 recap-gaming-session-2Reinvent2017 recap-gaming-session-2
Reinvent2017 recap-gaming-session-2
 
[JAWS DAYS] 20180310 Alexa for Business とワークスタイルの未来
[JAWS DAYS] 20180310 Alexa for Business とワークスタイルの未来[JAWS DAYS] 20180310 Alexa for Business とワークスタイルの未来
[JAWS DAYS] 20180310 Alexa for Business とワークスタイルの未来
 
AWS Black Belt Online Seminar 2018 re:Invent 2017 Recap Machine Learning / Da...
AWS Black Belt Online Seminar 2018 re:Invent 2017 Recap Machine Learning / Da...AWS Black Belt Online Seminar 2018 re:Invent 2017 Recap Machine Learning / Da...
AWS Black Belt Online Seminar 2018 re:Invent 2017 Recap Machine Learning / Da...
 
【IVS CTO Night & Day】Serverless & Mobile Updates
【IVS CTO Night & Day】Serverless & Mobile Updates【IVS CTO Night & Day】Serverless & Mobile Updates
【IVS CTO Night & Day】Serverless & Mobile Updates
 
【IVS CTO Night & Day】アマゾンのイノベーション 〜それを支えるカルチャー〜
【IVS CTO Night & Day】アマゾンのイノベーション 〜それを支えるカルチャー〜【IVS CTO Night & Day】アマゾンのイノベーション 〜それを支えるカルチャー〜
【IVS CTO Night & Day】アマゾンのイノベーション 〜それを支えるカルチャー〜
 
【IVS CTO Night & Day】AI / Machine Learning on AWS
【IVS CTO Night & Day】AI / Machine Learning on AWS【IVS CTO Night & Day】AI / Machine Learning on AWS
【IVS CTO Night & Day】AI / Machine Learning on AWS
 
【IVS CTO Night & Day】AWS re:Invent 2017 振り返り
【IVS CTO Night & Day】AWS re:Invent 2017 振り返り【IVS CTO Night & Day】AWS re:Invent 2017 振り返り
【IVS CTO Night & Day】AWS re:Invent 2017 振り返り
 
[MANABIYA] 20180323 Amazon Aurora with PostgreSQL Compatibility
[MANABIYA] 20180323 Amazon Aurora with PostgreSQL Compatibility[MANABIYA] 20180323 Amazon Aurora with PostgreSQL Compatibility
[MANABIYA] 20180323 Amazon Aurora with PostgreSQL Compatibility
 
AWS re:Invent 2017 Security re:Cap Key Messages
AWS re:Invent 2017 Security re:Cap Key MessagesAWS re:Invent 2017 Security re:Cap Key Messages
AWS re:Invent 2017 Security re:Cap Key Messages
 
AWS Black Belt Online Seminar 2018 Amazon WorkSpaces
AWS Black Belt Online Seminar 2018 Amazon WorkSpacesAWS Black Belt Online Seminar 2018 Amazon WorkSpaces
AWS Black Belt Online Seminar 2018 Amazon WorkSpaces
 
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
20180508 AWS Black Belt Online Seminar AWS Greengrassで実現するエッジコンピューティング
 
AWS Black Belt Online Seminar 2017 Amazon Aurora with PostgreSQL Compatibility
AWS Black Belt Online Seminar 2017 Amazon Aurora with PostgreSQL CompatibilityAWS Black Belt Online Seminar 2017 Amazon Aurora with PostgreSQL Compatibility
AWS Black Belt Online Seminar 2017 Amazon Aurora with PostgreSQL Compatibility
 
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...
[最新版は別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar AWS re:Inven...
 
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
 
Reinvent2017 recap-gaming-session-1
Reinvent2017 recap-gaming-session-1Reinvent2017 recap-gaming-session-1
Reinvent2017 recap-gaming-session-1
 
AWS Black Belt Online Seminar 2018 動画配信 on AWS
AWS Black Belt Online Seminar 2018 動画配信 on AWSAWS Black Belt Online Seminar 2018 動画配信 on AWS
AWS Black Belt Online Seminar 2018 動画配信 on AWS
 
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
 
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発
 

Ähnlich wie Serverless backendformobilegame and_aws-appsync_gamingtechnight-2

Security Operations and Automation on AWS
Security Operations and Automation on AWSSecurity Operations and Automation on AWS
Security Operations and Automation on AWSNoritaka Sekiyama
 
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築Junji Nishihara
 
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜Amazon Web Services Japan
 
Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理Amazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 AWS re:Invent 2017速報
AWS Black Belt Online Seminar 2017 AWS re:Invent 2017速報AWS Black Belt Online Seminar 2017 AWS re:Invent 2017速報
AWS Black Belt Online Seminar 2017 AWS re:Invent 2017速報Amazon Web Services Japan
 
[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法
[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法
[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法Takanori Ohba
 
Best Practices for Running PostgreSQL on AWS
Best Practices for Running PostgreSQL on AWSBest Practices for Running PostgreSQL on AWS
Best Practices for Running PostgreSQL on AWSAmazon Web Services Japan
 
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説Amazon Web Services Japan
 
20180220 AWS Black Belt Online Seminar - Amazon Container Services
20180220 AWS Black Belt Online Seminar - Amazon Container Services20180220 AWS Black Belt Online Seminar - Amazon Container Services
20180220 AWS Black Belt Online Seminar - Amazon Container ServicesAmazon Web Services Japan
 
[AWS Developers Meetup 2017] Developerのための ライブAWSウォークスルー 〜 AWS SDKの使い方 〜
[AWS Developers Meetup 2017] DeveloperのためのライブAWSウォークスルー 〜 AWS SDKの使い方 〜[AWS Developers Meetup 2017] DeveloperのためのライブAWSウォークスルー 〜 AWS SDKの使い方 〜
[AWS Developers Meetup 2017] Developerのための ライブAWSウォークスルー 〜 AWS SDKの使い方 〜Atsushi Fukui
 
20180313 Amazon Container Services アップデート
20180313 Amazon Container Services アップデート20180313 Amazon Container Services アップデート
20180313 Amazon Container Services アップデートAmazon Web Services Japan
 
AWS re:Invent 2019 Recap IoT アップデート
AWS re:Invent 2019 Recap IoT アップデートAWS re:Invent 2019 Recap IoT アップデート
AWS re:Invent 2019 Recap IoT アップデートAmazon Web Services Japan
 
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...Amazon 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
 
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めようAWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めようAmazon Web Services Japan
 
JAWS-UG アーキテクチャ専門支部 re:Invent Management Tools ダイジェスト
JAWS-UG アーキテクチャ専門支部 re:Invent  Management Tools ダイジェストJAWS-UG アーキテクチャ専門支部 re:Invent  Management Tools ダイジェスト
JAWS-UG アーキテクチャ専門支部 re:Invent Management Tools ダイジェストYukitaka Ohmura
 
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
 
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...Amazon Web Services Japan
 

Ähnlich wie Serverless backendformobilegame and_aws-appsync_gamingtechnight-2 (20)

Security Operations and Automation on AWS
Security Operations and Automation on AWSSecurity Operations and Automation on AWS
Security Operations and Automation on AWS
 
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
"Kong Summit, Japan 2022" パートナーセッション:Kong on AWS で実現するスケーラブルな API 基盤の構築
 
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜Gaming on aws 〜ゲームにおけるAWS最新活用術〜
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
 
AWS All Stars ~Lightning Talks x 13~
AWS All Stars ~Lightning Talks x 13~AWS All Stars ~Lightning Talks x 13~
AWS All Stars ~Lightning Talks x 13~
 
Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理Amazon Kinesis Familyを活用したストリームデータ処理
Amazon Kinesis Familyを活用したストリームデータ処理
 
AWS Black Belt Online Seminar 2017 AWS re:Invent 2017速報
AWS Black Belt Online Seminar 2017 AWS re:Invent 2017速報AWS Black Belt Online Seminar 2017 AWS re:Invent 2017速報
AWS Black Belt Online Seminar 2017 AWS re:Invent 2017速報
 
[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法
[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法
[CTC Forum 2019/10/25] 事例から学ぶ!AWS 移行でデータベースの管理・コストを削減する方法
 
Best Practices for Running PostgreSQL on AWS
Best Practices for Running PostgreSQL on AWSBest Practices for Running PostgreSQL on AWS
Best Practices for Running PostgreSQL on AWS
 
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
 
AWS Black Belt Online Seminar AWS Amplify
AWS Black Belt Online Seminar AWS AmplifyAWS Black Belt Online Seminar AWS Amplify
AWS Black Belt Online Seminar AWS Amplify
 
20180220 AWS Black Belt Online Seminar - Amazon Container Services
20180220 AWS Black Belt Online Seminar - Amazon Container Services20180220 AWS Black Belt Online Seminar - Amazon Container Services
20180220 AWS Black Belt Online Seminar - Amazon Container Services
 
[AWS Developers Meetup 2017] Developerのための ライブAWSウォークスルー 〜 AWS SDKの使い方 〜
[AWS Developers Meetup 2017] DeveloperのためのライブAWSウォークスルー 〜 AWS SDKの使い方 〜[AWS Developers Meetup 2017] DeveloperのためのライブAWSウォークスルー 〜 AWS SDKの使い方 〜
[AWS Developers Meetup 2017] Developerのための ライブAWSウォークスルー 〜 AWS SDKの使い方 〜
 
20180313 Amazon Container Services アップデート
20180313 Amazon Container Services アップデート20180313 Amazon Container Services アップデート
20180313 Amazon Container Services アップデート
 
AWS re:Invent 2019 Recap IoT アップデート
AWS re:Invent 2019 Recap IoT アップデートAWS re:Invent 2019 Recap IoT アップデート
AWS re:Invent 2019 Recap IoT アップデート
 
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20190410 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
 
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
 
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めようAWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
 
JAWS-UG アーキテクチャ専門支部 re:Invent Management Tools ダイジェスト
JAWS-UG アーキテクチャ専門支部 re:Invent  Management Tools ダイジェストJAWS-UG アーキテクチャ専門支部 re:Invent  Management Tools ダイジェスト
JAWS-UG アーキテクチャ専門支部 re:Invent Management Tools ダイジェスト
 
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アップデート速報
 
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...
[最新版(12/5 最新版) が別にございます! Descriptionをご確認ください] AWS Black Belt Online Seminar A...
 

Mehr von Amazon Web Services Japan

202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)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 OpenZFS202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFSAmazon Web Services Japan
 
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device DefenderAmazon Web Services Japan
 
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現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...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 Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Web Services Japan
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと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 の活用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
 
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
 

Mehr von Amazon Web Services Japan (20)

202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
 
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
 
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
 
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
 
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
 
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...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 Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
 
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
 
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 ...
 

Kürzlich hochgeladen

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Kürzlich hochgeladen (7)

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

Serverless backendformobilegame and_aws-appsync_gamingtechnight-2

  • 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Web Services Japan K.K. Solutions Architect Fumihiko Hata 2017.01.24 AWS におけるモバイルゲーム向け API サーバの実装 2018 AWS Gaming Tech Night #2
  • 2. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 内容についての注意点 本資料では2017年1⽉24⽇時点のサービス内容および価格についてご説明しています。最新 の情報は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.
  • 3. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Agenda モバイルゲームのアーキテクチャと構成要素 API サーバ 実装/アーキテクチャ Amazon EC2 & ELB (Typical 3-Tier) Amazon API Gateway & AWS Lambda (Serverless 3-Tier) Amazon Cognito (Serverless 2-Tier) AWS AppSync (Managed GraphQL) まとめ
  • 4. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. アーキテクチャ例 S3CloudFront WAF Shield ELB ElastiCache DynamoDB RDSEC2 Game Servers EC2 API Servers Kinesis S3 Redshift Athena QuickSight CognitoRoute53 分析 配信 ネットワーク セキュリティ API ゲーム 共通基盤 Client RDS プッシュ通知 Pinpoint
  • 5. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. アーキテクチャ例 S3CloudFront WAF Shield ELB ElastiCache DynamoDB RDSEC2 Game Servers EC2 API Servers Kinesis S3 Redshift Athena QuickSight CognitoRoute53 分析 配信 ネットワーク セキュリティ API ゲーム 共通基盤 Client RDS プッシュ通知 Pinpoint ① HTTP API を⽤いてログイン
  • 6. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. アーキテクチャ例 S3CloudFront WAF Shield ELB ElastiCache DynamoDB RDSEC2 Game Servers EC2 API Servers Kinesis S3 Redshift Athena QuickSight CognitoRoute53 分析 配信 ネットワーク セキュリティ API ゲーム 共通基盤 Client RDS プッシュ通知 Pinpoint ② Game Assets をダウンロード
  • 7. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. アーキテクチャ例 S3CloudFront WAF Shield ELB ElastiCache DynamoDB RDSEC2 Game Servers EC2 API Servers Kinesis S3 Redshift Athena QuickSight CognitoRoute53 分析 配信 ネットワーク セキュリティ API ゲーム 共通基盤 Client RDS プッシュ通知 Pinpoint ③ Game Serverのマッチメイク
  • 8. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. アーキテクチャ例 S3CloudFront WAF Shield ELB ElastiCache DynamoDB RDSEC2 Game Servers EC2 API Servers Kinesis S3 Redshift Athena QuickSight CognitoRoute53 分析 配信 ネットワーク セキュリティ API ゲーム 共通基盤 Client RDS プッシュ通知 Pinpoint ④ GameServer へ接続してバトル
  • 9. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. アーキテクチャ例 S3CloudFront WAF Shield ELB ElastiCache DynamoDB RDSEC2 Game Servers EC2 API Servers Kinesis S3 Redshift Athena QuickSight CognitoRoute53 分析 配信 ネットワーク セキュリティ API ゲーム 共通基盤 Client RDS プッシュ通知 Pinpoint ⑤ HTTP API を⽤いて結果を永続化
  • 10. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. S3CloudFront WAF Shield ELB ElastiCache DynamoDB RDSEC2 Game Servers EC2 API Servers Kinesis S3 Redshift Athena QuickSight CognitoRoute53 分析 配信 ネットワーク セキュリティ API ゲーム 共通基盤 Client RDS プッシュ通知 Pinpoint API サーバ
  • 11. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. モバイルゲームの API サーバ • ゲーム内の様々なユーザ操作を 処理、保存する • ログイン、アイテム購⼊、デッキ編 成、バトルのマッチング、etc. • 処理結果は RDB に永続されること が多い • バトルやステージ内での⼀連のゲー ムプレイ処理は 専⽤のゲームサー バが受け持つことが多い • HTTP(S) で RESTful など • 全ユーザで同⼀のエンドポイント ELB ElastiCache DynamoDB EC2 API Servers API RDS
  • 12. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. モバイルゲームの API サーバに求められるもの 1. 可⽤性 • 落ちるとゲームが進⾏不可に 2. スケーラビリティ • 全ユーザが単⼀のエンドポイント 3. レスポンス速度 • ゲーム体験に直接的に影響 4. コードのメンテナビリティ • ⽇々、機能追加・機能修正 • 繰り返されるイベント実装 ELB ElastiCache DynamoDB EC2 API Servers API RDS
  • 13. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 実装/アーキテクチャ
  • 14. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 1.典型的な3層Webアプリケーション クライアントは HTTP(S) で Web サーバ と通信 サーバサイドは ELB + EC2 + RDS Elastic Load Balancing (以下ELB) Amazon Elastic Compute Cloud (以下EC2) Amazon Relational Database Service (以下RDS)
  • 15. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 1.典型的な3層Webアプリケーション ‣ メリット ‣ 実績が多く枯れた構成 ‣ カスタマイズ性が⾼い ‣ 場合によっては後述の サーバレスアーキテク チャよりスケールしやす い ‣ デメリット ‣ サーバのスペック、台数 などスケールを意識して 設計する必要がある ‣ サーバの運⽤は利⽤者に 任されている
  • 16. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. スーパーマリオラン - 任天堂・DeNA様 https://aws.amazon.com/jp/solutions/case-studies/nintendo-dena/ • 150の国と地域が配信対象 • 極めて短い構築期間 • 配信開始時にアクセスが集中 しかし、障害はなし (2017年3⽉時点で8000万DL)
  • 17. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 2.Serverless Architecture Amazon API Gateway (以下API GW) AWS Lambda (以下Lambda) Amazon DynamoDB (以下DynamoDB) Amazon Cognito (以下Cognito) クライアントアプリは Cognito から Temporary Credentials を得た後、 JSON で Web API と通信 サーバサイドは API GW/Lambda/DynamoDB といったマネージドサービスを⽤い、 EC2 や ELB を利⽤しない
  • 18. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 2.Serverless Architecture ‣ メリット ‣ クライアント側の実装は従 来とあまり変わらずノウハ ウを活かせる ‣ サーバの運⽤、スケールは AWS に⼀任できる ‣ Cognito によるセキュアな API アクセス制御が可能 ‣ コスト効率が⾼い ‣ デメリット ‣ カスタマイズ性が低い ‣ 運⽤ノウハウが枯れていな い
  • 19. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. モンスターハンター エクスプロア - カプコン様 https://aws.amazon.com/jp/solutions/case-studies/capcom/
  • 20. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 3.2-Tier Architecture クライアントアプリは Cognito から Temporary Credentials を得た後、 AWS SDK を通じて各 AWS リソー スの API を直接叩く サーバサイドは各 AWS リソースを セッティングしておくのみ (左図は⼀部の例) Amazon Mobile Analytics (以下MA) Lambda DynamoDB Cognito
  • 21. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 3.2-Tier Architecture ‣ メリット ‣ インフラの運⽤、スケール は AWS に⼀任できる ‣ 上限値の緩和申請は除く ‣ Cognito によるセキュアな アクセス制御が可能 ‣ Web API の設計は不要 ‣ コスト効率が⾼い ‣ デメリット ‣ カスタマイズ性が低い ‣ 運⽤ノウハウが枯れていな い ‣ クライアントサイドが各 AWSリソースに依存する
  • 22. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. アナザーエデン - グリー様 https://aws.amazon.com/jp/solutions/case-studies/gree-ddb/ Amazon DynamoDB を利⽤したオートセーブ機能の実装により、通信待ちストレスのない 往年の JRPG を彷彿させるようなシームレスなゲーム体験を実現 • MySQL を排除し、サーバーサイドをシンプルに • DynamoDB Streams でリアルタイムな分析も
  • 23. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 3.2-Tier Architecture2.Serverless Architecture 1.典型的な3層Web アプリケーション 構造
  • 24. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 3.2-Tier Architecture2.Serverless Architecture 1.典型的な3層Web アプリケーション 構造 REST REST REST
  • 25. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. REST API Data Source GET /search GET /m_search POST /taps GET /taps GET /taps/:id GET /taps/:id/status PUT /taps/:id REST Endpoints ü 簡単にセットアップ ü 標準の HTTP 呼び出し p Join p 簡略化された「一覧情報」 p クエリサポート p 順序付け と ページング p 通知
  • 26. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS re:Invent 2017 Introduced AWS AppSync Currently Public Preview https://pages.awscloud.com/awsappsyncpreview.html
  • 27. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Managed GraphQL Service Alexa skill Elasticsearch DynamoDB /foo AWS AppSync Browser Mobile device Subscription AWS Lambda Other service
  • 28. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. GraphQL とは • データ取得のために設計された宣⾔的なクエリ⾔語。 • 仕様はオープン • グラフDBとは関係ない(例えば、Neo4j) • NoSQL, Relational, HTTP, etc. REST APIよくあるデータ取得 GraphQL によるデータ取得 /posts /postInfo /postJustTitle /postsByAuthor /postNameStartsWithX /commentsOnPost
  • 29. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. GraphQL とは • API ⽤のクエリ⾔語 • クライアント ー サーバ間で共有される強い型付け • クライアントはサーバのデータを取得、更新、購読する • クライアントはレスポンスの形式を指定。 • クライアント側の欲しいデータを欲しい形式でクエリ可能
  • 30. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. API のためのクエリ⾔語 1. Queries read data 2. Mutations write data 3. Subscriptions are pushed data in real time
  • 31. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. GraphQL はどのように動くのか { "id": "1", "name": "Get Milk", "priority": "1" }, { "id": "2", "name": "Go to gym", "priority": "5" },… type Query { getTodos: [Todo] } type Todo { id: ID! name: String description: String priority: Int duedate: String } query { getTodos { id name priority } } データのスキーマを定義 問い合わせ(クエリ) 希望したデータが返却
  • 32. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS AppSync の特徴 • マネージドの GraphQL サービス とクライアント SDK • AWS アカウント内のリソースに接続 • GraphQL の Request/Response とデータソース間の マッピングを宣⾔的に記述 • オフラインの処理をビルトイン • クライアント側とサーバ側の更新コンフリクトをクラウド上で解決 • シンプルかつスケーラブルな リアルタイムのデータ同期
  • 33. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS AppSync はどのように動くのか
  • 34. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Resolver Mapping Template • 「GraphQL Request」を「DynamoDB の API コール」にどう変換するか • 「DynamoDB の Response データ」を「Response Body」にどう変換するか (※データソースが DynamoDB の場合) これらは Mapping Template を使ってカスタマイズが可能 https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
  • 35. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Request Template (1) GraphQL Query https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
  • 36. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Request Template (1) GraphQL Query (2) Request Template https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
  • 37. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Request Template (1) GraphQL Query (2) Request Template (3) Dynamo DB API Call https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
  • 38. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Response Template (1) DynamoDB Result Data https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
  • 39. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Response Template (1) DynamoDB Result Data (2) Response Template https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
  • 40. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Response Template (1) DynamoDB Result Data (2) Response Template (3) Response Data https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
  • 41. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Response Template (3) Response Data https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
  • 42. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Response Template (3) Response Data (4) GraphQL Response https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
  • 43. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Response Template (3) Response Data (4) GraphQL Response ※ Response Template は Simple にこうも書ける https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/resolver-mapping-template-reference-overview.html
  • 44. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 料⾦ https://aws.amazon.com/jp/appsync/pricing/
  • 45. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 料⾦例 https://aws.amazon.com/jp/appsync/pricing/
  • 46. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS AppSync を使って データ駆動のアプリケーションを構築 • 堅牢で、1⽇に何百万件ものイベントを処理できる スケーラブルなストレージ • 地理空間検索 • モバイルとウェブ両⽅でリアルタイムに更新 • モバイルとウェブのクライアント
  • 47. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS AppSync の利点 • スケーラブルなマネージドの GraphQL Service • 単⼀リクエストで複数データソースから複数リソースを取得 • クライアントが欲しいデータを過不⾜なく取得 → リクエスト数の低減によるパフォーマンスの向上 • 強⼒な型システム • GraphQL の⾃⼰記述的な API と、 AppSync の宣⾔的な リゾルバ・マッピング・テンプレート → API ロジックのメンテナビリティを向上
  • 48. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS AppSync Alexa skill Elasticsearch DynamoDB /graphql AWS AppSync Browser Mobile device Subscription AWS Lambda Other service
  • 49. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 3. 2-Tier Architecture2. Serverless Architecture 1. 典型的な3層Web アプリケーション 構造
  • 50. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 3. 2-Tier Architecture2. Serverless Architecture 1. 典型的な3層Web アプリケーション 構造 ★ Managed GraphQL Service
  • 51. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. まとめ • AWS で実現される多様な API サーバ実装⼿段 • ゲーム特性や開発チームに応じて、選択/組み合わせ • AWS AppSync による • マネージド GraphQL API Server & Client SDK • リアルタイム処理/ストリーミング処理 • 宣⾔的なメンテナブル API ロジック
  • 52. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.