Japan 公式ブログ
Google の企業向けソリューションに関する公式な情報やユーザーの事例などを、いち早く皆さんにお届けします。
任天堂株式会社の導入事例:ビッグタイトル『Super Mario Run』のバックエンドを支えた Google App Engine
2017年6月14日水曜日
昨年末にリリースされ、任天堂初のスマートフォン向け本格ゲームアプリとして注目された『Super Mario Run(スーパーマリオ ラン)』。その背後では、文字通りケタ違いのアクセスをさばく強力なバックエンドが稼働していました。任天堂、DeNA そして Google が一丸となって取り組んだ、その開発ストーリーをお届けします。
■利用している Google Cloud Platform サービス
Google App Engine
Google Cloud Pub/Sub
Google Cloud Dataflow
Google BigQuery
Google Cloud Storage
Google Stackdriver (Logging, Monitoring, Trace, etc)
など
■
任天堂株式会社
1980 年代に『ファミリーコンピュータ』によって、世界中にビデオゲームブームを巻き起こし、その後も家庭用ゲーム機市場を牽引し続けている老舗エンタテインメント企業(1889 年創業)。マリオやドンキーコング、ゼルダの伝説、どうぶつの森など、強力な IP(知的財産)を多数保有していることでも知られている。
アプリの将来に備え、バックエンドをマネージドサービスに移管
2015 年 3 月 17 日に突如発表され、世界中のゲームファンに衝撃を与えた任天堂のスマートデバイス進出。そのゲームアプリ市場で絶大な実績とノウハウを持つ株式会社ディー・エヌ・エー(以下、DeNA)との協業(業務・資本提携)によって、マリオなど、任天堂の誇る世界的 IP をスマートデバイス向けにも展開していくことが大々的に発表されました。相互の強みを活かす形で、ゲーム開発や、それを安定動作させるバックエンドを共同で開発していくことになったのです。そして、そのきっかり 1 年後となる 2016 年 3 月 17 日には、任天堂初のスマートデバイスアプリとなる『Miitomo(ミートモ)』をリリース。続いて、12 月にはiOS版『Super Mario Run』(Android 版は 2017 年 3 月リリース)が、2017 年 2 月には『ファイアーエムブレム ヒーローズ』が配信開始されています。今後も 1 年に 2~3 本のスマホアプリを投入していく予定ということです。
投入する全てのタイトルがそれぞれビッグタイトルとなることが期待されている任天堂ゲームアプリにおいて、それを支えるバックエンドに求められる品質は並大抵ではありません。今回、DeNA 側のチームを率いて、このプロジェクトに参画した株式会社ディー・エヌ・エー オープンプラットフォーム事業本部 システム開発部 菅原賢太さんは、次のように当時を振り返ります。
「2016 年春に『Miitomo』をリリースした際は、オンプレミスに近い形でバックエンドを構築していたのですが、それだとどうしても運用にリソースを奪われてしまい、効率的な開発を妨げている面がありました。今はまだ良くても、このままタイトル数が増えていったら大変なことになるぞという懸念があったんですね。また、当時、任天堂さんから提示された『Super Mario Run』の想定トラフィックが、これまで多くのスマホアプリを手がけてきた我々の目から見てもあまりにもケタ違いで……。そこで、
Google App Engine(GAE)
のようなマネージドサービスを利用して、いくつかの業務を Google さんにシフトするということを提案することにしました。」
GAE のオートスケールは、トラフィック量に合わせて自動でインスタンスの追加、削除を行います。しかも、ミリ秒単位でその数を最適化することが可能です。世界同時リリースという大量のアクセス数が予想された今回のケースでは、システムがダウンすることは絶対に避けなければなりません。高可用性が求められるサービスの実現に GAE が選択された理由の一つがここにあるのです。
しかし、GAE を採用するということはバックエンドを 1 から作り直すと言うことにほかなりません。しかも菅原さんが任天堂にこの提案を行ったのは 2016 年 7 月末。『Super Mario Run』配信予定日まで、もう、半年を切っていました。任天堂側はこれについてどのように対応したのでしょうか?今回のプロジェクトのもう一方を担う、任天堂側のチームを率いてきた、任天堂株式会社ビジネス開発本部 スマートデバイス事業部の府川幸太郎さん、竹本賢一さんにも聞いてみました。
「確かに大規模な改修ではあるのですが、『Miitomo』で菅原さん率いる DeNA チームの実績を目の当たりにしていたので、今から始めても充分にやりきれるのではないかという確信がありました。いや、むしろ、今、このタイミングでそれをやらなければ将来的にまずいことになるだろう、と。また、個人的にもマネージドサービスを活用して社内の運用コストを軽減することに興味がありましたので、ぜひやりたいと思いました。」(竹本さん)
「……と、竹本は言いますが、私自身はそれよりもやや慎重でしたね(笑)。将来に向けた不安要素があるとは言え、既に安定稼働しているシステムがあり、その次に来るタイトルがマリオというビッグタイトルで失敗が許されないわけですから。そんな中、これまで使ったことのない GAE に移行するというのはかなりのチャレンジ。ただ、最終的には、私がテクニカルな面で信頼を置いているこの 2 人が問題ないと言うのだから移行しようと決断しました。」(府川さん)
任天堂株式会社
ビジネス開発本部 スマートデバイス事業部 事業システム開発グループ
グループマネージャー 府川幸太郎さん
“クレイジーな目標”に 3 社協力のもと邁進
こうして動き始めたバックエンドの GAE 移行。これに際し、竹本さんと、菅原さんはまず Google に技術的協力を要請します。もちろん、Google にとってもそれは望むところ。ちょうどその数か月前(2016 年 7 月)にNiantic, Inc. からリリースされた『Pokémon GO』での経験を踏まえ、大規模プロジェクトにおける安定性向上を顧客と二人三脚でやっていくべきだという認識が生まれていたのです。
「時間がない中、Google さんのフットワークの軽さ、積極性には本当に驚かされました。相談した先から、その場で一緒に課題を解決してくれる方をご紹介いただくなど、迅速に対応していただきました。」(竹本さん)
任天堂株式会社
ビジネス開発本部 スマートデバイス事業部 事業システム開発グループ
グループチーフ 竹本賢一さん
「9 月末ごろに一通りの実装が終わり、そこから、10%、20%と品質を高めていくため、さまざまな助言をいただきました。毎日のようにハングアウトでやり取りしたほか、実際にアメリカからお越しいただき、同じ部屋に籠もってみっちりトラブルシュートできたのはありがたかったですね。もちろん、こちらからもそれぞれのサービスをどのくらいの規模感で使うことになるのかなどを、エスティメーションシートにまとめて共有するようにしています。そうしたかたちで、非常に効率的に開発が進んでいった結果、10 月下旬くらいには満足できるレベルのものが仕上っています。」(菅原さん)
もちろん、そこからの負荷試験においても、Google は徹底的にこれにコミット。アメリカ本社の SRE(Site Reliability Engineering=サイト信頼性エンジニアリング)担当者も来日し、『Super Mario Run』の配信に耐えうる堅牢なバックエンドを構築。最終的には
Datastore
へのトラフィックテストにおいて、秒間 300 万アクセスのテストを完了。想定される数字の数倍ものアクセスにも耐えるシステムが完成しました。
「ただ、そんな Google さんから見ても、『Super Mario Run』を 150 か国・地域で同時スタートしようというのは衝撃的だったようで、最初のミーティング時に『あなたたちはクレイジーだ!』と言われてしまいました(笑)。でも、そこで、だからやるべきではない、ではなく、どうすればやれるのかを一緒に模索してくれたのはうれしかったですね。最初から最後まで建設的なやり取りができました。」(竹本さん)
システム構成図(GCPのさまざまなサービスを利用)
『Super Mario Run』配信当日、そこに“ドラマ”はなかった
そして迎えた、『Super Mario Run』配信日。その後の発表で明らかにされたよう、わずか 4 日で 4,000 万ダウンロード( 1 億 5,000 万ダウンロードに到達する見通し。2017 年 4 月末時点)という、まさに“お祭り騒ぎ”とも言えるような大フィーバーとなりました。もちろんこの日は任天堂も DeNA も泊まり込みで待機していたそうです。近年、大規模タイトルでは少なからず接続障害が発生していますが、『Super Mario Run』はどうだったのでしょうか?
「ところが、これが本当に何事もなかったんです。あまりに何もなさ過ぎて不安になってしまうほど。当日にこんなトラブルがあって、それをこんなふうに切り抜けたんです、とか言えれば良かったんですが、そこに“ドラマ”は起きませんでした(笑)。」(菅原さん)
その後の『ファイアーエムブレム ヒーローズ』や Android 版『Super Mario Run』のリリース時にも、このバックエンドは安定動作。現在も特に大きな問題は起こっていないと言います。
「もちろん、小さなトラブルはいくつかありましたが、お客さまが長時間ゲームをプレイできなくなったというようなトラブルは発生していません。現在、抱えている課題は急激なアクセス増があった時に若干、遅延が発生するというくらいですね。今はその対策として GAE のオートスケールにちょっと手を加えて、アクセスが急増するゲーム内イベントの直前などに手動でインスタンスを上げられる仕組みなどを組み込んでいるのですが、これが完全自動化されるのが理想。今どきは機械学習などもありますし、Google さん ならきっとできるはず(笑)。もちろん、そのために必要となるデータはフィードバックさせていただいています。」(菅原さん)
株式会社ディー・エヌ・エー
オープンプラットフォーム事業本部 システム開発部 アライアンスシステムグループ
グループマネージャー 菅原賢太さん
今回開発したシステムでは、ゲームに関係する各種ログデータも膨大に記録されています。こうしたデータの分析には
BigQuery
を活用。大量データを瞬時に分析することが可能となり、今後のアプリ開発に有益な情報を蓄積しています。
「今後もタイトルをリリースしていく予定ですが、任天堂、DeNA さんそして、Google さんの、このメンバーでやっているうちは、大きな壁を感じることはないのではないかと期待しています。報道などでは意外と言われることもあった、任天堂と DeNA さんの組みあわせですが、実際にやってみると、任天堂が長年培ってきたグローバルサービスのノウハウと、DeNA さんが持っているモバイルのノウハウが相互に補うようにがっちりハマりました。今、考え得る最高のチームが作れたのではないかと思っています。」(府川さん)
任天堂株式会社の導入事例 PDF は
こちら
をご覧ください。
GCP のその他の導入事例は
こちら
をご覧ください。
0 件のコメント :
コメントを投稿
Labels
77 min Lunch
add on
admin
Android
API
App Engine
apps
atmosphere
Atmosphere Tokyo
bigquery
Box
Calendar
Case Study
Chorme OS
Chrome for Work
Chrome ウェブストア
chromebook
chromebooks
Chromebooks for Education
Chromebooks for meeting
Chromebooks for Work
Chromebox for digital signage
Chromebox for meetings
Cloud
cloud connect
Cloud monitoring
Cloud Ranking
compliance
compute engine
Deloitte
developers
Drive for Work
earth api
Education
enterprise
Enterprise Japan
event
Evernote
Firebase
FISC
G Suite
G Suite Business
G Suite ユーザー事例
G+
gadget
GAE
GCE
GCP
GDPR
GEO
GEP
GfWtips
GKE
gmail
Gmail、新機能
Gone Google
GoneGoogle
Google App Engine
Google Apps
Google Apps Blog
Google Apps for Education
Google Apps for Work
Google Apps Script
Google Apps ユーザー事例
Google atmosphere
Google calendar
Google calender
Google classroom
Google Cloud
google cloud platform
Google Commerce Search
Google Derive
Google Docs
google drive
Google Drive for Work
Google Earth
google enterprise
Google Enterprise Day
Google for Education
Google for Work
Google form
Google hang-out
Google hung-out
google map
Google maps
google maps api
google maps api premier
Google Maps for Work
Google Message Continuity
google search appliance
Google Shopping
Google Sites
Google Springboard
Google Storage for Developers
Google Video
Google Wave
Google スライド
Google ドキュメント
Google ドライブ
Google フォーム
GoogleApps
GoogleApps、ユーザ事例
GoogleApps、新機能、spreadsheets
groups
gsa
healthcare
Inbox
iOS
iphone
ISAE 3402 Type II
ISO 27018
IT
japan
Lotus Notes
map
maps api
Maps-sensei
Mapsコーナー
media
microsoft office
migration
mobile
new features
Next
Next Tokyo
Office 365
partner
partner program
Partner Summit
postini
pricing
research
RSA
SAS70
search
Security
Security Key
seminar
Shizuoka
Signage
Sites
SMB
SSAE 16 Type II
SSO
startup
Status Dashboard
Trial
Upload any files
vault
Virtual Conference
VMware
あっぷす先生
あっぷす先生 誤解をとく!
あっぷす先生会社訪問
イベント
おしえて!あっぷす先生
おしえて!くらうど先生
オフライン
クラウド
くらうど先生
サイネージ
サポート
セキュリティ
チームドライブ
チェンジマネジメント
テレワーク
パートナー
ハングアウト
プライバシー
まっぷす先生
ランキング
企業検索
機械学習
互換性
事例
新機能
働き方
導入事例
Archive
2017
6
5
4
3
2
1
2016
12
11
10
9
8
7
6
5
4
3
2
1
2015
12
11
10
9
8
7
6
5
4
3
2
1
2014
12
11
10
9
8
7
6
5
4
3
2
1
2013
12
11
10
9
7
6
5
4
3
1
2012
12
11
10
9
8
7
6
5
4
2
2011
12
10
9
8
7
5
4
2
2010
12
11
10
9
7
6
5
3
2
1
2009
12
11
10
9
8
7
6
5
4
3
2
1
2008
12
11
10
9
8
7
6
5
4
3
2
2007
12
Feed
Subscribe by email
Google
on
Follow @GsuiteJapan
Useful Links
G Suite
Google Cloud Platform
Google 検索アプライアンス
Google Maps
G Suite 公式アップデート情報
0 件のコメント :
コメントを投稿