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.1k
コロプラゲームバックエンド共通基盤 運用・開発体制の紹介
COLOPL Inc.
September 27, 2023
Tweet
Share
More Decks by COLOPL Inc.
See All by COLOPL Inc.
コロプラ最新作インフラ構成について
colopl
0
32
Cloud Spanner 導入で実現した快適な開発と運用について
colopl
1
800
コロプラのオンボーディングを採用から語りたい
colopl
7
1.8k
怖くない!ゼロから始めるPHPソースコードコンパイル入門
colopl
0
120
大規模トラフィックを支える ゲームバックエンドの課題と構成の変遷 ~安定したゲーム体験を実現するために~
colopl
3
4k
長期運用プロジェクトでのMySQLからTiDB移行の検証
colopl
3
1.6k
ゲームを支えるバックエンドエンジニアのリアルを公開!
colopl
1
1.2k
コロプラ_SRE_LCE_ゲームバックエンド_性能との戦い
colopl
0
890
新卒3年目の ゲームバックエンドエンジニアが これまでに経験したこと
colopl
1
1.5k
Other Decks in Technology
See All in Technology
地方拠点で エンジニアリングマネージャーってできるの? 〜地方という制約を楽しむオーナーシップとコミュニティ作り〜
1coin
1
240
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
1.5k
30分でわかる『アジャイルデータモデリング』
hanon52_
9
2.8k
RECRUIT TECH CONFERENCE 2025 プレイベント【高橋】
recruitengineers
PRO
0
160
OpenID Connect for Identity Assurance の概要と翻訳版のご紹介 / 20250219-BizDay17-OIDC4IDA-Intro
oidfj
0
290
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
170
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
3k
急成長する企業で作った、エンジニアが輝ける制度/ 20250214 Rinto Ikenoue
shift_evolve
3
1.6k
Culture Deck
optfit
0
430
『衛星データ利用の方々にとって近いようで触れる機会のなさそうな小話 ~ 衛星搭載ソフトウェアと衛星運用ソフトウェア (実物) を動かしながらわいわいする編 ~』 @日本衛星データコミニティ勉強会
meltingrabbit
0
150
Developers Summit 2025 浅野卓也(13-B-7 LegalOn Technologies)
legalontechnologies
PRO
1
950
Active Directory攻防
cryptopeg
PRO
4
2.1k
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Fireside Chat
paigeccino
34
3.2k
Unsuck your backbone
ammeep
669
57k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Done Done
chrislema
182
16k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
GitHub's CSS Performance
jonrohan
1030
460k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Become a Pro
speakerdeck
PRO
26
5.1k
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