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
690
スタートアップがAWSパートナーになって得られたこと
shonansurvivors
3
970
AWSで構築するCDパイプラインとその改善
shonansurvivors
4
3.7k
Terraformでmoduleを使わずに複数環境を構築して感じた利点
shonansurvivors
3
3.4k
クロステナントアクセスを要件とするsmartroundのマルチテナントSaaSアーキテクチャ
shonansurvivors
0
440
CodeBuildで動かすecspresso
shonansurvivors
2
3.6k
EC2からのECS移行においてIaCとCDをどう変えたか
shonansurvivors
23
7.2k
S3とCloudWatch Logsの見直しから始めるコスト削減 / Cost saving S3 and CloudWatch Logs
shonansurvivors
3
2.8k
プロダクトと組織の成長を見据えたスマートラウンドの AWSマルチアカウント戦略/AWS Multi Account Strategy
shonansurvivors
5
4.8k
Other Decks in Technology
See All in Technology
The Future of SEO: The Impact of AI on Search
badams
0
240
RSNA2024振り返り
nanachi
0
630
OpenID Connect for Identity Assurance の概要と翻訳版のご紹介 / 20250219-BizDay17-OIDC4IDA-Intro
oidfj
0
420
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
9
1.7k
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
160
明日からできる!技術的負債の返済を加速するための実践ガイド~『ホットペッパービューティー』の事例をもとに~
recruitengineers
PRO
3
520
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
670
データマネジメントのトレードオフに立ち向かう
ikkimiyazaki
6
1.2k
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
140
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
1
1.5k
開発組織のための セキュアコーディング研修の始め方
flatt_security
3
2.7k
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
510
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Why Our Code Smells
bkeepers
PRO
336
57k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
GitHub's CSS Performance
jonrohan
1030
460k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
What's in a price? How to price your products and services
michaelherold
244
12k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Optimizing for Happiness
mojombo
376
70k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
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