$30 off During Our Annual Pro Sale. View Details »

GitHub ActionsのGitHub-hosted Larger Runnersと他サービスと

GitHub ActionsのGitHub-hosted Larger Runnersと他サービスと

shonansurvivors

June 28, 2023
Tweet

More Decks by shonansurvivors

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  6. 使い方
    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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  11. 一概に優劣は付けられない
    AWS CodeBuild
    ● 類似サービスではあるが、そもそも 仕様や使い勝手に大きく違いがある
    ● 実際に処理が開始されるまでの 待ち時間にムラがあり、そこに多くかかることがある (以下は一例)





    環境が起動するまでの時間
    コードをGitHubから
    ダウンロードする時間

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide