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
GitHub ActionsのGitHub-hosted Larger Runnersと他サービスと
Search
shonansurvivors
June 28, 2023
Technology
0
1k
GitHub ActionsのGitHub-hosted Larger Runnersと他サービスと
shonansurvivors
June 28, 2023
Tweet
Share
More Decks by shonansurvivors
See All by shonansurvivors
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
2
720
スタートアップがAWSパートナーになって得られたこと
shonansurvivors
3
1k
AWSで構築するCDパイプラインとその改善
shonansurvivors
4
3.7k
Terraformでmoduleを使わずに複数環境を構築して感じた利点
shonansurvivors
3
3.5k
クロステナントアクセスを要件とするsmartroundのマルチテナントSaaSアーキテクチャ
shonansurvivors
0
450
CodeBuildで動かすecspresso
shonansurvivors
2
3.7k
EC2からのECS移行においてIaCとCDをどう変えたか
shonansurvivors
23
7.3k
S3とCloudWatch Logsの見直しから始めるコスト削減 / Cost saving S3 and CloudWatch Logs
shonansurvivors
3
2.9k
プロダクトと組織の成長を見据えたスマートラウンドの AWSマルチアカウント戦略/AWS Multi Account Strategy
shonansurvivors
5
4.8k
Other Decks in Technology
See All in Technology
fukuoka.ts #3 社内でESLintの共通設定を配りたい2025年春版
pirosikick
1
280
パスキー導入の課題と ベストプラクティス、今後の展望
ritou
7
1k
移行できそうでやりきれなかった 10年超えのシステムを葬るための戦略
ryu955
2
180
Go製のマイグレーションツールの git-schemalex の紹介と運用方法
shinnosuke_kishida
1
340
頻繁リリース × 高品質 = 無理ゲー? いや、できます!/20250306 Shoki Hyo
shift_evolve
0
130
単一の深層学習モデルによる不確実性の定量化の紹介 ~その予測結果正しいですか?~
ftakahashi
PRO
3
500
バックエンドエンジニアによるフロントエンドテスト拡充の具体的手法
kinosuke01
1
470
React Server Componentは 何を解決し何を解決しないのか / What do React Server Components solve, and what do they not solve?
kaminashi
5
710
Explainable Software Engineering in the Public Sector
avandeursen
0
270
IVRyの組織の形とSLO運用の現状
abnoumaru
0
180
EM初心者として半年間マネジャーをやってみて分かったこと
sansantech
PRO
0
190
Go の analysis パッケージで自作するリファクタリングツール
kworkdev
PRO
1
340
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Testing 201, or: Great Expectations
jmmastey
42
7.3k
Navigating Team Friction
lara
183
15k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Six Lessons from altMBA
skipperchong
27
3.7k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.6k
BBQ
matthewcrist
88
9.5k
Speed Design
sergeychernyshev
28
850
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
Typedesign – Prime Four
hannesfritz
41
2.6k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Why Our Code Smells
bkeepers
PRO
336
57k
Transcript
GitHub dockyard(2023/8/5) GitHub Actionsの GitHub-hosted Larger Runnersと 他サービスと 株式会社スマートラウンド 山原
崇史(@shonansurvivors)
自己紹介 株式会社スマートラウンド SRE/コーポレートITチーム エンジニアリングマネージャー 山原 崇史 (やまはら たかし) 経歴等 ・SIer
→ 銀行 → Web系ベンチャー数社 → 現職 ・2023 Japan AWS Top Engineers(Software) ・AWS Startup Community Core Member 好きな技術領域 GitHub Actions / AWS / Terraform shonansurvivors
事業およびプロダクト紹介 ミッション スタートアップが可能性を最大限に発揮できる世界をつくる smartroundが実現する世界 統一化・標準化されたデータ管理によって、スタートアップと投資家双方の業務を効率化
本日のテーマ GitHub-hosted Larger Runnersと AWS CodeBuildやSelf-hostedとの比較の話
追加されたRunners 4-cores以上が選択可能に🎉 vCPUs(x86_64) Memory(RAM) Storage(SSD) OS 2 7GB 14GB Linux,
Windows 4 16GB 150GB Linux 8 32GB 300GB Linux, Windows 16 64GB 600GB Linux, Windows 32 128GB 1,200GB Linux, Windows 64 256GB 2,040GB Linux, Windows ※上記以外にmacOSあり
使い方 1. OraganizationのSettings > Actions > Runnersの設定画面でLarger Runnerを加える ◦ https://docs.github.com/en/actions/using-github-hosted-runners/managing-larger-runners#a
dding-a-larger-runner-to-an-organization 2. 追加したRunnerの名前をjobs.<job_id>.runs-on.labelsに記述する jobs: test: runs-on: labels: ubuntu-20.04-4-cores
処理時間 とあるJVM系言語でのCIの結果 (試行回数が各1回だけなのであくまで参考に ...) • 2-cores • 4-cores • 8-cores
4m 32s 5m 50s 12m 26s
気になる料金 • 2vCPUの料金の単純比例となる • Larger Runnersは無料枠の対象外なので注意 (例:Teamsの3,000分無料枠は消費されなかった ) スペック 1分あたりの料金
(Linux) 2vCPU / 7GB RAM $0.008 4vCPU / 16GB RAM $0.016 8vCPU / 32GB RAM $0.032 16vCPU / 64GB RAM $0.064 32vCPU / 128GB RAM $0.128 64vCPU / 256GB RAM $0.256
他のCIサービスとの比較 若干割高に見える? 🤔 スペック 1分あたりの料金 (Linux) 2vCPU / 7GB RAM
$0.008 4vCPU / 16GB RAM $0.016 8vCPU / 32GB RAM $0.032 16vCPU / 64GB RAM $0.064 32vCPU / 128GB RAM $0.128 64vCPU / 256GB RAM $0.256 GitHub Actions スペック 1分あたりの料金 (Linux) 2vCPU / 3GB RAM (general1.small) $0.005 4vCPU / 7GB RAM (general1.medium) $0.010 8vCPU / 15GB RAM (general1.large) $0.020 - - - - - - AWS CodeBuild(東京リージョン)
Self-hosted RunnersにAmazon EC2を使うとしたら Self-hosted Runnersの方が魅力的に見えてしまうが・・・ 🥺 スペック 60分あたりの料金 (Linux) 2vCPU
/ 7GB RAM $0.480 4vCPU / 16GB RAM $0.960 8vCPU / 32GB RAM $1.920 16vCPU / 64GB RAM $3.840 32vCPU / 128GB RAM $7.680 64vCPU / 256GB RAM $15.360 GitHub Actions スペック 60分あたりの料金 2vCPU / 8GB RAM (m5.large) $0.096 4vCPU / 16GB RAM (m5.xlarge) $0.192 8vCPU / 32GB RAM (m5.2xlarge) $0.384 16vCPU / 64GB RAM (m5.4xlarge) $0.768 32vCPU / 128GB RAM (m5.8xlarge) $1.536 64vCPU / 256GB RAM (m5.16xlarge) $3.072 Amazon EC2のm5ファミリー(東京リージョン)
一概に優劣は付けられない AWS CodeBuild • 類似サービスではあるが、そもそも 仕様や使い勝手に大きく違いがある • 実際に処理が開始されるまでの 待ち時間にムラがあり、そこに多くかかることがある (以下は一例)
処 理 の 流 れ 環境が起動するまでの時間 コードをGitHubから ダウンロードする時間
一概に優劣は付けられない Self-hosted Runners • 一定の初期構築工数 はかかる ◦ 専用のTerraform module(https://github.com/philips-labs/terraform-aws-github-runner )
などを利用することで構築を楽にすることは可能 • ジョブ開始までの待ち時間が長く感じて 実用を見送った経験あり ◦ ちなみに登壇者の所属組織のエンジニア数は 10名ほど(2023年8月現在) ◦ より大きな規模の開発組織で、時間あたりのジョブ起動回数も多く、 Runnerをいくつか常時起動してプールして利用する場合は 待ち時間は問題にならないのかも (Self-hostedを運用している人、ぜひ教えて下さい! )
まとめ Github-hosted Larger Runners • すぐに手軽にGitHub Actionsのジョブを高速化できる • Self-hosted Runnersを運用するほどではない
小規模組織には特におすすめ できるのではないか • AWS CodeBuildを選択するかは組織の事情に合わせて (できるだけAWSに寄せたいなど)
ご清聴ありがとうございました! Startup comes first! Join our team! jobs.smartround.com