Slide 1

Slide 1 text

GitHub dockyard(2023/8/5) GitHub Actionsの GitHub-hosted Larger Runnersと 他サービスと 株式会社スマートラウンド 山原 崇史(@shonansurvivors)

Slide 2

Slide 2 text

自己紹介 株式会社スマートラウンド SRE/コーポレートITチーム エンジニアリングマネージャー 山原 崇史 (やまはら たかし)  経歴等  ・SIer → 銀行 → Web系ベンチャー数社 → 現職  ・2023 Japan AWS Top Engineers(Software)  ・AWS Startup Community Core Member 好きな技術領域  GitHub Actions / AWS / Terraform shonansurvivors

Slide 3

Slide 3 text

事業およびプロダクト紹介 ミッション  スタートアップが可能性を最大限に発揮できる世界をつくる smartroundが実現する世界  統一化・標準化されたデータ管理によって、スタートアップと投資家双方の業務を効率化

Slide 4

Slide 4 text

本日のテーマ GitHub-hosted Larger Runnersと AWS CodeBuildやSelf-hostedとの比較の話

Slide 5

Slide 5 text

追加された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あり

Slide 6

Slide 6 text

使い方 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..runs-on.labelsに記述する jobs: test: runs-on: labels: ubuntu-20.04-4-cores

Slide 7

Slide 7 text

処理時間 とあるJVM系言語でのCIの結果 (試行回数が各1回だけなのであくまで参考に ...) ● 2-cores ● 4-cores ● 8-cores 4m 32s 5m 50s 12m 26s

Slide 8

Slide 8 text

気になる料金 ● 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

Slide 9

Slide 9 text

他の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(東京リージョン)

Slide 10

Slide 10 text

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ファミリー(東京リージョン)

Slide 11

Slide 11 text

一概に優劣は付けられない AWS CodeBuild ● 類似サービスではあるが、そもそも 仕様や使い勝手に大きく違いがある ● 実際に処理が開始されるまでの 待ち時間にムラがあり、そこに多くかかることがある (以下は一例) 処 理 の 流 れ 環境が起動するまでの時間 コードをGitHubから ダウンロードする時間

Slide 12

Slide 12 text

一概に優劣は付けられない Self-hosted Runners ● 一定の初期構築工数 はかかる ○ 専用のTerraform module(https://github.com/philips-labs/terraform-aws-github-runner ) などを利用することで構築を楽にすることは可能 ● ジョブ開始までの待ち時間が長く感じて 実用を見送った経験あり ○ ちなみに登壇者の所属組織のエンジニア数は 10名ほど(2023年8月現在) ○ より大きな規模の開発組織で、時間あたりのジョブ起動回数も多く、 Runnerをいくつか常時起動してプールして利用する場合は 待ち時間は問題にならないのかも (Self-hostedを運用している人、ぜひ教えて下さい! )

Slide 13

Slide 13 text

まとめ Github-hosted Larger Runners ● すぐに手軽にGitHub Actionsのジョブを高速化できる ● Self-hosted Runnersを運用するほどではない 小規模組織には特におすすめ できるのではないか ● AWS CodeBuildを選択するかは組織の事情に合わせて (できるだけAWSに寄せたいなど)

Slide 14

Slide 14 text

ご清聴ありがとうございました! Startup comes first! Join our team! jobs.smartround.com