2024年8月16日

テクノロジー

GitLabとは?できることや料金プランをわかりやすく解説

昨今、DXを推進させるために、開発チームと運用チームがお互い協力して、開発スピードを向上させることを目指す仕組みとして、DevOpsを導入する企業が増えています。DevOpsの実現にはツール選定が非常に重要ですが、今回紹介するGitLabは包括的なDevOpsプラットフォームとして多くのDXを推進する企業に選ばれているサービスです。

この記事では、GitLabの概要やサービスの成り立ち、混同されがちなGitHubとの違い、GitLabで実現できること、提供スタイルや料金プランなどを紹介していきます。DevOpsの導入を検討している方はもちろん、とりあえずGitLabとは何かを知りたいという方にもご参考いただける内容になっています。

1. GitLabとは?サービスの概要と成り立ち

GitLabは、ソースコードのバージョン管理システムであるGitを利用したサービスで、ソースコードの管理以外にもCI/CD(継続的インテグレーション/継続的デリバリー)、プロジェクト管理、セキュリティといった複合的な機能を持ち合わせています。いわゆるオールインワンのDevOpsプラットフォームと呼ばれるものです。

※DevOpsとは?

開発(Development)と運用(Operations)を組み合わせた言葉で、ソフトウェア開発をスムーズに進め、開発スピードを向上させるために、開発チームと運用チームが協力しあおうという考え方です。この考え方が広まった背景には、移り変わりの早い世間のニーズに対応していくために、ユーザーの声を迅速に取り入れ、開発プロセスを素早く回すべきというソフトウェア開発における昨今の流れがあります。

詳しくはこちらの記事をご覧ください。

DevOpsとは?DXが進む企業の約8割が実践!メリットや導入方法を解説

DevOpsとアジャイル開発の違い:メリット、注意点、導入方法も解説

 

DevOpsを実現するためには、開発・運用における各プロセスを効率的に進めるためにツールの導入が不可欠です。各ベンダーからツールを選んでツールチェーンを構築する方法もありますが、GitLabを利用するとDevOpsにおいて必要となる基本機能を網羅することができます。つまり、極端に言うと、GitLabを導入すればDevOpsを実現するための土台は整うというサービスです。ただし、ツールを導入しただけで、DevOpsを実現できるわけではないため、あくまでDevOpsに必要な開発環境を整えることができるという風に認識していただければと思います。

ところで、GitLabというサービスはどのようにして生まれ、どのように広まってきたのでしょうか?その成り立ちから現在までを見ていきましょう。

 

始まりは個人プロジェクト

今やDevOpsプラットフォームとして世界中で広く知られているGitLabですが、その始まりは、たった1人のウクライナの開発者によるオープンソースプロジェクトでした。開発を始めたのは2011年で、当時DevOpsという言葉は一般的ではなく、2008年にリリースされた同じく分散型ソースコード管理システムGitを利用したGitHubが広く使われているような状況でした。

 

協力者の登場で急成長

開発開始から2年ほど経った2013年、開発者の掲示板でGitLabの存在を知り、興味を持ったオランダの経営者とともに共同創業することになり、翌2014年に法人を設立します。その後も協力者は増え続け、開発から10年でIPO(新規株式公開)を果たすまでに成長を遂げてきました。

GitLabのビジネスの特徴として、オープンソースを基盤とした分散型の開発スタイルであることがあげられます。GitLabの社員は世界中に散らばっていて、完全なるリモートワークを採用しており、オフィスを持たない企業としても有名です。

DevOpsというスタイルが広く受け入れられるようになったこともGitLabの成長を後押しし、現在ではGoldman Sachsや、Siemens、NVIDIA、NASA、Alibabaなどの非ソフトウェア系の企業を含む世界的大企業がGitLabを導入しています。日本でもソニーなどの大手企業がGitLabを利用して、ソフトウェア開発プロセスの効率化を進めています。

2. GitHubとGitLabの違い

よく比較されるサービスとしてGitHubがあります。どちらもソースコード管理システムであるGitを利用しているサービスですが、サービスのコンセプトや想定利用シーンに違いがあります。そのため、どちらのサービスが適しているかは、自社の環境や用途によって検討する必要があります。

GitHub、GitLabの違いを説明する前に、まずは簡単にGitについて触れておきます。

▲Git公式サイト:https://git-scm.com/

Gitとは、複数人でソフトウェアを開発する際になくてはならない機能である、「ソースコード管理」ができるシステムです。複数の開発者がばらばらにソースコードを書き換えていく場合、きちんと管理体制が整っていないと、誰がどんな変更をいつ加えたのか分からなくなってしまいます。そうなると、エラーが起きた場合にどこを修正するべきかすぐに特定することができません。Gitを使えばすぐに変更前の状態に戻すことができるため、複数人での開発作業をスムーズにおこなうことができます。

 

GitHub:世界最大の開発者コミュニティ

▲GitHub公式サイト:https://github.co.jp/

GitHubはGitのソースコード管理の機能を利用しつつ、世界中の開発者との共同開発やコミュニケーションができるサービスです。そのため、オープンソースプロジェクトを立ち上げたり、既存のプロジェクトに協力したりする場合に適しています。また、他の開発者のソースコードを参考にしたり、自分が書いたソースコードを共有できるため、開発の参考にしたり自身のスキルアップにも活用することができます。

基本的にクラウドベースのウェブサービスのみでGitHubは提供されています。(ただし、大企業向けのEnterpriseプランでは限定的にオンプレミス版を提供しています。)全ユーザーが同じプラットフォーム上でプロジェクトを共有することになるため、セキュリティが厳しい企業は利用が難しい場合もあります。

GitHubについてより詳しく知りたい方はこちら
GitHubとは?選ばれる理由と知っておくべき用語、導入方法を解説 | in-Pocket インポケット

 

GitLab:オールインワンのDevOpsプラットフォーム

▲GitLab公式サイト:https://about.gitlab.com/ja-jp/

GitHubが社外のコラボレーションを得意としているのに対し、GitLabは組織内におけるソフトウェア開発プロセス全般をスムーズに進めるための環境構築に最適なサービスです。DevOpsを実践するためには、DevOpsライフサイクルと呼ばれるソフトウェア開発における各プロセス(計画、コード作成、ビルド、テスト、リリース、デプロイ、運用、モニタリング)をシームレスに繋げていくことが重要になります。GitLabはこのような各プロセスにおいて必要な機能を幅広くカバーしているのが特徴です。特に、セキュリティ機能やプロジェクト管理機能が充実しており、大規模なプロジェクトや複雑な開発プロセスの一元管理に向いています。

▲開発プロセスにおける幅広い領域をカバー(GitLab公式サイトより)

GitLabはプロダクトとして提供されており、自社サーバーにインストールして使用することができるため、セキュリティポリシーが厳しい組織や、クラウドサービスの使用を制限している環境でも利用することができます。

Git / GitHub / GitLabの違いについてもっと詳しく知りたい方はこちらの記事をご覧ください。
GitとGitHub、GitLabの違い:バージョン管理と開発プラットフォームの選び方

3. GitLabでできること

続いて、GitLabで実現できることを具体的に見ていきましょう。

 

バージョン管理

ソフトウェアの変更履歴を記録し、複数人で同時に作業ができます。誰がいつどんな変更をしたか追跡でき、必要に応じて以前のバージョンに戻すこともできます。チームでの共同作業がスムーズになります。

 

プロジェクト管理

タスクの割り当てや進捗管理ができます。カレンダーのように視覚的に状況が確認できるので、プロジェクトの全体像が把握しやすくなります。効率的な作業計画の作成に役立ちます。

 

CI/CD(継続的インテグレーション/継続的デリバリー)

新しい機能を追加したり、バグを修正した後、自動でテストやリリース作業を行います。人為的ミスを減らして、素早く安全にサービスを改善することができます。

 

セキュリティ

ウイルスやハッカーの攻撃に弱い箇所がないか、常に監視することによって、ソフトウェアの脆弱性を自動的にチェックします。セキュリティに問題がある箇所の早期発見・対応が可能になり、安全なサービス提供につながります。

 

コラボレーション

チーム内での情報共有や意見交換を促進します。プロジェクトに関する文書を共同編集したり、アイデアを出し合ったりすることもできます。離れた場所にいるメンバー同士でも、スムーズに協力して作業を進められます。

 

インフラストラクチャ管理

クラウドサービスとの連携や、複数のサーバーの一括管理ができます。サービスの安定運用や、急な負荷増大にも柔軟に対応できるようになります。

 

モニタリングと分析

サービスの稼働状況を常に監視します。問題が起きていないか、ユーザーの利用状況はどうかなどの確認が可能です。異常を早期に発見したり、サービス改善のヒントを得たりすることもできます。

 

AI支援開発

AIを活用して開発作業を支援します。プログラミングのアドバイスをAIから得たり、単純作業を自動化したりできます。開発者の作業効率が上がり、より創造的な仕事に集中できるようになります。

4. 2種類の提供スタイル:自社サーバー型とSaaS型

GitLabは自社サーバーで運用するタイプの「Self-Managed版」と、SaaS版の「GitLab.com」という2種類の提供スタイルから選択することができます。どちらもメリットデメリットがあるため、組織の規模、セキュリティ要件、技術力などに応じて適切な方を選択することが重要です。以下にそれぞれの特徴をまとめてみます。

 

Self-Managed版

  • 環境の構築や管理、アップデートなどをユーザーの責任で行う必要がある
  • 細かくカスタマイズができ、プラグインの追加や独自の機能開発も可能
  • 自社のセキュリティポリシーに沿った運用が可能
  • サーバーの準備や運用にコストがかかり、短期的にはコスト効率が悪くなる場合がある

 

GitLab.com

  • ユーザーは設定やメンテナンスの必要がなく、すぐに利用を開始できる
  • 基本的な設定は可能だが、大幅なカスタマイズは不可
  • GitLabのセキュリティ基準に従って運用され、データは外部のサーバーに保存される
  • 利用料金を支払うだけで利用でき、初期コストや運用コストが抑えられる

5. 3種類の料金プラン

GitLabの主要な料金プランは、「Free」「Premium」「Ultimate」の3種類が用意されており、自社サーバー型とSaaS型の両方で利用が可能になっています。

また、教育機関や非営利団体向けの特別プランも用意しており、柔軟な料金体系を提供しています。今回は基本の3プランをご紹介します。(キャンペーン料金が適用されている期間もあるため、導入時には公式サイトをご確認ください。)

▲料金プラン(GitLab公式サイトより)

 

Free

基本的な機能を無料で利用できるプラン。個人開発者や小規模チーム向けに、コードリポジトリ、イシュートラッキング、CI/CDパイプラインなどの機能を提供しています。

 

Premium

中規模から大規模な組織向けのプラン。Freeプランの機能に加えて、高度なセキュリティ機能、プロジェクト管理ツール、複数のプロジェクトを跨いだ分析機能などが含まれています。チーム間のコミュニケーションを強化し、開発プロセスを効率化する機能が充実しています。

 

Ultimate

大企業や複雑な開発環境を持つ組織向けの最上位プラン。Premiumの全機能に加えて、高度なセキュリティテスト、コンプライアンス管理、ポートフォリオ管理などの機能が含まれています。エンタープライズレベルのサポートも提供されているのが特徴です。

さいごに

ソフトウェア開発において、今やDevOpsの考え方は非ソフトウェア企業にも浸透してきています。DX推進のためにDevOpsを取り入れる企業も多く、DevOpsが実践できる環境をどのように整えるべきか、というところに関心がある方も多いのではないでしょうか?そんな方には、ぜひ一度オールインワンのDevOpsプラットフォームであるGitLabを検討していただきたいと思います。この記事がその足がかりとなれば幸いです。

アイスリーデザインではソフトウェア開発におけるツールの導入支援をおこなっております。豊富な経験と専門知識を活かし、お客様のニーズに最適なツール選定から導入、運用までをトータルでサポートいたします。さらに、効率的な開発体制の構築と、チームの生産性の向上を実現します。GitLabの導入支援サービスについて詳しく知りたい方は、こちらをご覧ください。

アイスリーデザインのGitLab導入支援サービス

in-Pocket編集部

i3DESIGN

デザインとテクノロジーに関する情報を発信するアイスリーデザインのオウンドメディア、"in-Pocket"の編集部です。テクノロジー・デザイン関連の解説記事やビジネス戦略にまつわるインタビュー記事などを投稿しています。日々の業務における知識のインプットとしてぜひお役立てください!

おすすめの記事

Recruit

アイスリーデザインでは

一緒に働くメンバーを募集しています

採用情報はこちら矢印