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
ビルド待ちがぐっと短くなる!ビルド高速化サービス IncrediBuildのご紹介
Search
クラスメソッド 出村成和
August 25, 2022
Programming
0
2.2k
ビルド待ちがぐっと短くなる!ビルド高速化サービス IncrediBuildのご紹介
CEDEC 2022にて発表した内容です
クラスメソッド 出村成和
August 25, 2022
Tweet
Share
More Decks by クラスメソッド 出村成和
See All by クラスメソッド 出村成和
ソーシャルゲームの負荷試験 ご紹介
cmdemura
0
1.3k
AWSとCPUのムフフな関係
cmdemura
0
1.3k
Other Decks in Programming
See All in Programming
Linux && Docker 研修/Linux && Docker training
forrep
24
4.5k
クリーンアーキテクチャから見る依存の向きの大切さ
shimabox
2
280
Amazon Bedrock Multi Agentsを試してきた
tm2
1
290
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
4
390
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
750
dbt Pythonモデルで実現するSnowflake活用術
trsnium
0
150
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
580
Amazon S3 TablesとAmazon S3 Metadataを触ってみた / 20250201-jawsug-tochigi-s3tables-s3metadata
kasacchiful
0
160
Writing documentation can be fun with plugin system
okuramasafumi
0
120
Spring gRPC について / About Spring gRPC
mackey0225
0
220
Conform を推す - Advocating for Conform
mizoguchicoji
3
690
sappoRo.R #12 初心者セッション
kosugitti
0
250
Featured
See All Featured
Music & Morning Musume
bryan
46
6.3k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Six Lessons from altMBA
skipperchong
27
3.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
174
51k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
960
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
Statistics for Hackers
jakevdp
797
220k
Scaling GitHub
holman
459
140k
The Invisible Side of Design
smashingmag
299
50k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Transcript
ビルド高速化サービス IncrediBuildのご紹介 営業統括本部 ゲームソリューション部 出村 成和 1
2 自己紹介 出村 成和 (DEMURA Narikazu) クラスメソッド株式会社 営業統括本部 ゲームソリューション部所属 ゲーム開発環境の構築、開発支援を担当
過去の経歴(抜粋) • コンソール機向けゲーム開発 • フリーランス • ソーシャルゲーム開発
3 アジェンダ • ビルド高速化サービス IncrediBuildとは • IncrediBuildがサポートする開発環境 • IncrediBuild Cloud
• デモ
4 ゲーム開発中 これらの経験はありませんか?
5 ゲーム開発中にありがちな出来事 帰り間際に仕掛けたビルドが翌朝失敗していた 修正してビルドをやりなおし 予定が後ろ倒しに… ビルド待ちしてたら退社できるのが終電前 ビルド完了後に動作確認してたら終電が目前に…
6 ビルド時間を短くしたい
7
8 ビルド時間が短くなると ゲームのクオリティ向上 浮いた時間をゲームの質向上に充てられる ビルド チェック ビルド 修正 チェック 修正
ビルド チェック ビルド 修正 チェック 修正 改善前 ビルド高速化後 この時間を クオリティUPに 当てられる
9 IncrediBuildの構成
10 IncrediBuildとは ビルド高速化サービス 複数マシンで分散ビルド 開発用PC 分散ビルド環境 ビルド用PC 単独ビルド環境 開発用PC 開発用PC
11 どれだけ早くなるのか
12 どれだけ早くなるのか? 未使用時 Ryzen 9 5900X 使用時 Ryzen 9 5900X
+ c5.4xlarge×5(分散ビルドマシン) 92分 51分 UnrealEngine 5ソースコードをビルド 未使用時 使用時 45%削減
13 導入事例
14 ユークス様の事例 https://classmethod.jp/cases/yukes/
15 サポート環境
16 サポート環境(IDE) Visual Studio
17 サポート環境(コンソール開発環境) PlayStation Xbox Nintendo Switch
18 サポート環境(Toolchain) ビルドシステム • MSBuild • cmake • GNU Make
• Ninja など コンパイラ • MS C++ • Clang • CUDA など
19 サポート環境(UnrealEngine) ・コード ・シェーダーコンパイル アーティストの業務が 効率化できる プログラマの業務が 効率化できる
20 VisualStudioプラグインが存在 VisualStudioのプロジェクトに直ぐに導入可能 • プロジェクト変更の必要なし • IncrediBuildが利用できるか自動で判断 • VisualStudio 2010以降対応
21 IncrediBuildの動き
22 IncrediBuildを構成するソフト&サーバ IncrediBuild Agent Coordinator Helper Agent 開発用PC ビルド指示を出す ビルドの介在役
ビルド実行部隊
23 Incredibuildの動き 1/5 IncrediBuild Agent Coordinator Helper Agent 開発用PC HelperAgentの情報取得
24 IncrediBuildの動き 2/5 IncrediBuild Agent Coordinator Helper Agent 開発用PC Coordinatorから
ビルド依頼に関する情報を 取得する
25 IncrediBuildの動き 3/5 IncrediBuild Agent Coordinator Helper Agent 開発用PC ビルドを依頼する
26 IncrediBuildの動き 4/5 IncrediBuild Agent Coordinator Helper Agent 開発用PC ビルドを実行
27 IncrediBuildの動き 6/5 IncrediBuild Agent Coordinator Helper Agent 開発用PC ビルド結果を取得する
28 多数のPCが必要? PCを設置する場所がないのですが…
29 IncrediBuild Cloud
AWS Cloud 30 IncrediBuild Cloud IncrediBuild Agent 開発用PC ビルド指示を出す ビルドの介在役
ビルド実行部隊 AWS上にビルド環境が構築可能 Coordinator Helper Agent
31 EC2インスタンスの稼働 サーバコストを最小に抑える仕組み • ビルド時のみ、必要なEC2インスタンスが起動 • 一定時間未使用ならば自動的にインスタンス停止
AWS Cloud 32 IncrediBuild Cloud IncrediBuild Agent 開発用PC ビルド指示を出す ビルド処理待ち
Coordinator Helper Agent
AWS Cloud 33 IncrediBuild Cloud IncrediBuild Agent 開発用PC ビルド指示を出す ビルド中
Coordinator Helper Agent
34 ビルド用マシンのEC2インスタンス スポットインスタンスも利用可能 • 2種類のEC2インスタンスが利用可能 利用タイミング 料金について オンデマンド インスタンス •
常時利用可能 • EC2停止中でも料金が発生 スポット インスタンス • 必要な時のみインスタンスを 確保して利用 • オンデマンドインスタンスより安価 • 利用不可の場合もありえる
35 IncrediBuildの利用形態
36 利用形態は選択可能 • オンプレミス • ハイブリッドクラウド • フルクラウド
Office 37 オンプレミス IncrediBuild Agent Coordinator Helper Agent 開発用PC ビルドの介在役
ビルド指示を出す すべてのPCが同一ネットワーク上にある ビルド実行部隊 IncrediBuild Agent
Office 38 ハイブリッドクラウド Coordinator ビルド実行部隊 HelperAgentのみがEC2インスタンスで構築 AWS Cloud Helper Agent
ビルド指示を出す ビルドの介在役 IncrediBuild Agent 開発用PC IncrediBuild Agent
AWS Cloud 39 フルクラウド IncrediBuild Agent Coordinator 開発用PC ビルド実行部隊 Coordinator、HelperAgentがEC2インスタンスで構築
Office or Home ビルドの介在役 Helper Agent ビルド指示を出す IncrediBuild Agent
AWS Cloud 40 フルクラウド IncrediBuild Agent Coordinator 開発用PC ビルド実行部隊 Coordinator、HelperAgentがEC2インスタンスで構築
Office or Home ビルドの介在役 Helper Agent ビルド指示を出す IncrediBuild Agent ボトルネック になりがち
41 フルクラウド Coordinator リモート デスクトップPC すべてEC2インスタンスを利用してボトルネック回避 Office or Home ビルドの介在役
AWS Cloud Helper Agent ビルド指示を出す IncrediBuild Agent 開発用PC ビルド実行部隊
42 デモ
43 まとめ
44 まとめ ビルド時間を短縮することが可能 浮いた時間をゲームの質向上へ当てる 幅広い開発環境をサポート プログラマ、アーティストが恩恵を受けられる クラウドを利用した環境構築が可能 さまざまな運用形態が可能
45 AWS様のセッション紹介 AWSの知識ゼロでバックエンド機能を構築する AWS GameKit 8月24日(水) 16:40 ~ 17:10 他2セッション
46