GitLabを活用して宇宙の理解を深めるCERN
GitLab Ultimate
GitLab Ultimateがチームにもたらすメリットについて知りたいですか
CERNは、宇宙の構造やその仕組みを解明するための重要な共同研究において、世界各地で働く科学者たちを結びつける役割を担っています。また、同研究所のチームはGitLabを活用し、ダークマターやヒッグス粒子のような現象を調査するためのソフトウェアを開発しています。
CERN(欧州原子核研究機構)は、世界最大の素粒子物理学研究所を運営する、世界的に有名な政府間組織です。CERNでは、24の加盟国から集まった物理学者やエンジニアたちが、宇宙に隠された壮大な科学の謎を解明すべく、宇宙を構成するすべての粒子の基本構造を研究しています。CERNの科学コミュニティは、世界最大かつ最強の粒子加速器を安全かつ効率的に運用するという複雑な課題に取り組むため、GitLabを活用しています。また、この加速器が生成する膨大なデータの処理にもGitLabが役立てられています。さらに、世界中の大学や研究機関に所属する科学者たちも、GitLabを利用して共同プロジェクトに取り組んでいます。
宇宙を探求するためのソフトウェアを構築
CERNは1954年に設立され、2008年に初めて大型ハドロン衝突型加速器(LHC)を稼働させました。この加速器は「人類史上最大の工学的成果の一つ」と称されており、全長17マイル(約27キロメートル)の地下に設置された真空密閉ループと、複数の加速構造から成る装置です。この加速器では、粒子ビーム同士を衝突させ、新しい粒子のシャワーを発生させることで、宇宙誕生直後の条件を再現しています。LHCは、ビッグバン、ダークマター、ヒッグス粒子といった概念を探求するために設計されました。
長年にわたり、CERNではGitHubを含む複数のDevOpsツールを活用して、科学コミュニティが必要とするソフトウェアを構築してきました。しかし、チームはより包括的なソリューションを必要としていました。そこで行われたのが、ソフトウェア開発ライフサイクル全体にセキュリティを組み込み、効率性と提供速度を向上させる、エンドツーエンドのDevSecOpsプラットフォームへの移行です。CERNは2015年にGitLab Starterを導入し、GitLabの活用を始めました。GitLabの導入に伴い、施設のチームはすべてのソフトウェアの更新、改良、再構築に着手し、それ以降のすべての新しいプロジェクトは、GitLabでビルドおよびデプロイされるようになりました。さらに効率性と可視性を向上させるため、CERNは2020年にGitLab Premiumへアップグレードし、その後2023年には高度なセキュリティフレームワークを活用するため、GitLab Ultimateへのさらなるアップグレードを実施しました。
「私たちのソフトウェアはすべて、複合施設や加速器を運用し、衝突を生成するためのものですが、これらはすべてGitLab上で構築され、ホストされています」と、CERNで大型ハドロン衝突型加速器(LHC)のエンジニア責任者を務めるMichi Hostettler氏は語ります。「これは、私たちにとって非常に重要なソフトウェアです。GitLabが提供する統合性、自動化、イシュートラッキング、セキュリティスキャン、ドキュメントのおかげで、すべてがこのプラットフォーム上で開発されています。」
この加速器は、施設のインフラと科学的使命にとって欠かせない存在です。そのため、GitLabで構築されたソフトウェアを用いて加速器を最適な状態で稼働させ、毎年生成されるエクサバイト規模の生データを解析することが、そこで活動する世界的な科学者たちの仕事を支える基盤となっています。このデータを理解することは、人類の世界に対する知識を広げる上で極めて重要です。
「GitLabはCERNのエコシステムにおいて重要な要素とみなされています」と、CERNでバージョン管理システムのテックリード兼エンジニアリングマネージャーを務めるIsmael Posada Trobo氏は語ります。「GitLab上で構築され、ホストされているソフトウェアを用いて、粒子衝突のシミュレーションを行い、LHCから得られるデータで衝突を再現しています。これにより、科学者たちは研究を進めるだけでなく、新たな想像を広げることができます。デベロッパーにとっても、GitLabは作業を効率的に進める上で重要な役割を果たしています。」
グローバルな大規模共同研究を実現
CERNにおけるGitLabのプラットフォームの利用目的は、DevSecOpsチームによるソフトウェア構築だけにとどまりません。Posada氏によると、CERNにおけるGitLabの利用の約30%は、世界中の大学、研究所、研究機関の研究者をつなぎ、科学プロジェクトに関連するコミュニケーションや共同作業を可能にするためのものです。
たとえば、科学史上最大級の共同研究であるATLAS実験に取り組む研究者たちは、AthenaソフトウェアのためにGitLabのプラットフォームを活用しています。CERNの加速器の発見能力を最大限に活用し、物質の基本構成要素を研究することを目的としたこのプロジェクトには、182の機関と42カ国から約6,000人のメンバーおよび3,000人の科学著者が参加しています。世界各地に広がるこの大規模な研究者コミュニティには、お互いの作業を可視化し、インサイトを共有し、協力して問題に取り組める仕組みが必要でした。それを可能にしたのが、GitLabのDevSecOpsプラットフォームでした。
「ATLAS Athenaは、コードの行数、解析されるデータ量、または関与する科学者の数といった点で大規模であるだけではありません」と、ATLAS実験の計算コーディネーターであり、ローレンス・バークレー国立研究所のシニアサイエンティストでもあるZach Marshall氏は語ります。「これは、あらゆる面で、私たちが取り組んできた中で最も大きく、最も強力なプロジェクトです。最終的には、この巨大でダイナミックなプロジェクトに効率的かつ協力的に取り組む方法が必要でした。それが、このプロジェクトに関連するすべてのことをGitLabに集約させている理由です。これは科学者たちにとって非常に重要です。ソフトウェアを開発しているときでも、論文を執筆しているときでも、知識を簡単に共有し、イテレーションを行い、リアルタイムでコラボレーションできるからです。
「これにより、研究がより迅速かつ効果的になります」とMarshall氏は付け加えます。「私たちの共同作業の多くはGitLabを通じて行われています。GitLabでは、プロジェクトや進捗を視覚化しながら作業できます。またコメントやフィードバックも提供できます。これにより、スムーズな作業が実現します。」
ツールチェーンの簡素化とセキュリティの向上を同時に実現
CERNのDevSecOpsチームは、JenkinsやBamboo、GitHubなどのツールを含むツールチェーンを簡素化してきました。5つのツールから成るこのツールチェーンは、GitLabの単一プラットフォームに完全に置き換えられたとPosada氏は述べています。
ツールチェーンを排除することで、頭の切り替えが不要になるだけでなく、複数のツールの更新や管理にかかる負担や費用も削減されます。また、エンドツーエンドのプラットフォームを使用することで、施設のアプリケーションやソフトウェアサプライチェーンのセキュリティも向上します。それはつまり、科学研究、科学者、そして重要なCERNへの信頼を守るためのセキュリティも高まることを意味します。
「他の組織、大学、企業と同様に、CERNも絶えず攻撃を受けています。学術機関としての性質とのバランスを取りながら、私たちは確実性を維持するためにセキュリティ体制を適切に適応させています」とPosada氏は説明します。「GitLabは、すべてのデベロッパーやコミュニティ全体を対象としたセキュリティポリシーやコンプライアンスフレームワークの構築に役立っています。これは、私たちにとって非常に重要なことです。」
CERNがGitLabを導入して得た大きなセキュリティ上の利点は、自動スキャン、シークレット検出、静的アプリケーションセキュリティテストに加え、アプリケーションのセキュリティ体制を可視化できるようになったことです。ビルトインのダッシュボードを使用することで、チームはプラットフォームのセキュリティスキャナーによって検出された脆弱性に関するメトリック、評価、チャートを自動的に確認できます。これらすべての情報が一箇所に集約されています。
「脆弱性から重要なポリシーの発見、特定のスキャンポリシーに対する必要な承認解決まで、あらゆるスキャン結果を取得できます」とPosada氏は述べています。「ダッシュボードのおかげで、あらゆるセキュリティの調査結果を一箇所で確認できるので非常に便利です。これにより、すべてのプロジェクトで現在何が起きているのかをしっかり把握できるようになりました。レポートはほとんど自動的に作成されます。クリック一つでプロジェクトの堅牢性を高めることができます。」
GitLab Runnerで時間、コスト、非効率性を削減
数年前、CERNのDevSecOpsチームは、自前のランナー(パイプライン内でビルドを実行するもの)を構築するのに多くの時間を費やしていました。その当時、エコシステム全体で40個ほどのランナーしかなく、最大80個の同時ジョブを処理していました。現在では、GitLab Runnerを活用することでその数を3倍に増やし、ソフトウエアデリバリープロセスを自動化しています。これにより、より速く価値を提供し、高品質なコードをより頻繁に提供できるようになりました。
CERNは2023年夏、GitLabがGitLab 16のリリースの一環としてRunnerのアップデートを提供したことをきっかけに、使用するランナーの数をさらに増やしました。CI/CDジョブを実行する軽量でスケーラブルなエージェントの新しいインスタンスをGitLab内で簡単に立ち上げられるようになり、デベロッパーが各自でランナーを構築する必要がなくなりました。GitLabでは、ランナーの設定を再利用して、同じ機能を持つ複数のランナーを登録することが可能です。また、Kubernetesを活用することで、コンテナ管理の自動化やアプリケーションのデプロイ用コマンドを利用することもできます。
「今ではCERN全体のコミュニティがGitLabのランナーを利用できるようになり、自分たちでランナーを構築する手間が省けました」とPosada氏は述べています。「現在、ランナーの利用が急増しています。この自動化により、デベロッパーは時間に余裕が生まれ、より重要な作業に多くの時間を割けるようになりました。それによりコストが削減され、ソフトウェア開発をより効率的に拡大できるようになっています。」
CERNのエンジニアリングテックリードであり、AlmaLinux理事会のメンバーでもあるAlejandro Iribarren氏は、一部の自動化されたワークフローがその好例であると指摘しています。
「これらのワークフローにより、新しいクラウドイメージを構築し、複数の仮想および物理マシンをインスタンス化し、さまざまな設定でテストを実行し、すべてのテストに合格した場合には、新しいイメージをワンクリックで自動的に本番環境に昇格させることが可能になります」とIribarren氏は述べています。「これらのCIパイプラインのおかげで、クラウドイメージをより頻繁に更新できるようになり、最終的な結果に対する信頼性も大幅に向上しました。GitLab CIの最大の価値は、私たちが心配しなければならないことを減らしてくれる点にあります。」
AI主導のソフトウェアへの展望
CERNのDevSecOpsチームは、GitLabの人工知能(AI)機能をまだ試していませんが、Posada氏は試用へ向けた意欲は高まっていると言います。「デベロッパーたちがそのことについて話しているのを耳にします。GitLabのAI機能はいつ使えるのかと尋ねられることもあります。」とPosada氏は付け加えます。「コード品質の向上にAIが役立つことは分かっています。」
テスト生成、コードの説明、脆弱性の修正といったGitLab Duoのツールを活用することで、チームは効率性を向上させ、コストを削減し、繰り返しの作業に費やす時間を減らしながら、より革新的なソフトウェアの開発に時間を割けるようになるとPosada氏は述べています。「GitLab Duoではコードをその場で編集できるので、作業スピードを大幅に向上させることができます」とPosada氏は指摘します。「もしソフトウェア開発ライフサイクル全体を通じて開発を支援してくれるものがあれば、それは非常に高い効率性をもたらします。デベロッパーの仕事をより簡単にしてくれるでしょう。」
「人工知能を活用したいという願望は確実にあります」とPosada氏は述べています。「CERNは最先端の技術を活用することで知られる、最も先進的な科学機関の一つです。私たちはAIの活用においても最前線に立たなくてはなりません。」
GitLabは効率的なソフトウェア開発、データ分析、グローバルな科学協力を可能にし、CERNのチームメンバーにとって開発と研究の重要な拠点となっています。その幅広い利用用途と利点から、Posada氏はGitLabの利用がさらに拡大すると見ています。「誰かが開発やレビュー、プロジェクト管理、イシュートラッキング、セキュリティスキャン、デプロイなどを行うとき、それはすべてGitLab上で行われています」とPosada氏は付け加えます。「どんな仕事も、GitLab上で行われています。それは変わらないと思います。」
「コード品質の向上にAIが役立つことは分かっています」と、CERNでテックリード兼エンジニアリングマネージャーを務めるIsmael Posada Trobo氏は語ります。「もしソフトウェア開発ライフサイクル全体を通じて開発を支援してくれるものがあれば、それは非常に高い効率性をもたらします。デベロッパーの仕事をより簡単にしてくれるでしょう。」
ケーススタディに記載されている情報や関係者はすべて、発表時点のものです。