
はじめに
先日部署内で「GitLabの見直し」に取り組んでいましたが、最終的に中断となりました。
ですが、その過程で得られた知見はこれから同じような検討を行う人にとっても役立つと思います。
本記事では、検討内容や気づきを整理して共有します。
今後のGit関連サービス選びの参考になりましたら幸いです。
背景
- 現行:GitLab(v13系)をオンプレで運用
- 環境:EC2(t3a.medium)、約$35/月
- 目的:最新バージョン(v17系)までのアップデート、または代替サービスの移行検討
- 課題:
- スペックを上げるとコスト増大
- 未使用機能が多く非効率
- アップデート作業が重い など
検討した選択肢
- GitHub:SaaSで信頼性が高い。有料/無料枠あり。(有料プランは一人あたり$4/月程度)
- Gitea:軽量。自己ホスト可能でオンプレ向き。必要最低限の機能で無駄がない。シンプルなUI/UX
- GitLab継続(バージョンアップ):現行資産をそのまま活用可能で学習コストなし
- GitLab再構築(新環境を構築し、必要な資産を選び移行):不要資産を整理し、構成の最適化が可能
他にもサービスは存在しますが、「組織向けではない」「無料枠のみ、かつ広告表示がある」等で、今回はこれらに絞って検討を進めました。
評価軸による比較検討
| サービス | コスト | 自由度 | 運用負荷 | 必要機能 | 利用者教育 |
|---|---|---|---|---|---|
| GitHub | ◎(無料枠) | △(SaaS制限) | ◎ | ○ | △ |
| Gitea | ◎(自己ホスト) | ◎(全構成自由) | △(自前で保守) | ○ | △ |
| GitLab継続 | △(保守含め継続コスト) | ◎(既存資産そのまま) | △(アップグレード工数) | ◎(現状維持) | ◎(変更なし) |
| GitLab再構築 | ○(構成次第で最適化) | ◎(必要機能だけ設計) | △(初期構築は必要) | ◎(スリム構成にできる) | ○(再設計に応じた啓蒙) |
料金感による比較(参考値)
| サービス | コスト感 | 特徴 |
|---|---|---|
| GitHub | チーム利用で月額数百ドル規模 | SaaSの安定性、CI/CD豊富 |
| Gitea | 数十ドル規模 | 軽量・オンプレ自由度高い |
| GitLab継続 | 数十〜百ドル規模(インスタンス増強時) | 現行資産をそのまま活用 |
| GitLab再構築 | 構成次第で最適化可 | スリムな新環境で再スタート |
※いずれも概算。詳細は利用規模や構成に依存します。
実施した検証と、それぞれ感じた利点と課題
- GitLab v13→v17のアップグレード試行
- 利点:公式がアップグレードの推奨順を出しており、従うことでスムーズにアップグレードが可能
- 課題:アップグレードに段階(20段階程度)を踏む必要があり想像以上に手間と時間がかかることと、EC2のスペック不足を実感
→同じく代表的サービスであるGitHub(無料/有料)を検討することに。
- GitHubのリポジトリ移行を試行
- 利点:オンプレ構築不要で高機能
- 課題:有料版はコスト面、無料版は制約が厳しいことや、グループ機能がなく今まで通りの案件/人管理はできないこと
→代表的な2サービス以外も試してみることに。
- Giteaを構築し、認証やリポジトリ移行を確認
- 利点:現行EC2より費用を抑えつつ、快適に動作することを確認
- 課題:移行にやや手間がかかり、またGitHubライクな仕様の都合グループが無く運用方法の検討が必要であること
→運用方法を変えたくないという意見を受け、必要なプロジェクトのみで再構築を検討することに。
- GitLab再構築のシナリオ検討(プロジェクト整理・必要機能の洗い出し)
- 利点:使い慣れたGitLabをコストを抑えて使い続けられる
- 課題:実施を進めるも、整理には各プロジェクトの代表者に確認をとる必要があり、なかなか進まないこと
→予定期間内に完了せず、中断となる。
中断理由
- 他案件対応が優先となり、工数が不足
- 決定権限が曖昧で判断が進まなかった
- コストや調整が難航したため
結果、GitLabは途中のバージョンで止まった状態に。後続の判断に引き継がれることになりました。
学びと気づき
- 技術的な比較よりも、合意形成や体制づくりがボトルネックになりやすい
- SaaSかオンプレかの選択は、コスト・自由度・組織文化によって大きく変わる
- 「とりあえず継続」や「そのまま更新」は、将来的に負担を残す可能性がある
- サービスの見直しは レガシーデータ棚卸しの機会でもある
- 中断したとしても、検証結果や比較資料を残すことで次の判断材料になる
各サービスのおすすめ対象
| サービス | 向いている人・用途 |
|---|---|
| GitHub | オープンソースや社外連携重視、スタートアップ |
| Gitea | 小〜中規模チーム、オンプレで自由度重視 |
| GitLab継続 | 安定運用中であり、現行の権限管理やCIを活用している組織 |
| GitLab再構築 | 棚卸しを機に構成最適化したいチーム |
まとめ
移行やアップグレードを完遂できなくても、判断プロセスを明文化して残すことに意味があるのだという気付きを得ました。
今回の取り組みが、次に同じ課題に直面する方の参考になれば幸いです。
