Upgrade to Pro — share decks privately, control downloads, hide ads and more …

サーバレスアーキテクチャ入門

 サーバレスアーキテクチャ入門

Gaming Tech Night #2 re:Born (再始動) で登壇した資料です。

https://gs2.io/

Kazutomo Niwa

January 24, 2018
Tweet

More Decks by Kazutomo Niwa

Other Decks in Technology

Transcript

  1. ⾃⼰紹介 丹⽻ ⼀智(にわ かずとも) Game Server Services 株式会社 代表取締役社⻑ CEO

    2006年 株式会社セガ⼊社 携帯電話向けゲームおよびサーバ開発業務に従事 2009年 任天堂株式会社⼊社 ニンテンドー3DSのOS/SDK開発や、 ゲームサーバの開発・運⽤業務に従事 2016年 Game Server Services 株式会社 設⽴ Game Server Services, Inc. https://gs2.io
  2. Game Server Services とは? AWS をはじめとしたクラウドベンダーが提供しているフルマ ネージドサービスのみを組み合わせてモバイルゲーム向けゲーム サーバを開発。 アカウント管理/課⾦通貨管理/スタミナ管理 といったマイクロ

    サービス単位で1時間あたり数円からという⼿頃な料⾦でサービ スを提供。 ゲームサーバ界の Unity を⽬指して開発中。 Game Server Services, Inc. https://gs2.io
  3. FaaS(Function as a Service) • サーバレスという名前を背負って⽕がつき始めた技術はこの FaaS。 • AWS Lambda

    が代表的なサービスで、『S3 にファイルが置か れたら〜』『API Gateway に HTTP リクエストが届いたら 〜』 といったイベントをトリガーとして あらかじめ登録して おいた関数を実⾏できる。というサービス。 • 関数がどのサーバで実⾏されるかなど意識する必要は無い。 Game Server Services, Inc. https://gs2.io
  4. BaaS(Backend as a Service) • 特定の⽤途に特化したサーバシステムを提供するサービス。 • Game Server Services

    も BaaS にあたる。 • 本当にスケールするかはサービスの実装による。スケールしな いのであれば、キャパシティに当たったときに神に祈るしかな くなる。 • ちなみに Game Server Services は FaaS + フルマネージド サービス を組み合わせて設計されており、明確な限界性能はあ りません。 Game Server Services, Inc. https://gs2.io
  5. マネージド?フルマネージド? • マネージドサービス • Amazon RDS • Amazon ElastiCache •

    Amazon Elasticsearch Service • フルマネージドサービス • Amazon Simple Queue Service • Amazon DynamoDB • AWS Lambda Game Server Services, Inc. https://gs2.io 仮想サーバにMySQL/Redisといった アプリケーションをセットにしたサービス サーバの性能は インスタンスタイプによって決定 AWS が開発した アプリケーションコンポーネント サーバの性能は 利⽤状況に応じてスケール
  6. これがAWSのフルマネージドサービス! Game Server Services, Inc. https://gs2.io Lambda Elastic Container Service(Fargate)

    S3 Glacier DynamoDB CloudFront Route 53 API Gateway よく知らない よく知らない Athena Kinesis IAM Cognito Certificate Manager WAF & Shield AWS AppSync Step Functions Simple Notification Service Simple Queue Service Simple Email Service AWS IoT Amazon GameLift
  7. FaaSってピタゴラ装置って聞いた FaaS はイベント駆動設計と相性がいい。 結果、ピタゴラ装置になる。 Game Server Services, Inc. https://gs2.io API

    Gateway HTTPリクエスト Lambda イベント DynamoDB ファイルアップロード S3 Lambda イベント データ保存 イベント
  8. イイヤツ置いておきますね • つ [ https://gs2.io/ ] • なんと Game Server

    Services は FaaS + フルマネージドサー ビスのみで実装されたゲームサーバがお⼿頃価格で利⽤可能! • GS2 Unity SDK を使⽤すれば、アプリケーション開発者だけで ネットワークゲーム開発が可能に! • 毎⽉数個のサービスを追加しており、近い将来パズドラ/モン ストライクなゲームがサーバレスで開発出来るように! Game Server Services, Inc. https://gs2.io
  9. GS2の実装例(アカウント認証) Game Server Services, Inc. https://gs2.io API Gateway HTTPリクエスト Lambda

    イベント Lambda 権限確認 OK/NG DynamoDB アカウント検索 アカウント情報 Kinesis Firehose ロギング パスワード検証 認証結果 認証結果 ファイル出⼒ Lambda イベント DynamoDB 課⾦処理 メトリック記録 Stats出⼒ Cloud Watch Event Stats取得 S3 Athena ログ検索 P/S P/S BQ