【事例】すべての機能を利用可能なDevSecOpsプラットフォームで生産性向上

2023年10月24日(火)
佐々木 直晴
今回も、実例を通じてアジャイル開発やCI/CDなど、モダンな開発環境と運用をどのように実現していくのかを紹介していきます。

はじめに

第3回目の今回は、通信インフラストラクチャを提供するヨーロッパの企業が、GitLabのライセンスをアップグレードすることで開発生産性を高めたというケースを紹介します。

今回の事例のベースはフランスでデータセンターを展開し、通信インフラストラクチャのオペレーションを提供している企業です。同社ではGitLabのDevSecOpsプラットフォームを導入し、各種開発ツールをGitLabで一元化することでソフトウェアのリリース時間の短縮、リリース頻度の増加に加えてISO27001認証取得にも役立てました。

DevSecOpsに関連するツールは多種多様にあります。新しいツールや既存ツールの新バージョンで画期的な新機能が登場することがあるため、ついあれこれ試したくなります。同社も各種のDevSecOpsツールを同時並行で試していました。

複数の開発ツールからGitLabへと一本化

例えば、同社では数年に渡ってGitLabの無料版とエンタープライズ版を混在させた状態で利用していました。ある開発チームではGitLab無料版を使用して300程度のプロジェクトをデプロイし、毎月約100件のイシューと50件のマージリクエストを管理していました。また、同社の別チームでは、顧客とのソースコードや設定ファイルの交換、ネットワークやデータセンターツールの構築と起動、プロジェクトのデプロイとDockerビルドの自動化にGitLabを使用していました。

同社のポリシーは独自のツールをホストすることですが、以前のツールの新しいライセンスモデルではセルフホストができませんでした。同社がこのライセンス問題に直面したとき、同社のIT マネージャーもDevOpsツールチェーンを単一のend-to-endのDevOpsプラットフォームに置き換えてCI/CDの統合を改善し、複雑さを減らして生産性を高める必要があることを認識しました。

また単一のプラットフォームで統一することは、情報セキュリティマネジメントの国際規格であるISO27001認証取得に必要なトレーサビリティの確保にも有利に働きます。

こうして、同社では全社的にGitLabプラットフォームを採用することになりました。同社の最高技術責任者(CTO)は「GitLabの採用で、複数ツールの使用から必要な機能を備えた単一のプラットフォームへと統合できました。その後にGitLabのエンタープライズ版(現Ultimate)に切り替えるのも自然な流れでした」と語っています。

すべての機能を利用可能な
Ultimateへとアップグレード

後に同社ではすべての機能が利用できるGitLab Ultimateプランへとライセンスをアップグレードしました。すでに数年GitLabを活用してきた実績があったため、同社のITプロフェッショナルたちはコラボレーション、効率性、セキュリティ、自動化の向上など、GitLabプラットフォームがもたらすあらゆることに精通していました。そのため、難なくGitLab Ultimateプランの豊富な機能を使いこなすことができたのです。

それまでの問題追跡ツールやプロジェクト管理ツールはGitLab UltimateプランのSaaS版に置き換えました。ここで同社が抱えていた最大の課題にも取り組むことができました。

例えば、それまで開発者はイシューをdevelopmentブランチに直接マージするなど、コード変更時の検証において課題がありました。しかし、GitLabのマージリクエストを使うことでこの課題を解決し、開発効率を向上させることができました。

また、GitLabを使うことでチーム間のコラボレーションも向上しました。例えば、イシューの依存関係を利用することでフロントエンドチームとバックエンドチームがプロジェクト状況の確認や、互いにいつ必要になるかの確認など、より簡単かつ容易にコミュニケーションできるようになりました。こうしたコラボレーションはチームメンバーが責任を共有し、個人の労力を軽減することに役立ちます。また、プロジェクトの概要とライフサイクルに沿った進捗状況を全員が把握できるようになります。

オールインワンソリューションは開発者に力を与える

効果的なDevSecOpsプラットフォームをGitLabに一本化し、同社は開発とデプロイの両方におけるコミュニケーション、コラボレーション、効率を向上させることができました。そしてソフトウェア開発ライフサイクル全体がより簡素になりました。

現場の開発チームが実感している最大の改善点が開発とデプロイの速度です。GitLabの使用を拡大する前は、通常デプロイを月2~3回しか行っていませんでした。ところが現在では1日に何度もソフトウェアをデプロイするようになり、それらのデプロイは以前よりもはるかにクリーンな状態なっています。かつては多くのデプロイを手動で行っていましたが、GitLabのデプロイ自動化でエラーが顕著に減少し、デプロイ時間は数分にまで短縮されました。

GitLabの効果をリストアップすると、ツールの統合とエラーの減少、ソフトウェア品質向上、生産性の向上、ソフトウェア開発プロセスとワークフローの簡素化、ISO27001認証の取得、コラボレーションの促進、ロードマップの策定やカスタムボード構築の支援などが挙げられます。

同社は複雑なツールチェーンに依存することをやめ、ソフトウェアライフサイクルの大部分を単一のプラットフォーム内で処理できるようにすることで多くのメリットを享受するようになりました。複数のツールを統一できるオールインワンソリューションは確実に開発者に力を与えます。またプロジェクトの進捗を明確にできるため、チームメンバーは自分の立ち位置と自分がどのようにチームに貢献できるかを確認できるようになります。

また、コラボレーションの促進により作業を効率化したことで追加の時間がもたらされ、チームメンバーはセキュリティを強化した優れたソフトウェアやプロダクトをより多く開発することに時間を費やせるようになりました。特に小規模でチームを構成している場合、GitLabでより多くのプロジェクトを運用できるようになります。

GitLab Senior Solutions Architect
2010年野村総合研究所に入社。Webシステムを中心とした開発のテクニカルメンバーとしてさまざまな業種のアジャイル開発プロジェクトに参画し、アーキテクチャ設計やCI/CD 環境構築などを担当。2021年7月よりGitLabに入社し、Senior Solutions Architectとして、導入に際する技術検証や顧客社内の開発プロセスの可視化・刷新などに従事。

連載バックナンバー

システム開発技術解説
第10回

ソフトウェア開発の生成AI導入による生産性向上を阻む「3つ」の課題

2024/10/3
今回は、2024年にGitLabが発表した「グローバルDevSecOps調査レポート」をもとに、ソフトウェア開発の生成AI導入による生産性向上を阻む課題点を考えていきます。
システム開発技術解説
第9回

【事例】DevOps環境で使うツールを統一することで生産性向上や高速化を実現

2024/2/5
今回も、実例を通じてアジャイル開発やCI/CDなど、モダンな開発環境と運用をどのように実現していくのかを紹介していきます。
システム開発技術解説
第8回

【事例】すべての機能を利用可能なDevSecOpsプラットフォームで生産性向上

2023/10/24
今回も、実例を通じてアジャイル開発やCI/CDなど、モダンな開発環境と運用をどのように実現していくのかを紹介していきます。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています