高速化&コスト半減!? GitHub Actionsの サードパーティマネージドランナーの比較
by
Shoichi Ochi
×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
高速化&コスト半減!? GitHub Actionsの サードパーティマネージドランナーの比較 Shoichi Ochi (@occhi) YAPC::Fukuoka 2025 2025-11-14
Slide 2
Slide 2 text
2 SmartBank, Inc. Software Engineer 越智 翔一 @ochi11181101 @sho-work おち しょういち 自己紹介
Slide 3
Slide 3 text
3
Slide 4
Slide 4 text
4 「CI上の自動テスト、高速化したい・・・」 と思ったことありませんか?
Slide 5
Slide 5 text
5 今回はCI高速化関連の話をします
Slide 6
Slide 6 text
6 突然ですが、今回のYAPCのプロポーザルを見てみると・・・
Slide 7
Slide 7 text
7 引用元: https://fortee.jp/yapc-fukuoka-2025/proposal/5270f104-6619-46ea-989d-6e2008eeee5c
Slide 8
Slide 8 text
8 引用元: https://fortee.jp/yapc-fukuoka-2025/proposal/5270f104-6619-46ea-989d-6e2008eeee5c 今回の話は・・・
Slide 9
Slide 9 text
9 引用元: https://fortee.jp/yapc-fukuoka-2025/proposal/5270f104-6619-46ea-989d-6e2008eeee5c この部分の話
Slide 10
Slide 10 text
10 引用元: https://fortee.jp/yapc-fukuoka-2025/proposal/5270f104-6619-46ea-989d-6e2008eeee5c ??
Slide 11
Slide 11 text
11 サードパーティマネージドランナーって何?
Slide 12
Slide 12 text
12 段階的に解説します!
Slide 13
Slide 13 text
13 GitHub Actions、使ってますか?
Slide 14
Slide 14 text
14 GitHub Actions GitHubが提供する、ビルドやテスト、デプロイなどのワークフ ローを自動化できる CI/CDプラットフォーム。 リポジトリへのプッシュなど特定のイベントをトリガーにして、事前 に定義した処理を自動的に実行できる。
Slide 15
Slide 15 text
15 GitHub Actions Runner ワークフローのジョブを実行する実行環境のこと。 大きく分けて、以下の 3つのランナーがある。 ・GitHub ホステッドランナー: GitHub提供のランナー。 ・セルフホステッドランナー: ユーザーが自身で用意するランナー。 ・サードパーティーマネージドランナー: 外部のベンダーが提供するランナー。
Slide 16
Slide 16 text
16 GitHub Actions Runner ワークフローのジョブを実行する実行環境のこと。 大きく分けて、以下の 3つのランナーがある。 ・GitHub ホステッドランナー: GitHub提供のランナー。 ・セルフホステッドランナー: ユーザーが自身で用意するランナー。 ・サードパーティーマネージドランナー: 外部のベンダーが提供するランナー。
Slide 17
Slide 17 text
17 今回のトークテーマ サードパーティマネージドランナーの 比較検討・調査をしたのでその共有
Slide 18
Slide 18 text
18 アジェンダ 1. サードパーティランナーの例 2. カタログスペック比較 3. 実測値の比較 4. まとめ今後の展望
Slide 19
Slide 19 text
1. サードパーティランナーの例
Slide 20
Slide 20 text
20 BuildJet ・「1行変更するだけで、ビルド速度が 2倍、コストも削減できます」が謳い文句 ・HPを見ると、有名な海外テック企業から信頼を得ている様子 ・日本のテック企業でも導入実績あり 引用元: https://buildjet.com/for-github-actions 1. サードパーティランナーの例
Slide 21
Slide 21 text
21 BuildJet ・同じスペックだと、GitHub ホステッドランナーの半額! 1. サードパーティランナーの例
Slide 22
Slide 22 text
22 BlackSmith 以下が謳い文句。 ・2倍高速なハードウェア ・4倍速いキャッシュダウンロード ・2~40倍高速なDockerビルド 引用元: https://www.blacksmith.sh 1. サードパーティランナーの例
Slide 23
Slide 23 text
23 BlackSmith 2vCPU当たりの価格は、 先ほどのBuildJetと同様に、0.004$/min 引用元: https://www.blacksmith.sh/pricing 1. サードパーティランナーの例
Slide 24
Slide 24 text
24 その他 ・WarpBuild ・Namespace ・etc… 引用元: https://www.warpbuild.com/ https://namespace.so/ 1. サードパーティランナーの例
Slide 25
Slide 25 text
25 1. サードパーティランナーの例 国内事例だとBuildJetとBlackSmithが多かった! 引用元: https://techblog.ap-com.co.jp/entry/2025/08/23/172050 https://ikesyo.hatenablog.com/entry/github-actions-managed-runners https://tech.basemachina.jp/entry/introduction-to-blacksmith
Slide 26
Slide 26 text
26 この後はBuildJetとBlackSmithをピックアップして比較
Slide 27
Slide 27 text
2. カタログスペック比較
Slide 28
Slide 28 text
28 2. カタログスペック比較 ※2vCPUかつ、CPUアーキテクチャはAMDにした場合のものとします ※性能は各社が主張しているものです(GH Runnerは基準とするので x1 にします) ※速度面以外もストレージ容量での利点もあります。(後日ブログに書く予定) 引用元: https://docs.blacksmith.sh/blacksmith-caching/dependencies-actions https://docs.blacksmith.sh/blacksmith-caching/docker-builds https://buildjet.com/for-github-actions/blog/launch-buildjet-cache
Slide 29
Slide 29 text
29 カタログスペックはいいけど、実際どうなの・・・? 2. カタログスペック比較
Slide 30
Slide 30 text
30 実際に計測してみよう!
Slide 31
Slide 31 text
3. 実測値の比較
Slide 32
Slide 32 text
32 計測時の前提を説明
Slide 33
Slide 33 text
33 3. 実測値の比較 計測するRunner ・Github Hostedランナー ・BuildJetランナー ・BlackSmith ※ 3つともCPUはAMDかつ、ubuntu22.04を使用するものとする
Slide 34
Slide 34 text
34 3. 実測値の比較 計測する時間 以下の3つの時間を計測する。 計測回数は それぞれのRunnerにつき5回とし、その平均を取る 。 ・全体の時間 ・CPUバウンドな処理のステップの時間 ・Docker Imageビルドのステップの時間
Slide 35
Slide 35 text
35 3. 実測値の比較 計測する時間 以下の3つの時間を計測する。 計測回数は それぞれのRunnerにつき5回とし、その平均を取る 。 ・全体の時間 ・CPUバウンドな処理のステップの時間 ・Docker Imageビルドのステップの時間
Slide 36
Slide 36 text
36 3. 実測値の比較 計測するワークフロー 以下のステップを実行するワークフローを定義する ・CPUバウンドな処理のステップ ・Docker Imageビルドのステップ
Slide 37
Slide 37 text
37 3. 実測値の比較 計測するワークフロー ・CPUバウンドな処理のステップ: OpenSSLのSHA-512ハッシュ関数を繰り返し実行する ・Docker Imageビルドのステップ
Slide 38
Slide 38 text
38 3. 実測値の比較 計測するワークフロー ・CPUバウンドな処理のステップ ・Docker Imageビルドのステップ ※ BlackSmithの場合は[useblacksmith/setup-docker-builder@v1], [useblacksmith/build-push-action@v2]を使用する 引用元: https://docs.blacksmith.sh/blacksmith-caching/docker-builds
Slide 39
Slide 39 text
39 3. 実測値の比較 計測するワークフロー ・CPUバウンドな処理のステップ ・Docker Imageビルドのステップ ・使用するDockerfileはこちら ※ BlackSmithの場合は[useblacksmith/setup-docker-builder@v1], [useblacksmith/build-push-action@v2]を使用する 引用元: https://docs.blacksmith.sh/blacksmith-caching/docker-builds
Slide 40
Slide 40 text
40 3. 実測値の比較 計測条件まとめ 以下のRunnerを対象とする ・GitHub Hosted, BuildJet, BlackSmith 5回計測してその平均を取る。以下の時間を計測する。 ・全体の時間 ・CPUバウンドな処理のステップの時間 ・Docker Imageビルドの時間 ※ 3つともCPUはAMDかつ、ubuntu22.04を使用するものとする
Slide 41
Slide 41 text
41 計測結果
Slide 42
Slide 42 text
42 3. 実測値の比較 計測結果
Slide 43
Slide 43 text
43 3. 実測値の比較 計測結果
Slide 44
Slide 44 text
44 3. 実測値の比較 計測結果 BlackSmithがGHよりも1mくらい高速!
Slide 45
Slide 45 text
45 3. 実測値の比較 計測結果
Slide 46
Slide 46 text
46 3. 実測値の比較 計測結果 こちらもBlackSmithがGHよりも1mくらい高速! BuildJetも30sくらい高速!
Slide 47
Slide 47 text
47 3. 実測値の比較 計測結果
Slide 48
Slide 48 text
48 3. 実測値の比較 計測結果 あれ?GHが一番速い・・・?
Slide 49
Slide 49 text
49 考察してみる🤔
Slide 50
Slide 50 text
50 3. 実測値の比較 Docker Buildが遅い考察 Dockerfile を見直してみると・・・
Slide 51
Slide 51 text
51 3. 実測値の比較 Docker Buildが遅い考察
Slide 52
Slide 52 text
52 3. 実測値の比較 Docker Buildが遅い考察
Slide 53
Slide 53 text
53 3. 実測値の比較 Docker Buildが遅い考察 パッケージのインストール時や bundle installのNetwork I/Oが原因の可能性がありそう 🤔
Slide 54
Slide 54 text
54 最後に、カタログスペックと実績を比較
Slide 55
Slide 55 text
55 3. 実測値の比較 カタログスペックと実績を比較
Slide 56
Slide 56 text
56 3. 実測値の比較 x2ほどではないけど、高速!
Slide 57
Slide 57 text
57 3. 実測値の比較 Docker Imageのビルドはあまり変わらない(検証方法が悪かったかも)
Slide 58
Slide 58 text
58 3. 実測値の比較 ひとまずサードパーティランナーはちゃんと速いことがわかった🎉
Slide 59
Slide 59 text
59 オチ(occhiだけに!)
Slide 60
Slide 60 text
60 3. 実測値の比較 オチ スマートバンクでは最終的にこちらを採用😭 (物理マシンを購入することになったため)
Slide 61
Slide 61 text
61 ちなみに・・・
Slide 62
Slide 62 text
62 引用元: https://fortee.jp/yapc-fukuoka-2025/proposal/5270f104-6619-46ea-989d-6e2008eeee5c 弊社のテスト高速化事例を網羅的にまとめた記事を、 近日弊社ブログにて公開予定!!
Slide 63
Slide 63 text
4. まとめと今後の展望
Slide 64
Slide 64 text
64 4. まとめと今後の展望 ・GitHub ActionsのRunnerには大きく分けて3種類ある ・上記の中のサードパーティランナーは速いしコストも削減できる ・余談ですが、BlackSmithはContact取った1分後に返信が来たり、管理画面が充実 していたりと、印象がいいです。 ・デメリットは調べきれなかったので弊社ブログに書く予定! ・キャッシュ機能の検証もできなかったのでする予定
Slide 65
Slide 65 text
65 4. まとめと今後の展望 今回のリポジトリを公開したので、 良かったら覗いてみてください! https://github.com/org-for-3rd-party-runner/gha-3rd-party-runner
Slide 66
Slide 66 text
高速化&コスト半減!? GitHub Actionsの サードパーティマネージドランナーの比較 Shoichi Ochi (@occhi) YAPC::Fukuoka 2025 2025-11-14