GitHub Packagesの費用感を試算した
概要
GitHub Packagesは、パッケージをGitHubで公開できるサービスです。PublicとPrivateどちらも使えます。
試算した結果、個人的にな結論は以下の通りでした。
- Publicは完全に無料なので、費用面でなにも考える必要なし。
- Privateは、小規模のチーム( <= 10人)で1MB程度のライブラリの公開なら無料枠で収まりそう。
- しかし、容量が大きなPackage(代表例Docker image) and/or 大規模なチーム( > 10)だと有料で運営することになりそう。
上記に至った試算を以下につらつら書きます。
目的
運用の費用感のあたりをつける。
注意
2022/03/14現在での情報です。
参考
公式の価格表です。
詳細
Public リポジトリ
以下のコメントのとおりです。完全無料です。 ただし、当然、世界に公開されるのでclosedな内容は載せられません。
パブリックリポジトリではGitHub Packagesを無料で利用できます
Private リポジトリ
チームや会社でclosedに運用したい場合はこちらになります。
プラン毎にストレージ、Actions以外経由のデータ転送で異なります。
2022/03/14 現在では、下記の表の通りでした。
プラン | ストレージ [GB] | Actions経由でのデータ転送 | Actions以外経由のデータ転送 [GB/月] |
---|---|---|---|
Free | 0.5 | 無制限 | 1 |
Pro | 2 | 無制限 | 10 |
Team | 2 | 無制限 | 10 |
Enterprise | 50 | 無制限 | 100 |
それぞれ読み解きます。
ストレージ
packageの容量です。
個人的に書くライブラリだと数MBなので気になりません。
一方、Docker imageは、100MB超(1GB超)になることもあります。Docker imageをつかうなら、残り容量を気にしつつ運用した方が良いです。
超過した場合は以下加算されます。
追加ストレージ
$0.25 ギガバイトごと
以下ストレージは超過していない過程で話をすすめます。
転送量
GitHub Actions経由とGitHub Actions経由 以外 で違います。
GitHub Actions経由
GitHub Actions利用時のデータ転送はすべて無制限です。
上記表の通り、GitHub Actions経由であれば転送量は無料です。
GitHub Actions経由以外
GitHub Actions利用時のデータ転送はすべて無制限です。
ローカルまたはサードパーティのクライアントからのデータ転送には課金される場合があります。
上記の記述を見ると、GitHub Actions経由以外とは、まさしく文字通りと解釈できそうです。
例えば、開発用のローカルの環境からGitHubでPrivateに公開したpackageをダウンロードした場合やCircleCIからダウンロードしたりでは、転送量に応じて無料枠が減ります。
詳細は後述しますが、1 MB程度のライブラリをGitHub Packagesでprivateで運用するのであれば、GitHub Actions経由 以外 を考慮したとしても、無料枠で運用も可能そうです。
一方、ストレージの所と同じで、Docker Imageの場合は、GitHub Actions経由 以外 を考慮すると現実的に無料枠での運用は難しそうです。
無料枠を超過した場合
追加のデータ転送
Actionsを使わない場合
$0.50ギガバイトごと
です。
Privateで運用したときの転送量の費用試算
10名のチームでCircleCI経由でPushでGitHub Packageがトリガーされる(パッケージが転送される)場合を考えます
なお、実際にGitHub Actions経由以外か否かについては各人で再検証ください。
パッケージ容量が1 MBのライブラリ
1 MBのライブラリをGitHub PackagesのPrivateで公開しているとします。
チーム(10人)が各人 5 回 pushして同時にCircle CIが動くとします。cacheなどは使わず愚直にインストールする場合です。Circle CI経由だとGitHub Actions経由以外と解釈できます。
1 MB * 10 人 * 5 回 * 20 日 = 1000 MB = 1 GB / 月
Free プランだとちょうど上限。Proだとまだ余裕があります。
Proプランであれば、小さなライブラリを無料枠で運用も可能そうです。
パッケージ容量がDockerのimageの場合
Dockerのimageの場合 だと 1 MB → 100 MB以上になることがほとんどです。
そうなると 前述の想定だと
100 MB x 10 人 * 5 回 * 20 日 = 100000 MB = 100 GB / 月
となるので、無料枠を遙かに超過します。
仮に転送量が100GB / 月だと Proプランの場合は無料枠 10 GBを差し引いても90GB分課金されます。
無料枠超過分90GBだと
$45。約5千円 / 月。
これはお財布に厳しい 。
感想
Public完全無料最高。Public前提であっても動作確認のために運用するや、オレオレDockerイメージを公開したいと思いました。
一方、試算の結果、ライブラリであれば、PrivateでもGitHub Packagesは無料で運用できるなとわかりました。
次の記事では、実際にGitHub Packageを使った例を書きます。
Discussion