こんにちは、やまねです。GitHub Enterpriseネタその2、となります。
先日の投稿で、GitHub Enterpriseを利用していてサポートに問い合わせた際にシステム要件を満たしてないという指摘を受けた、ということを書きました。引き継いだ時点でシステム要件の確認まではしていなかったのですが、最初から要件を満たさないほど低いスペックで運用していたのか?というと実はそうではありません。
たとえばGitHub Enterpriseバージョン2.10の時は以下のような必要要件となっています。
ユーザー数 | vCPUs | メモリ | データ領域 | ルート領域 |
10-500 | 2 | 16 GB | 100 GB | 200 GB |
500-3000 | 4 | 32 GB | 250 GB | 200 GB |
3000-5000 | 8 | 64 GB | 500 GB | 200 GB |
100-200ユーザーぐらいであれば最小限のvCPU 2、メモリ16GB、データ領域のEBSは100GBで済んでいました。AWSインスタンスとしては r5.large。
ところが、これがバージョン2.20になると以下のようになります。
ユーザー数 | vCPUs | メモリ | データ領域 | ルート領域 |
お試し、10 ライトユーザー | 2 | 16 GB | 100 GB | 200 GB |
10〜3,000 | 4 | 32 GB | 250 GB | 200 GB |
3,000〜5,000 | 8 | 64 GB | 500 GB | 200 GB |
必要最小限がvCPU 4、メモリ32GB、データ領域のEBSサイズは250GBとなっています。AWSインスタンスとしては r5.xlarge。
そして現行のバージョン3.0ですと以下です。
ユーザー数 | vCPUs | メモリ | データ領域 | ルート領域 |
お試し、10 ライトユーザー | 4 | 32 GB | 150 GB | 200 GB |
10〜3,000 | 8 | 48 GB | 300 GB | 200 GB |
3,000〜5,000 | 12 | 64 GB | 500 GB | 200 GB |
vCPU 8、メモリ48GB、データ領域300GB必要。AWSインスタンスとしては r5.2xlarge ですね。
つまり、同じユーザー数であったとしても vCPU 2 → 4 → 8 と4倍に、メモリは16 → 32 → 48 GBと3倍、データ領域は 100 → 250 → 300 GBと3倍必要になっているのです。Oh…正直気づいてなかった。サイズ上げるとEC2費用は倍に!2つ上げるから4倍!EBS費用も3倍!
(いや「GHEのライセンス費用と比較したら微々たるもんだろ?」や「Saving Plans使おうね?」というツッコミはあるでしょうが、それはそれとして)
ハードウェア要件が上がった理由
これは何故かと言うとサポートによると
GitHub Enterprise Serverのバージョンが2.20、2.21、2.22、3.0と上がるにつれ機能追加や内部的なアーキテクチャの変更があり3.0では多くのリソースを使用します。
とのことでした。おそらくこの傾向は今後も変わらないものと思われます。
「ヒョイヒョイとアップグレードしてたらいつの間にかハードウェア要件の最小要件満たしてない状態になっていたので、ちょっと驚きましたよ」という話でした。