こんにちは。インフラ統括マネージャーの佐藤です。
2017年6月1日(木)に開催された Game Tech Session ~AWS Summit Tokyo 2017~ にて、「DAU 100 万人突破! 急成長を支える Shadowverse のインフラ技術」というタイトルで講演をさせていただきました。
講演に参加いただいた皆さまありがとうございました。
Game Tech Session ということでweb系やゲーム系のサーバ管理に携わっている方に向けてShadowverseのインフラ技術やCygamesが独自開発した技術などをテーマに講演させていただきました。
こちらが講演のスライドになります。
講演では下記の2つのトピックについて発表しました。
- Shadowverseを支えるインフラ技術
- スケーラブルなログ収集基盤
Shadowverseを支えるインフラ技術
Shadowverseは2016年6月21日にリリースして、あと数週間で1周年を迎えますが、これまでサーバ構成やインフラのレイヤーで2つのチャレンジがありました。そのチャレンジの詳細をセッションではお伝えしております。
一つは対戦システムのスケールアウトです。
リリース当初の対戦システムの構成はRedisのpub/sub通信を利用しており、スケールアウトが難しい構成をとっておりました。Nginxによるルーム対戦の仕様に特化した独自開発のL7ロードバランサの開発と移行を行いました。その構成と利用されている技術を説明させていただきました。
もう一つはShadowverseのリプレイ機能のリリースについてです。
年末の最もアクセスが多いタイミングで運用中システムに全対戦データの保存とデータロードの仕組みを追加しました。ユーザに見せない形でリリースし、本番環境で長期間検証を行うことで無事にリリースし、今まで大きな障害もなく運用してきました。いかにリリースを成功させたか発表させていただきました。
スケーラブルなログ収集基盤
Cygamesで独自開発したログ転送エージェントとAWSサービスを使ったログ収集基盤について発表しました。
Cygamesのログデータは1日14TB(※非圧縮時)に及びます。そのログデータの収集先をAmazon S3(以下S3)に集約し、S3に転送することに特化したログ転送エージェントの開発を行いました。その転送エージェントの技術とS3に集約したデータの活用方法を説明させていただきました。
また、AWS lambda(以下lambda)やAmazon EC2 Container Service(以下ECS)を利用したログ量に応じてスケールアウトするログ基盤を紹介しました。 S3に保存されたデータを外部のツールにlambdaとECSを利用して、ログ量に応じてスケーリングを行うシステムを設計しました。セッションではlambdaとECSの2つのスケーリングポリシがどのように連動するか、またAWSサービスを選定した経緯等を発表しております。
最後に
本セッションに参加いただいた皆様ありがとうございました。
残念ながらセッションに参加できなかった方でも当日の発表内容がわかるようにスライドの補足を加えさせていただきました。ぜひスライドを閲覧いただければと思います。
Cygamesインフラではユーザに安心して楽しんでいただける環境を提供できるよう日々安定稼働を目指しつつ、新しい技術に挑戦しております。
今回のセッションでは発表できませんでしたが、Amazon kinesisを導入した事例やEC2サーバのプロビジョニング方法などどこかの機会でまたお伝えできればと考えております。
セッションの最後にCygamesインフラが大切にしている3つのことを紹介しクローズさせていただきました。
- 当たり前のことを当たり前にやる
- インフラのレイヤーで課題を解決する
- コア技術は自分たちで実装する
この私たちのマインドに共感いただけて共に働ける仲間を募集しております。
興味がある方は、こちらをご覧ください。