Skip to content
Latchkey

Windows runnerのコストとは?2倍の倍率を解説

Windows runnerのコストとは、Windows上でCIを実行する際の1分あたりの価格であり、GitHub ActionsではLinuxの料金の約2倍です。

WindowsはCIコストの階段でLinuxとmacOSの間に位置します。約2倍の倍率はmacOSほど劇的ではないため見過ごされやすいですが、ほとんどのjobをWindowsで実行する.NETやWindowsネイティブのチームにとっては、その2倍化がほぼ請求額全体に適用されます。

Windowsがどれだけ高いか

GitHub Actionsでは、Windowsの1分は割当のうちLinuxの約2分を消費します。Linux 2-coreの約$0.008/minに対して、これは実効で約$0.016/minになります。同じworkflowのロジックが、1分あたりの価格が2倍になっているだけです。

なぜ倍率が存在するのか

WindowsはOSのライセンスを必要とし、Linuxよりも重いベースイメージと遅い起動を使う傾向があります。プロバイダーはそれらのライセンスとリソースのコストを、別項目ではなく倍率に組み込むため、より高い実効料金として現れます。

無料枠への影響

Windowsは2倍でカウントされるため、2,000分の無料分数はWindowsの時間ではわずか約1,000分にしかなりません。主にWindowsでbuildするチームは、同等のLinuxチームの約2倍速く超過に達します。

Windowsのコストが潜む場所

大きなWindowsイメージでの遅いcold start、長いMSBuildとテストの実行、そして変更ごとにWindowsのバリアントを追加するmatrixのlegは、すべて2倍の料金で積み重なります。クロスプラットフォームのmatrixは、Windowsのコストがひそかにjobを2倍化させる一般的な場所です。

コストを抑える

本当にWindows固有のjobだけをWindowsで実行し、共有作業(linting、パッケージング、Windows以外のbuild)はLinuxに保ちましょう。依存関係とbuildをcacheして、2倍の倍率が増幅する分数を削減します。

より安価なWindowsのCI

より低いベース料金と少ない無駄は、どちらも倍率が適用される場所でより大きく効いてきます。不安定なWindowsの再実行を回復させることは、Linuxの再実行の2倍を節約するため、ウォームプールと自己修復 - そして約70%安価なベースライン - がWindowsのワークロードで相乗効果を発揮します。

重要なポイント

  • Windows runnerはGitHub ActionsでLinuxの1分の約2倍のコストがかかります。
  • OSのライセンスとより重いイメージが2倍の倍率を生みます。
  • 無料の分数はWindowsで約2倍速く消費されます。

関連ガイド