+

ラジオ・フランスはGitLab CI/CDで5倍高速なデプロイを実現

  • 効率の向上
  • デプロイの高速化
  • 年間コスト削減
業界通信
従業員数5,000
地域パリ(フランス)
ソリューションGitLab Starter

GitLab Ultimateがチームにもたらすメリットについてご覧ください

無料トライアルを開始

ラジオ・フランスはGitLab CIを導入し、コンテキストスイッチングを最小化してデプロイを加速

ラジオ・フランスはコード管理での成功を経て、GitLab CI/CDを導入しました。

私たちの主な目標は、複数のツールを1つに統一し、開発者がプロダクション環境へのデプロイを本当に簡単にすることでした。移行前は1日10回のデプロイでしたが、今はGitLabで1日50回のデプロイをプロダクション環境で実行しています。これはGitLabとJenkinsを切り替える必要があった時代よりもはるかに効率的です。

- ジュリアン・ヴェイ, オペレーショナル・エクセレンス・マネージャー, ラジオ・フランス
フランスの公営ラジオ放送局

ラジオ・フランスはフランスの公営ラジオ放送局で、全国7つのステーションにサービスを提供しています。ラジオ・フランスはウェブサイト、モバイルアプリケーション、API、ポッドキャスト、音声アシスタントスキル、オーディオストリーミングプラットフォームを設計、構築、運用しています。

設定の問題とコンテキストスイッチング

ラジオ・フランスはGitLabをGit管理に、Jenkinsをプロダクションビルド、プロダクトイメージ、すべてのデプロイメントに使用していました。開発者は常にソースコード用のGitLabとプロダクションビルド用のJenkinsの間を切り替えていました。ラジオ・フランスのチームは、絶え間ないコンテキストスイッチングを避けるために、2つのテクノロジーを統合する方法を求めていました。理想的には、開発者はコード管理とデプロイメントの両方に使用できる単一のソリューションを望んでいました。

また、Jenkinsには設定上の問題がありました。すべてのジョブはCI/CDチームによって設定されていたため、開発者はプロダクションデプロイメントに変更を加えることができませんでした。開発者はCI/CDチームからの許可を待つことなく、自分たちのコードを所有できるようになりたいと考えていました。

「開発者が自分たちのプロダクション環境へのデプロイ方法を管理できるようにしたかったのです。各チーム、各プロジェクトは異なるカルチャーを持っています。ウェブサイトをデプロイします。APIをデプロイします。多くのものをデプロイします。すべてが同じ課題を抱えているわけではありません」とオペレーショナル・エクセレンス・マネージャーのジュリアン・ヴェイは述べています。

ヴェイによると、Jenkinsは非常に静的なワークフローです。開発者はプロジェクトをカスタマイズしたり、新しい機能を簡単に追加したりすることができませんでした。彼らが必要とする新しいソリューションは、簡単な統合、カスタマイズ可能なジョブ、過度な管理なしで新しい機能を提供する必要がありました。

コード管理とCI/CDの統一ソリューション

チームは既にGitLabをソースコード管理で満足して使用していたため、CI/CDも提供するソリューションを探すのに遠くまで行く必要がありませんでした。開発者はすべてをGitLabパイプラインに素早く移行し、1つの場所からプロダクション環境へのコードデプロイを開始しました。

ラジオ・フランスは多くのチームが多くの異なるプロジェクトで作業しています。各チームは独自のサービスセットを管理しており、一部のチームは最大20のサービスを管理しています。各サービスは現在、独自のGitLabプロジェクトにあります。

「GitLabのCI/CD部分を使用しているのは、既にGitLabがあり、それが機能しているからです。私たちはツール内に組み込まれているため、デプロイメントのために他のツールに切り替える必要がありません。GitLabについて私たちが最も気に入っていることは、単一のツール内で作業できることです」とヴェイは述べています。

デプロイの高速化と協力の改善

ラジオ・フランスのテクノロジースタックにはPHP、React、NodeJS、Svelte、Golang、RabbitMQ、PostgresQLが含まれています。すべてのアプリケーションはKubernetes上に構築されたマイクロサービスアーキテクチャで実行されています。チームは複数のGitLab Runnerインスタンスを実行しており、中断なしにアップグレードを実行できます。GitLabはAWS上の仮想マシンで実行されており、TerraformとAnsibleを使用して管理しています。KopsはAWS上のKubernetesクラスターを管理するために使用されています。AWS自動スケーリンググループに対応する複数のインスタンスグループを管理できます。

GitLab CIにより、ラジオ・フランスはウェブサイトにテストを追加できるようになりました。これには、Lighthouseテスト、UIテスト、ウェブボトルテストが含まれており、コストと時間管理の課題により、以前はJenkinsで実装できませんでした。

以前、チームはJenkinsランナーで64GB の2つのインスタンスを常時使用していたため、月額約1,100ドルのコストがかかっていました。GitLabでは、チームは1日約10時間、月額約300ドルのコストで1~8個のスポットインスタンスを使用しています。「これにより、CI/CDコストで70%のコスト削減が実現されました」とヴェイは付け加えています。

「GitLabの大きなメリットは、以前はプロダクションをデプロイするだけで5~6分かかっていたことです。今、GitLabでビルドが完了すると、任意の環境へのデプロイにはわずか20秒しかかかりません」とヴェイは述べています。これにより、Jenkinsを使用した以前のデプロイメントと比較して、サイクルタイムが82%削減されました。

Jenkinsからの切り替え以来、全体的なワークフローと協力が改善され、開発者はプラットフォームの管理を減らし、以前よりも機能をカスタマイズできるようになりました。「Jenkinsでは、非常に静的なワークフローでした。望む方法でカスタマイズすることはできませんでした。新しい機能を追加するのは本当に難しかったのです」とヴェイは述べています。「今、GitLabでは、柔軟性が非常に高く、プラットフォームを人々が使用できるようにすることができます。あまり考えずにデプロイするだけで、人々は新しい機能を使用できます。」

各チームは現在、独自のパイプラインを担当しています。開発者は、プロダクション環境へのデプロイを希望するかどうか、どのように、いつ行うかを決定できます。ラジオ・フランスは、開発者が独自の選択を行うために必要なすべてのツールを実装しています。

ケーススタディに記載されている情報や関係者はすべて、発表時点のものです。