Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
コロプラゲームバックエンド共通基盤 運用・開発体制の紹介
Search
COLOPL Inc.
September 27, 2023
Technology
0
1.4k
コロプラゲームバックエンド共通基盤 運用・開発体制の紹介
COLOPL Inc.
September 27, 2023
Tweet
Share
More Decks by COLOPL Inc.
See All by COLOPL Inc.
PHPStan をできる限り高速化してみる
colopl
0
500
コロプラ最新作インフラ構成について
colopl
0
150
Cloud Spanner 導入で実現した快適な開発と運用について
colopl
1
2k
コロプラのオンボーディングを採用から語りたい
colopl
7
2.3k
怖くない!ゼロから始めるPHPソースコードコンパイル入門
colopl
1
460
大規模トラフィックを支える ゲームバックエンドの課題と構成の変遷 ~安定したゲーム体験を実現するために~
colopl
3
5.7k
長期運用プロジェクトでのMySQLからTiDB移行の検証
colopl
3
1.7k
ゲームを支えるバックエンドエンジニアのリアルを公開!
colopl
1
1.6k
コロプラ_SRE_LCE_ゲームバックエンド_性能との戦い
colopl
0
1.1k
Other Decks in Technology
See All in Technology
株式会社ARAV 採用案内
maqui
0
350
LLM時代の検索とコンテキストエンジニアリング
shibuiwilliam
2
1.1k
ドキュメントはAIの味方!スタートアップのアジャイルを加速するADR
kawauso
3
390
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual Localization
takmin
0
430
AIエージェント就活入門 - MCPが履歴書になる未来
eltociear
0
530
生成AI利用プログラミング:誰でもプログラムが書けると 世の中どうなる?/opencampus202508
okana2ki
0
190
mruby(PicoRuby)で ファミコン音楽を奏でる
kishima
1
280
コスト削減の基本の「キ」~ コスト消費3大リソースへの対策 ~
smt7174
2
170
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
30k
現場が抱える様々な問題は “組織設計上” の問題によって生じていることがある / Team-oriented Organization Design 20250827
mtx2s
5
1.2k
[CVPR2025論文読み会] Linguistics-aware Masked Image Modelingfor Self-supervised Scene Text Recognition
s_aiueo32
0
210
モバイルアプリ研修
recruitengineers
PRO
3
300
Featured
See All Featured
How to Ace a Technical Interview
jacobian
279
23k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
570
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
A Tale of Four Properties
chriscoyier
160
23k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
4 Signs Your Business is Dying
shpigford
184
22k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Code Review Best Practice
trishagee
70
19k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Transcript
コロプラゲームバックエンド 共通基盤 運用・開発体制の紹介 松野岳記
2 • 略歴 ◦ SIerで出張生活 ◦ Web系 ◦ 2018 コロプラ入社
▪ 白猫プロジェクトSREチーム ▪ ドラゴンクエストウォーク SREチーム ▪ サーバー基盤マネジャー兼SRE 氏名 : 部署名 : 松野 岳記 技術基盤本部 第3バックエンドエンジニア部 サーバー基盤グループ 自己紹介
目次 1. コロプラバックエンド組織体制の紹介 2. 社内共通基盤ライブラリ開発活動の紹介 3
コロプラバックエンド組織体制の紹介 4
5 バックエンド組織の構成 ゲームサーバー開発チーム ゲームサーバー開発チーム インフラグループ : : ゲームサーバー開発チーム 共通基盤組織 ゲームタイトル
サーバー基盤グループ ※枠の大きさは実際の組織と関係ありません🙇
6 ゲームの共通基盤組織の役割? • ゲームってユニークでありたいものなのでは? • コロプラのVision → "新しい体験" を届ける •
共通基盤組織のやるべきことは? ??
7 ゲームの共通基盤組織の役割 • ゲームってユニークでありたいものなのでは? • コロプラのVision → "新しい体験" を届ける •
ゲームタイトルは常に新しい体験に挑戦 • 共通基盤はゲーム開発の土台 ◦ 性能面や運用ナレッジの会社としての蓄積 ▪ 成功の再現性 ▪ 技術の開拓
8 サーバー基盤グループの構成 ゲームサーバー開発チーム ゲームサーバー開発チーム インフラグループ : : ゲームサーバー開発チーム 共通基盤組織 ゲームタイトル
サーバー基盤グループ ※枠の大きさは実際の組織と関係ありません🙇
9 サーバー基盤グループの構成 ゲームサーバー開発チーム ゲームサーバー開発チーム インフラグループ : : ゲームサーバー開発チーム 共通基盤組織 ゲームタイトル
※枠の大きさは実際の組織と関係ありません🙇 LCEチーム SREチーム PEチーム RTPEチーム 【運用サイド】 普通にはなかなか経験できない運用ケースの知識 • LCE (Launch Coordination Engineer) ◦ ローンチ関連の性能とプロセスの品質 • SRE (Site Reliability Engineer) ◦ 長期運用の性能とプロセスの品質
10 サーバー基盤グループの構成 ゲームサーバー開発チーム ゲームサーバー開発チーム インフラグループ : : ゲームサーバー開発チーム 共通基盤組織 ゲームタイトル
※枠の大きさは実際の組織と関係ありません🙇 LCEチーム SREチーム PEチーム RTPEチーム 【開発サイド】 • PE (Platform Engineer) ◦ APIサーバーを中心とした開発技術のリード • RTPE (Real-Time Platform Engineer) ◦ リアルタイムサーバーを中心とした開発技術のリード
11 開発組織体制のイメージ PE・RTPE LCE・SRE ゲームエンジニア 社内基盤ライブラリ ゲームサーバー クラウド・オープン技術
社内共通基盤ライブラリ開発活動の紹介 12
13 PEチーム • Platform Engineer チーム ◦ 主にコロプラAPIサーバー開発の土台を支えています • 主な活動領域
◦ Google Cloudやミドルウェアの新機能の検証と追従 ◦ サーバーコンテナのエンハンス・チューニング ◦ サーバーフレームワークのエンハンス ◦ サーバー開発用CIなどの環境整備
14 PEチーム • Platform Engineer チーム ◦ 主にコロプラAPIサーバー開発の土台を支えています • 主な活動領域
◦ Google Cloudやミドルウェアの新機能の検証と追従 ◦ サーバーコンテナのエンハンス・チューニング ◦ サーバーフレームワークのエンハンス ◦ サーバー開発用CIなどの環境整備 今回はここの紹介をします
15 APIサーバーの社内基盤ライブラリ • 開発言語 / フレームワーク ◦ PHP / Laravel
• ライブラリ (一部) ◦ laravel-extension ◦ laravel-skeleton ◦ laravel-spanner
16 laravel-extension • 役割 ◦ ゲームサーバーとして低レイヤーを効果的に利用するための拡張 • 性質 ◦ 低レイヤーを効果的に使うプラクティスの実装
▪ 外部コンポーネント利用時のハンドリング ▪ データアクセスコードの自動生成 ▪ etc. ◦ ベース技術へのアンテナが必要
17 laravel-skeleton • 役割 ◦ どのゲームでも必要になる機能のテンプレート実装 • 性質 ◦ 共通機能の実装
▪ ユーザー認証 ▪ 課金処理 ▪ 運用サポートツール画面 ◦ ゲームタイトル運用の共通ナレッジの蓄積
18 laravel-spanner • 役割 ◦ Google 公式の PHP 用 Cloud
Spanner SDK を Laravel の DB Manger フレームワークとして利用するアダプタ • 性質 ◦ Google の Cloud Spanner 利用のガイダンスを吸収して Laravel のモデルで取り扱えるように提供 ◦ Cloud Spanner と SDK の更新に追従 ◦ OSSとして公開運用 ▪ https://github.com/colopl/laravel-spanner
19 PE とゲームエンジニアとのコミュニケーション • コア開発チームがあることの懸念 ◦ 本番ユースケースを知らずに技術の押し付けになりたくない ◦ 技術に触れる機会の不平等 ▪
ゲームタイトル側アサインでもベース技術と関わりたい (関わって欲しい) ◦ 物量 ▪ やること多い • 社内オープン開発 ◦ 共通 Git でゲームエンジニアからも Issue や Merge Request を常時受付 ◦ PE 側で発行した Issue に対しても実装希望者を受付
20 PE の OSS 活動 • コロプラ一部ライブラリのOSS公開 ◦ 前述の colopl/laravel-spanner
など • 利用しているOSSへのフィードバックや提案 ◦ PHP, Laravel, Google Cloud の SDK を中心になんでも ◦ RFC 提案やバグ修正などのコントリビュート ◦ 次バージョンの RFC や PR へのコメント ◦ +1 凸 リード
21 開発フィードバックサイクルのイメージ PE・RTPE LCE・SRE ゲームエンジニア 社内基盤ライブラリ クラウド・オープン技術 ゲームサーバー laravel-skeleton
laravel-extension laravel-spanner ベース提供 ゲーム実装 ユースケース Issue報告 修正MR 研究・検証 コード公開 提案・修正 ベストプラクティス実装
22 ここまでのまとめ • コロプラバックエンドの基盤開発をメインタスクにしている PE というエンジニアがいます • PE はベース技術に対して他に先んじてアンテナを張り APIサーバーの課題解決に取り組んでいます
• PE を中心にベース技術やゲームタイトルから得られたナレッジを 共通基盤ライブラリとして会社の資産にしています • コロプラではゲームタイトルのエンジニアでも 共通基盤ライブラリ開発が開かれています • RTPEの紹介もいつかできれば
Thank you 23