新しい GitHub Enterprise ライセンスを導入した話
さくらインターネットでは、2015年から GitHub Enteprise Server を導入しており、エンジニアやデザイナーだけでなく、マーケや情シスの人も合わせると約300ユーザーが GitHub Enteprise を業務で利用しています。
GitHub Enteprise Server を導入した経緯としては、やはり GitHub ライクな開発スタイルがナウいし、GitHub の UI が一番使い慣れてて学習コスト0で導入できて便利だよねっていうことで、経営サイドになんとか拝み倒して年間○○○万円の稟議を決済することにみごと成功。
利便性の良さも功を奏して、社内に散らかっていた CSV や SubVersion や Gitlab などなど、個性豊かなツールで各部門やチーム単位でバラバラに管理されていたコード達が GitHub Enteprise Server に自然と集まってきて、社内コード資産をGitHub Enteprise Server に一本化して統合管理することに成功しました。
3年前に書いたスライド資料はこちら。
こんな取材インタビューも。
そんな GitHub Enterprise Server にも弱点はあります。
Enterprise Server はどうしてもオンプレ向け製品です。わざわざ OpenStack 向けのイメージをアレコレして Raw イメージに変換して「さくらのクラウド」の上に構築された社内プライベートネットワーク上で稼働させているのですが、そもそもオンプレ運用だと CircleCI Cloud のような外部クラウドとの連携がやりにくいという欠点があります。
特に最近は、外部クラウドとの連携がしやすい GitHub Cloud を求めているチームが多く、各チームが GitHub Cloud を別途契約しているような状態でした。
実用性の観点でいうと、GitHub Enterprise Server と GitHub Cloud の2つを併用するのはベターだけど、それだと料金的にも運用的にもコストが膨らみやすい点は悩みのタネの一つでした。
そんなタイミングで、2019年1月に GitHub Cloud のライセンス形態が一新されたのと同時に、Enteprise のライセンス形態も一新されたのはご存知でしょうか。
https://github.blog/jp/2019-01-08-pricing-change-jp/
GitHub Enterprise: 旧GitHub Business Cloudおよび旧GitHub Enterpriseの2つの製品が統合されました。GitHub Enterprise はEnterprise Cloud (旧GitHub Business Cloud)およびEnterprise Server(旧GitHub Enterprise)の2つの製品を含んでいます。これにより、1ユーザあたりの単一価格でクラウドおよびオンプレミスの両方でGitHubを利用することが可能です。さらに、GitHub Connect を使用すれば、セキュリティを損なうことなく両製品を連係させて、開発者がハイブリッドの環境でシームレスに作業できます。
つまり、GitHub Enteprise という新しいライセンスが登場して、「1ユーザライセンス契約で Enterprise Server と Enterprise Cloud の2つを同時に利用可能」になったことで、料金コストの肥大化に決着を付けることができるようになりました。
新しい GitHub Enterprise ライセンスには、「Unified Business Identity」「Unified Search」「Unified Contributions」という新機能が実装されています。
「Unified Business Identity」は、GItHub Cloud の Org のオーナーが別々で支払っていた料金を Enteprise Server アカウントのオーナーがまとめて支払う仕組みです。
つまり、新しい Enteprise ライセンスでは、 Org の上位に Enterprise という上位概念が存在していて、Enterprise 配下に複数の Org がぶら下がるようなイメージになっています。
Compliant policies ✅
— GitHub (@github) May 23, 2019
Users and teams ✅
Unified billing ✅
Across multiple organizations ✅
Enterprise Accounts: now available for GitHub Enterprise Cloud customers.#GitHubSatellite pic.twitter.com/OZgrNyk5Zd
「Unified Search」は、Enteprise Server の検索フォームから、Enteprise Cloud にあるリポジトリを横断的に検索することができるようになる機能です。
「あのリポジトリってどこのOrgにあったっけ?」っていうときに便利です。
「Unified Contributions」は、Enteprise Server で生やした草(Contribution)を GitHub Cloud にある個人アカウントに合計して反映させる機能です。
GitHub Enteprise のほうでたくさん草を生やしている開発者にとっては嬉しい機能ですね。
最近リリースされた GitHub Enteprise Server 2.17.0 以降では、「Team synchronization(ベータ版)」が追加されており、IdP を参照して1時間おきにメンバーシップ情報を更新できるようになり、メンバー管理の運用を大幅に簡略できるようになります。
ベータ版の時点では、Microsoft Azure AD にしか対応していませんが、SSO では OneLogin などおなじみの IdP に GitHub では対応しているので対応範囲は順次拡大していくことが期待されます。
新しい Enteprise プランとは関係ありませんが、依存パッケージのアップデートや Security Fix のプルリクを自動作成してくれるサービス「Dependabot」も最近無料で使えるようになったのが便利ですね。
まとめ
今回、いくつかの機能をご紹介しましたが GitHub Enteprise には、他にも様々な機能が実装されています。
かれこれ、GitHub Enteprise Server を稼働させてから4年ほど経過しましたが、 大きなトラブルもなく順調に動き続けています。
企業ユースなら、GitHub Enteprise は選択肢の一つとしてオススメです。