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
運用規模の拡大を乗り越える 〜Toilの撲滅〜
Search
Cygames, Inc.
PRO
January 09, 2019
Technology
3.5k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
運用規模の拡大を乗り越える 〜Toilの撲滅〜
2018/12/15 Developers Boost
Cygames, Inc.
PRO
January 09, 2019
More Decks by Cygames, Inc.
See All by Cygames, Inc.
【CEDEC2026】コードレビュー支援ツール開発から学ぶ:LLMを用いた業務システムの実践的な運用設計と誤出力対策
cygames
PRO
0
670
【CEDEC2026】『ウマ娘 プリティーダービー』 英語版のキャラクターの方言や口調をローカライズするための創造的アプローチ
cygames
PRO
1
240
【CEDEC2026】次世代デジタルカードゲームのサーバー設計と運用 〜『Shadowverse: Worlds Beyond』の舞台裏~
cygames
PRO
1
1.2k
【CEDEC2026】派手さと見やすさは両立できる!『Shadowverse: Worlds Beyond』エフェクト・3D背景の超進化したビジュアル設計
cygames
PRO
0
1.3k
【CEDEC2026】『Shadowverse: Worlds Beyond』続編開発におけるUIデザイン・アニメーション演出の「超進化」 ~継承と挑戦を両立するデザイン手法~
cygames
PRO
2
4.6k
【CEDEC2026】『Relink』を拡張せよ - 『GRANBLUE FANTASY: Relink - Endless Ragnarok』の開発速度と品質を守るCI運用
cygames
PRO
0
150
【CEDEC2026】『GRANBLUE FANTASY: Relink - Endless Ragnarok』のバトル制作事例 ~最高のキャラゲーを目指して~
cygames
PRO
0
250
【CEDEC2026】アートとゲームデザインをつなぐVFX設計『GRANBLUE FANTASY: Relink - Endless Ragnarok』における表現と可読性の両立
cygames
PRO
0
510
【CEDEC2026】ゲームシナリオライターを支援するAIツール開発の実践 ― 設計とプロンプトの工夫 ―
cygames
PRO
1
790
Other Decks in Technology
See All in Technology
20260608_Codexの可能性_ノンプログラマー向け_大城追記
doradora09
PRO
0
800
LanceDB入門
mocobeta
7
390
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
6
1.5k
MIRU 2026 チュートリアル
keisuke198619
0
900
Flutterをカメラで動かしたかった話
sony
1
140
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
250
猫付きpingコマンドを自作
uyuki234
0
220
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
130
LLM・AIエージェントシステムベストプラクティス
shibuiwilliam
6
1.1k
Breaking the Seal: Static Deobfuscation of Compiled V8 JavaScript Bytecode Malware
hshrzd
0
730
SmartHR Engineering Team Deck
smarthr
1
1.9k
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
200
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
470
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
440
Music & Morning Musume
bryan
47
7.3k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
260
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.3k
Writing Fast Ruby
sferik
630
63k
How to Talk to Developers About Accessibility
jct
2
500
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
380
Transcript
None
2
3 and more!
4 アジェンダ • Cygamesのインフラチームについて • 運用負荷を下げるために行っていること ◦ 自動化の取り組み ◦ ナレッジ共有の取り組み
5 Cygamesのインフラチーム
インフラチーム 6 Project A Project B Project C … 横断部署になっています
7 インフラチームの職務 • サーバー構築 • ソフトウェアインストール • モニタリング • 負荷対策
• オンコール対応 • 基盤ソフトウェア開発 • データ処理パイプライン構築
8 運用タイトル数は年々増加
9 ゲーム性・インフラ構成も多様化 グローバル化 スマートフォンアプリ開発 オンプレミス・クラウドのハイブリッド
10 運用負荷との戦い • 運用中タイトルで… ◦ アクセス数変動に合わせたスケーリング ◦ 大量のサーバーのモニタリング ◦ アップデートなどの保守作業
• 新規開発で… ◦ 開発環境の作成 ◦ 構成の検証
11 Toilを減らしエンジニアリングをして 運用負荷を下げる
12 “トイルとは、プロダクションサービスを動作させることに関係する作業で、 手作業で繰り返し行われ、自動化することが可能であり、戦術的で長期的な価値を持たず、 作業量がサービスの成長に比例するといった傾向を持つものです。” “エンジニアリングの作業とは、新しいことをするものであり、本質的に人間の判断を必要とします。 エンジニアリングの作業は、サービスに恒久的な改善を加え、戦略によって導かれるものです。” ―SRE サイトリライアビリティエンジニアリング Googleの信頼性を支えるエンジニアリングチーム. O'Reilly
Japan, Inc.
13 Engineering Toil Toilの作業時間は運用規模の拡大とともに肥大化し エンジニアリングができなくなっていく 繰り返す作業 手作業 恒久的な改善
14 Toilを放置 運用負荷が 規模に比例して増大 更新・開発の速度が低下
15 自動化でToilを減らす
16 • サーバー構成情報管理のToil • サーバー構築のToil
17 ホスト追加のたびに /etc/hosts の編集… 特定の環境や種別のサーバー群のリストアップ… ミドルウェアのバージョン情報の管理… サーバー構成情報管理のToil
サーバー情報データベース 18 プライベートDNS 構成情報の収集・活用を自動化してToilを減らす DNS 自動登録 On-Premise Cloud 情報取得 Database
Project Type Hostname IP 自動登録 情報取得
19 AWS Cloud Servers On-Premise EC2 Client Client Servers On-Premise
EC2
20 AWS Cloud Servers On-Premise EC2 Client Client エージェントをインストールすると 検索・名前解決が可能になる
Servers On-Premise EC2
21 AWS Cloud Servers On-Premise EC2 Client Client Servers On-Premise
EC2 マネージドサービス構成でサーバーレス
AWS Cloud 22 Servers On-Premise EC2 Client Client Servers On-Premise
EC2 非同期処理 スケーラブル
23 $ eshosttag -qs "hostname:test-web01" | jq . { "hits":
[ { "_index": "hosts", "_type": "hosts", "_id": "test-web-192.168.1.1", "_source": { "created_at": "2018-10-09T21:34:21+09:00", "datacenter": "aws", "env": "dev", "hostname": "test-web01", "ip": "192.168.1.1", "lastping_at": "2018-12-14T09:17:37+09:00", "project": "test", "type": "dev", "dead": null, "ver_apache": "Apache/2.4.6 (CentOS)", "ver_hash_httpd_conf": "abcdefghijklmnopqrstuvwxyz123456", "ver_os": "CentOS Linux release 7.4.1708 (Core)", "ver_hash_php_ini": "abcdefghijklmnopqrstuvwxyz123456", "ver_php": "7.2.8" } } ] } 使用イメージ
24 • サーバー構成情報管理のToil • サーバー構築のToil
25 手順書に沿ってセットアップ… 既存のものと同様のサーバーの増築… 認証情報の受け渡し… サーバー構築のToil
26 サーバー構築を自動化してToilを減らす 保存 利用 playbook セットアップ RPM repository プライベートリポジトリ プロビジョニングツール
27 • S3にプライベートリポジトリを構築 ◦ 内製ツール ◦ ビルド済みのミドルウェア・ライブラリ ◦ 過去バージョンのアーカイブ •
yumで簡単にインストール RPM repository tool Web server software PHP Library
28 Key Web server ansible common apache php playbook RPM
repository Encrypted credentials • 作業をplaybookにコード化し ansibleでプロビジョニング ◦ ロールごとに再利用が可能 ◦ オンプレミス・クラウド両用 • プライベートリポジトリを活用 • ホスト用の認証情報は KMSを使用して暗号化保存
29 自動化以外の方法でToilを減らす
30 障害対応をToilとして考える • 緊急の障害対応はそれまでの作業を中断させ エンジニアリングの時間を奪ってしまう • 障害対応にかける時間が減る=Toilが減る
31 ナレッジの属人化… 手探りの原因調査… 障害対応の課題
32 ポストモーテム • 障害対応の後に作成する チーム共有用のドキュメント • Pagerdutyを使用 • チーム全体で学びを得て 障害対応の時間を減らす
33 Toilを放置 運用負荷が 規模に比例して増大 更新・開発の速度が低下
34 Toilが減る エンジニアリングが できる チームが改善する
35 Toilを撲滅し 最高のコンテンツを効率よく届ける