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
940
GitHub ActionsのGitHub-hosted Larger Runnersと他サービスと
shonansurvivors
June 28, 2023
Tweet
Share
More Decks by shonansurvivors
See All by shonansurvivors
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
2
600
スタートアップがAWSパートナーになって得られたこと
shonansurvivors
3
910
AWSで構築するCDパイプラインとその改善
shonansurvivors
4
3.5k
Terraformでmoduleを使わずに複数環境を構築して感じた利点
shonansurvivors
4
3.3k
クロステナントアクセスを要件とするsmartroundのマルチテナントSaaSアーキテクチャ
shonansurvivors
0
410
CodeBuildで動かすecspresso
shonansurvivors
2
3.5k
EC2からのECS移行においてIaCとCDをどう変えたか
shonansurvivors
22
7.1k
S3とCloudWatch Logsの見直しから始めるコスト削減 / Cost saving S3 and CloudWatch Logs
shonansurvivors
3
2.8k
プロダクトと組織の成長を見据えたスマートラウンドの AWSマルチアカウント戦略/AWS Multi Account Strategy
shonansurvivors
5
4.7k
Other Decks in Technology
See All in Technology
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
rokuosan
0
150
Password-less Journey - パスキーへの移行を見据えたユーザーの準備 @ AXIES 2024
ritou
3
1.4k
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
31k
CustomCopを使ってMongoidのコーディングルールを整えてみた
jinoketani
0
220
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
180
.NET 9 のパフォーマンス改善
nenonaninu
0
440
Microsoft Azure全冠になってみた ~アレを使い倒した者が試験を制す!?~/Obtained all Microsoft Azure certifications Those who use "that" to the full will win the exam! ?
yuj1osm
1
110
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
180
フロントエンド設計にモブ設計を導入してみた / 20241212_cloudsign_TechFrontMeetup
bengo4com
0
1.9k
Wantedly での Datadog 活用事例
bgpat
1
410
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
200
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
280
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6.1k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
How STYLIGHT went responsive
nonsquared
95
5.2k
Navigating Team Friction
lara
183
15k
KATA
mclloyd
29
14k
A Tale of Four Properties
chriscoyier
157
23k
GraphQLとの向き合い方2022年版
quramy
44
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Code Review Best Practice
trishagee
65
17k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
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