Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

DeNAのネイティブアプリにおけるサーバ開発の現在と未来

30,157 views

Published on

DeNA TechCon 2018の登壇資料です。

Published in: Technology
  • Be the first to comment

DeNAのネイティブアプリにおけるサーバ開発の現在と未来

  1. 1. DeNAのネイティブアプリにおける サーバ開発の現在と未来 ゲーム・エンターテインメント事業本部 Japanリージョンゲーム事業部開発基盤部 Yoshiro Kitazawa
  2. 2. 自己紹介 北澤 慶郎 (Kitazawa Yoshiro) ● 2008年 DeNA新卒入社 ● ブラウザゲームタイトルの新規開発・運用 ● ネイティブアプリタイトルの新規開発 ● タイトル横断で利用するBaaSの開発などに携わる
  3. 3. 今日お話ししたいこと 大規模サービスを支えるサーバサイド技術
  4. 4. 今日お話ししたいこと 大規模サービスを支えるサーバサイド技術 ではなく、 DeNAのネイティブアプリ開発のために サーバサイドで何をしたか/するかという話です。
  5. 5. 今日お話ししたいこと • これまで編 • DeNAのゲーム年表 • Sakasho • これから編
  6. 6. DeNAのゲーム年表
  7. 7. DeNAのゲーム年表
  8. 8. DeNAのゲーム年表
  9. 9. DeNAのゲーム年表
  10. 10. DeNAのゲーム年表
  11. 11. DeNAのゲーム年表
  12. 12. DeNAのゲーム年表
  13. 13. DeNAのゲーム年表
  14. 14. DeNAのゲーム年表
  15. 15. DeNAのネイティブアプリ開発の現在 2018年現在 • 内製開発 6タイトルリリース • 多数のタイトルを新規開発中 • 協業開発でも多数のタイトルを開発・運用中
  16. 16. DeNAのネイティブアプリ開発の現在 どういう戦略でここまできたのか? 沢山あるのですが、 その中でサーバサイドでやったことを紹介します
  17. 17. DeNAのネイティブアプリ開発の現在 Sakasho 内製BaaSであり汎用ゲームサーバ
  18. 18. Sakasho 特徴 • Sakashoサーバ + クライアントアプリ で完結 • 多数のタイトルのサーバを一手に引き受ける • 同一のアプリケーション • 1つのチーム(10人前後) • タイトルチームはクライアントエンジニアだけ • 一般的なソーシャルゲームの機能をほぼ実装
  19. 19. Sakasho 機能一覧 • アカウント認証 • クライアント主導のセーブデータ管理 • アセット配信 • 課金 • 仮想通貨管理 • Push通知 • メンテナンス • 強制バージョンアップ • ログインボーナス • ガチャ • SNS連携データ引継ぎ • フレンド • アイテム補填機能 • ランキング • 他プレイヤー検索機能 • 返信付きお問合せ機能 • 分析ログ送信 • , etc.
  20. 20. Sakasho 特徴 • 各タイトル開発チームにとっては、完全にブラックボ ックス • サーバで出来ることはある程度最初に決まっている • 最適化の対象外
  21. 21. Sakasho なぜそうしたか?
  22. 22. Sakasho • 選択と集中 • アーキテクチャの統一 • 運用ポリシーの統一 • サーバ技術の集約
  23. 23. Sakasho • 選択と集中 • アーキテクチャの統一 • 運用ポリシーの統一 • サーバ技術の集約
  24. 24. Sakasho 選択と集中 • webブラウザゲームでは、単純な表現力という意味では一定の制限がある • その中で、様々なゲームシステムやサーバ技術が生まれた • ネイティブアプリにおいては、その表現力を存分に発揮しないといけない • 強みのある領域に選択と集中ではなく、強みを作るために集中する
  25. 25. Sakasho • 選択と集中 • アーキテクチャの統一 • 運用ポリシーの統一 • サーバ技術の集約
  26. 26. Sakasho アーキテクチャの統一 • サーバで何をやるかクライアントで何をやるかという設計 • 一度間違うとかなり痛い目を見るポイント • 最適かはわからないが間違いではないライン、で全体を統一 • かなりクライアントに主導権を寄せている
  27. 27. Sakasho • 選択と集中 • アーキテクチャの統一 • 運用ポリシーの統一 • サーバ技術の集約
  28. 28. Sakasho 運用ポリシーの統一 ゲームの外の世界だが、サービス運営には必要な要素群 • お客様対応 • 配信プラットフォーム(Apple/Google)に関連する諸々
  29. 29. Sakasho • 選択と集中 • アーキテクチャの統一 • 運用ポリシーの統一 • サーバ技術の集約
  30. 30. Sakasho サーバ技術の集約 • いわゆる、大規模サービスを支えるサーバ技術 • ネイティブアプリゲーム特有の傾向(やってみてわかったこと)
  31. 31. Sakasho 結果 • サーバ開発・運用は1チームで、同時並行で多数のタイトルを展開できた • アーキテクチャはある程度統一され、同じノウハウを適用できた • 各タイトルチームはクライアント側の開発に注力できた • サービスの運用はある程度均質化された • サーバ負荷に関連するトラブルはかなり少なかった
  32. 32. DeNAのネイティブアプリ開発の現在 2018年現在 • 内製開発 6タイトルリリース • 多数のタイトルを新規開発中 • 協業開発でも多数のタイトルを開発・運用中
  33. 33. DeNAのネイティブアプリ開発の現在 2018年現在 • 内製開発 6タイトルリリース • 多数のタイトルを新規開発中 • 協業開発でも多数のタイトルを開発・運用中 戦略が結果につながった
  34. 34. DeNAのネイティブアプリ開発の未来 これからの話
  35. 35. DeNAのネイティブアプリ開発の未来 これからの話 改めて考えて、どうすべきか
  36. 36. DeNAのネイティブアプリ開発の未来 現状を振り返り • 良い点 • 課題点
  37. 37. DeNAのネイティブアプリ開発の未来 良い点 (一定の枠組みからはみ出さなければ) • サーバ開発を全くしなくても新規タイトルを開発・リリースが出来る • タイトル数のだけサーバ運用しなくてよい • タイトルチームはサーバで用意された機能をそのまま使うだけで良い
  38. 38. DeNAのネイティブアプリ開発の未来 課題点 • タイトルチーム • 制約が強く、自由度が小さい • 独自のカスタマイズや最適化が困難 • 意思決定がチーム内で完結しない • 共通基盤チーム • どんな変更も、直接的に全体に影響を与えうる • 常に先手を取って全体最適となるような意思決定が必要 • ボトルネックになりがち
  39. 39. DeNAのネイティブアプリ開発の未来 これからの話 改めて考えて、どうすべきか
  40. 40. DeNAのネイティブアプリ開発の未来 • 良い点: 可能な限り残したい • 独自のカスタマイズをしないなら開発が不要 • サーバ運用出来るだけ省力化したい • 課題点: 全て解決したい • 独自のカスタマイズや最適化を可能にしたい » ブラックボックスではなくホワイトボックス • 意思決定をチーム内で完結させたい » 中央集権ではなく地方分権
  41. 41. DeNAのネイティブアプリ開発の未来 • 良い点: 可能な限り残したい • 独自のカスタマイズをしないなら開発が不要 • サーバ運用出来るだけ省力化したい • 課題点: 全て解決したい • 独自のカスタマイズや最適化を可能にしたい » ブラックボックスではなくホワイトボックス • 意思決定をチーム内で完結させたい » 中央集権ではなく地方分権 ハードルは高いが、チャレンジしたい
  42. 42. DeNAのネイティブアプリ開発の未来 具体的にどうすればよいか?
  43. 43. DeNAのネイティブアプリ開発の未来 中央集権ではなく地方分権 • BaaSではなく、シンプルなサバクラ構成 • 各チームにサーバエンジニアがいる • タイトル毎の最適化を最優先
  44. 44. DeNAのネイティブアプリ開発の未来 サーバ運用出来るだけ省力化したい • サーバインフラはフルマネージドなクラウドに寄せる » GCP GAE/SE Go • この層ではタイトル毎の最適化はしない • ここはブラックボックスと割り切る
  45. 45. DeNAのネイティブアプリ開発の未来 ブラックボックスではなくホワイトボックス 独自のカスタマイズをしないなら開発が不要 • 基本的な機能はライブラリとして用意 • 用意はするが差し替え可能・改変可能 • 独自の機能を追加しやすい作り • 引き続き、共通基盤チームは作る • タイトルを跨いだ最適化や再利用は行う 機能一覧 • アカウント認証 • クライアント主導のセーブデータ管理 • アセット配信 • 課金 • 仮想通貨管理 • Push通知 • メンテナンス • 強制バージョンアップ • ログインボーナス • ガチャ • SNS連携データ引継ぎ • フレンド • アイテム補填機能 • ランキング • 他プレイヤー検索機能 • 返信付きお問合せ機能 • 分析ログ送信 • , etc.
  46. 46. DeNAのネイティブアプリ開発の未来 • 良い点: 可能な限り残したい • 独自のカスタマイズをしないなら開発が不要 • サーバ運用出来るだけ省力化したい • 課題点: 全て解決したい • 独自のカスタマイズや最適化を可能にしたい » ブラックボックスではなくホワイトボックス • 意思決定をチーム内で完結させたい » 中央集権ではなく地方分権 ハードルは高いが、達成できそう
  47. 47. DeNAのネイティブアプリ開発の未来 まさに現在 新規開発中のタイトル開発に合わせて取り組み中
  48. 48. まとめ 魅力的な面白いゲームを開発し、世界に Delight を届ける そのためにも • より自由度高く、作りたいゲームが作れるように • より開発効率よく、作りたいゲームに集中できるように この2つを両立出来るような開発・運営体制を整えることに挑戦していきます
  49. 49. ご静聴ありがとうございました

×