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
840
GitHub ActionsのGitHub-hosted Larger Runnersと他サービスと
shonansurvivors
June 28, 2023
Tweet
Share
More Decks by shonansurvivors
See All by shonansurvivors
スタートアップがAWSパートナーになって得られたこと
shonansurvivors
3
780
AWSで構築するCDパイプラインとその改善
shonansurvivors
4
3.3k
Terraformでmoduleを使わずに複数環境を構築して感じた利点
shonansurvivors
4
3k
クロステナントアクセスを要件とするsmartroundのマルチテナントSaaSアーキテクチャ
shonansurvivors
0
340
CodeBuildで動かすecspresso
shonansurvivors
2
3.1k
EC2からのECS移行においてIaCとCDをどう変えたか
shonansurvivors
22
6.8k
S3とCloudWatch Logsの見直しから始めるコスト削減 / Cost saving S3 and CloudWatch Logs
shonansurvivors
3
2.6k
プロダクトと組織の成長を見据えたスマートラウンドの AWSマルチアカウント戦略/AWS Multi Account Strategy
shonansurvivors
5
4.5k
信頼性の階層の一段目を積み上げる/Monitoring Dashboard
shonansurvivors
3
3k
Other Decks in Technology
See All in Technology
FastlyとfalcoでNode.jsレスな Webサーバー構築 : IPTV版 ABEMAアプリインフラ刷新 / Building web server using Fastly and falco without Node.js for IPTV ABEMA app
nodaguti
0
240
HolidayJp.jl を作りました
mrkn
0
110
トレタO/X アーキテクチャ移行記 Next.js App Router化への道のり / TORETA TECH UPDATE 1
okunokentaro
2
560
脆弱星に導かれて
nishimunea
1
1.5k
Datadog を使ったプロダクトとクラウドの セキュリティモニタリング
mrtc0
0
450
Oracle Database Backup Service:サービス概要のご紹介
oracle4engineer
PRO
0
4k
Namespace, Now and Then
tagomoris
0
170
データウェアハウス製品のSnowflakeでPythonが動くって知ってました?
foursue
1
150
エンジニア視点で見る、 組織で運用されるデザインシステムにするには
shunya078
1
160
AWS版GitHub?Amazon CodeCatalystの全体像をまとめてみた
oshanqq
1
3.2k
技術力あげたい
hisaichi5518
2
2.8k
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
0
13k
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
65
4.3k
A designer walks into a library…
pauljervisheath
201
24k
The Cost Of JavaScript in 2023
addyosmani
39
5.1k
Pencils Down: Stop Designing & Start Developing
hursman
118
11k
Robots, Beer and Maslow
schacon
PRO
157
8.1k
A Philosophy of Restraint
colly
202
16k
How To Stay Up To Date on Web Technology
chriscoyier
785
250k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.8k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
165
48k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.5k
Code Review Best Practice
trishagee
62
16k
[RailsConf 2023] Rails as a piece of cake
palkan
44
4.6k
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