Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
大規模/長期運用プロジェクト が抱える課題への チーム、個人の取り組み
Search
COLOPL Inc.
October 31, 2023
Technology
1.9k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
大規模/長期運用プロジェクト が抱える課題への チーム、個人の取り組み
COLOPL Inc.
October 31, 2023
More Decks by COLOPL Inc.
See All by COLOPL Inc.
Claude Code 再入門 会話の渡し方の4つの道具 - Claude Codeスキル・ハーネス社内勉強会
colopl
0
420
Copilot / Claude Code 両方で使えるスキル・ハーネスの紹介 - Claude Codeスキル・ハーネス社内勉強会
colopl
0
550
実務で動くAIエージェントを作ろう!MCP×Mastraをライブコーディングで実践
colopl
0
480
Cloud Runでコロプラが挑む 生成AI×ゲーム『神魔狩りのツクヨミ』の裏側
colopl
0
2.6k
PHPStan をできる限り高速化してみる
colopl
1
1.4k
コロプラ最新作インフラ構成について
colopl
0
360
Cloud Spanner 導入で実現した快適な開発と運用について
colopl
1
2.5k
コロプラのオンボーディングを採用から語りたい
colopl
7
2.9k
怖くない!ゼロから始めるPHPソースコードコンパイル入門
colopl
1
1k
Other Decks in Technology
See All in Technology
負債のメタファと2026年 / Debt Metaphor in Agentic Engineering Age 202609 Edition
twada
PRO
5
2.5k
登壇の自信を奪う3匹のオバケ / 3 Ghosts That Rob You of Your Confidence in Public Speaking
pauli
8
920
LTのテーマ どうきめてる?〜5つの型と私のやり方〜
yama3133
1
100
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
2
2.1k
HHKBエバンジェリストになる方法
941
0
100
HRC_Frontend_Conference_Fukuoka_2026.pdf
ts020
0
730
Snowflakeのコスト最適化を支えるアーキテクチャ設計
ktatsuya
1
1.6k
今話題のAI「Jev」って何? 宇宙最速で学ぶ会
minorun365
PRO
21
12k
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
130
CLIライブラリ開発を支える技術
htnabe
0
110
顧客に向き合う開発組織へ。リアーキテクチャとフィーチャーチーム化で挑む組織改革
safie
0
1.9k
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
200
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.5k
We Have a Design System, Now What?
morganepeng
55
8.3k
HDC tutorial
michielstock
2
870
A Modern Web Designer's Workflow
chriscoyier
699
190k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
330
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
520
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
500
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
450
How to build a perfect <img>
jonoalderson
1
6k
How GitHub (no longer) Works
holman
316
150k
For a Future-Friendly Web
brad_frost
183
10k
Transcript
大規模/長期運用プロジェクト が抱える課題への チーム、個人の取り組み 關 涼介
氏名 : 部署 : 自己紹介 2020年に新卒入社してから現在まで 『白猫テニス』、『白猫プロジェクト NEW WORLD'S』(以降白猫)の運用に携わる 關
涼介 技術基盤本部 第1バックエンドエンジニア部 第1グループ 第1チーム 2
大規模/長期運用プロジェクトが抱える課題に対して チームとしてどのように取り組んだか その中で新卒エンジニアが行ったこと 3 今回の話題
「片手で簡単!爽快アクション」 リリース日は2014年7月14日。 今年の7月で9周年を迎えた。 4 白猫プロジェクトNEW WORLD’S
「片手で簡単!爽快アクション」 リリース日は2014年7月14日。 今年の7月で9周年を迎えた。 5 白猫プロジェクトNEW WORLD’S 発表をするに当たって白猫に関わる人を 社内ツールで調べてみました→
「片手で簡単!爽快アクション」 リリース日は2014年7月14日。 今年の7月で9周年を迎えた。 6 白猫プロジェクトNEW WORLD’S 発表をするに当たって白猫に関わる人を 社内ツールで調べてみました→ 100名over
長期運用・大規模開発の課題でイメージされるもの 7 今回の話題
長期運用・大規模開発の課題でイメージされるもの 8 今回の話題 ・仕様やコードが複雑化している? ・機能に精通するスペシャリストがいて属人化している? ・新メンバーのキャッチアップが難しい? ・サーバーの処理効率も劣化していく? ・開発人数も多くて関われる範囲が狭い?
長期運用・大規模開発の課題 9 今回の話題 ①キャッチアップコスト ②サーバー負荷
①キャッチアップコスト 10
・長期運用するためには人材の流動を見越したシステムが必要 ・一方、年々仕様やコードは増加していきキャッチアップコストが 上昇する傾向がある 11 ①キャッチアップコスト ・情報を整理して共有する ・コードの複雑化を防ぐ
情報を整理して共有する ・情報の集約 ・管理ツールの充実 12 ①キャッチアップコスト
情報を整理して共有する ・情報の集約 ・管理ツールの充実 13 ①キャッチアップコスト ~ 新規・追加機能の説明 ~
情報を整理して共有する ・情報の集約 ・管理ツールの充実 14 ①キャッチアップコスト
情報を整理して共有する ・情報の集約 ・管理ツールの充実 個人として 情報集約やツール作成だけでなく、 前提としてフローの整理や要望の収集にも取り組み セクション間でのやり取りへ力を入れた 15 ①キャッチアップコスト
コードの複雑化を防ぐ ・システム構成の見直し ・複雑化したコードの改修/新規作成 16 ①キャッチアップコスト
コードの複雑化を防ぐ ・システム構成の見直し ・複雑化したコードの改修/新規作成 各レイヤーやクラスが大きな意味を持っていることが多かった →役割に専念できず肥大化する →依存関係も複雑に 17 ①キャッチアップコスト
コードの複雑化を防ぐ ・システム構成の見直し ・複雑化したコードの改修/新規作成 先程の見直しを元にコードを再構築 →特にミッションやスコアアタックなどは、 機能追加が起こりやすく複雑化しやすかった 18 ①キャッチアップコスト
コードの複雑化を防ぐ ・システム構成の見直し ・複雑化したコードの改修/新規作成 個人として コードレビューや設計相談を通して新しい構成についてインプット スコアアタック周りは複雑化部分を回避した新機能を作成 19 ①キャッチアップコスト
<取り組み> 情報を整理して共有する ・情報の集約 ・管理ツールの充実 コードの複雑化を防ぐ ・システム構成の見直し ・複雑化したコードの改修/新規作成 20 ①キャッチアップコスト
<効果> チーム ・前提であるキャッチアップコスト低下 ・脱属人化 ・フローの改善 ・不要な工数を削減 個人 ・質問される機会が増え価値発揮に繋がる ・保守性/柔軟性の高いコードの書き方を学べる 21
①キャッチアップコスト
②サーバー負荷 22
サーバー負荷は年々増加しますが、 負荷が高い状態ではサーバーダウンリスクが高まります それに対応するため負荷対策チームが存在し、メンバーはイベント開発と 並行しながら負荷の対策を行っています 23 ②サーバー負荷 ・キャパシティプランニング ・毎日の負荷見積もり ・定例
キャパシティプランニング ・大規模イベント(コラボや周年など)に備えて 事前にアクセス見積もりをして、対策をしておくもの ・プランナー、インフラなど各所と連携して対応していく 詳しくは過去のconnpass発表で! 24 ②サーバー負荷
毎日の見積もり ・autoscaleも導入してはいるものの、 それだけでは崖のようなスパイクには耐えられない →事前にスケジューリングし台数を増やしておく →リリースイベントの影響度を把握する必要がある 25 ②サーバー負荷
定例 ・週一でサーバーの処理効率をapi毎にみる(APMにはdatadogを活用) ・不審な負荷の変化があればコードなのかデータなのか原因を調査し改善する 26 ②サーバー負荷
定例(事例) ・無限討伐クエストのトップ画面に遷移する時に非常に重い処理が見つかる ・調査をしていくとトップ画面で最終階までのランダム報酬を全て計算していた ・必要データ/不要データを整理することでレイテンシが改善した 27 ②サーバー負荷 1 階 6 階
2 階 3 階 5 階 4 階 … 7 階 ランダム報酬を最初に全て計算 無限討伐クエスト・・・ 最大何百階とあるダンジョンを 1階層ずつ攻略するイベント
定例(事例) ・無限討伐クエストのトップ画面に遷移する時に非常に重い処理が見つかる ・調査をしていくとトップ画面で最終階までのランダム報酬を全て計算していた ・必要データ/不要データを整理することでレイテンシが改善した 28 ②サーバー負荷
<取り組み> 負荷対策チームを作成 ・キャパシティプランニング ・毎日の負荷見積もり ・定例 29 ①キャッチアップコスト
<効果> チーム ・サーバーリスク/コストの低下 ・プレイ体験向上 個人 ・イベント全体への理解 ・コード全体への理解 30 ②サーバー負荷
チームとして得られたこと ・人材が流動可能な体制 ・不要工数/コストの削減によりクリエイティブ部分に力をいれられるように 個人として意識していたことと成長 ・ニーズの把握や、チームの流れの理解を意識してきました →視野の広さ、自身の把握できる範囲の広さ →より責任のある対応を任せられる、企画へ早期段階から参加できるなど 31 取り組みを通して
• 課題 ◦ キャッチアップコストの増加 ◦ サーバー負荷の増加 • 取り組み ◦ キャッチアップコスト
▪ 情報の整理と共有 ▪ コードの複雑化防止 ◦ サーバー負荷 ▪ 負荷対策チームを作り対応 • 効果 ◦ より良いチーム体制 ◦ 個人として成長 32 まとめ
ありがとうございました 33