お客様事例 Lockheed Martin
+

ロッキード社はGitLabを使用して、時間、費用、技術者の作業時間を削減

簡単な導入エクスペリエンス
ツールチェーンの簡素化
ソフトウェア共有の効率化
業種 業界:防衛・航空宇宙製造
従業員数 従業員数:114,000人
所在地 所在地:米国メリーランド州ベセスダ
ソリューション

GitLab Ultimateがチームにもたらすメリットについて知りたいですか

Ultimateを無料で試す

世界最大の防衛関連企業が、GitLabのエンドツーエンドのDevSecOpsプラットフォームの使用でツールチェーンの縮小、製造プロセスの高速化、セキュリティの向上を実現。

米国の航空宇宙、防衛、情報セキュリティ、テクノロジー大手のロッキード社は、衛星プラットフォームや航空宇宙システムから地上制御ソフトウェア、海上・水中用ソフトウェアまで、数千ものプログラムのソフトウェアをより効率的で安全、迅速に開発しデプロイするために、GitLabの単一でエンドツーエンドのDevSecOpsプラットフォームを採用しました。

GitLabに切り替えてデプロイを自動化したことで、月単位や週単位だったデリバリーサイクルが、毎日~数日おきの頻度になりました。
- Alan Hohn氏, ソフトウェア戦略ディレクター, Lockheed Martin

スピーディーでフレキシブルに目的の達成に貢献

メリーランド州ベセスダに拠点を置くロッキード社は、世界各地に約116,000人の従業員を抱え、370以上の施設を保有しています。同社は、主に先進技術システム、製品、サービスの研究、設計、開発、製造、統合、維持を行っています。同社の事業の大部分は、米国国防総省や米国連邦政府機関と関係があります。2021年の売上は、航空宇宙産業だけでも267億ドルでした。最も技術的に高度なソリューションを提供することで複雑な課題を解決し、新たな脅威を未然に防げるよう支援をする同社は、顧客の信頼を集めています。同社のエンジニアリングチームは、専門知識を共有したり、インフラストラクチャを用いて手頃な価格を確保しつつ、各顧客の特定の目的におけるニーズを満たすために、スピードと柔軟性を必要としています。

複雑なツールチェーン

これまでロッキード社は、ClearCaseからJenkins、Dimensions、Redmine、Bitbucketまで、さまざまなDevOpsツールを使用してきました。同社の各プログラムや製品ラインには、独自のツールチェーンがありました。それぞれのチームメンバーが慣れ親しんだツールを選択していたため、同じツールが選ばれることはほぼありませんでした。結果として、効率と結果のバランスがとれていない状態となっていました。

同社のソフトウェア戦略ディレクターであるAlan Hohn氏は、チームの開発やデプロイ環境の品質は、DevOpsチームの運次第だったと振り返ります。資金が潤沢なプログラムや意欲的なリーダーが率いるプログラムでは、テストから継続的デプロイまですべてに対し、質の高い自動化が行われていたかもしれませんが、その他のプログラムでは、コンパイルの実行用のビルドサーバーしかなかった可能性もあります。また、最悪のケースでは、プログラムが一切自動化されておらず、結果として手動による作業が増えたことでチームメンバーの時間が取られ、問題が見逃されてしまう恐れもありました。

コラボレーションの促進

このような問題に加え、同社のソフトウェア開発チームは、デベロッパーがプログラム間でコードを再利用できるようにコードリポジトリを設定しようと何度か試みたものの、チームが実際にソフトウェア開発を行っていた多数の環境にこれらのリポジトリが組み込まれなかったため、ほとんど使われることはありませんでした。つまり、強力なコラボレーション環境がなかったため、デベロッパーは常にゼロから始めることになり、リポジトリ内のコードは単に「放置されて朽ちていく」だけだったとHohn氏は言います。

でも、GitLabのプラットフォームを広く採用したところ、ソフトウェアの共有と再利用が同社の日々の業務の一部となるまでに時間はかかりませんでした。

「GitLabを導入したことで、再利用可能なソフトウェアへのアプローチの仕方が完全に変わりました。ソフトウェアの開発環境が、ほかの人々が共有し、コントリビュートし、開発プロセスに参加できる場になったからです」とHohn氏は言います。「今や、すべてのプログラムにおいて高品質のソフトウェア開発環境を利用できるようになりました」

この開発環境は、同社の顧客にも直接的なメリットをもたらします。米国国防総省のプログラムに取り組んでいたあるチームでは、コンテナ化されたビルドでGitLabパイプラインを使用し、12時間かかっていたビルド時間を4時間まで大幅に短縮できるようになりました。これにより、ひと晩に4回ではなく16回のビルドをプログラムで実行できるようになり、テスト頻度とソフトウェア品質が向上しました。全体として、ビルドの成功率が60%から90%に上昇しました。その結果、顧客はこれまでよりもっと品質の良い新機能を、よりスピーディーに受け取れるようになりました。

つながりの実現

プログラム間やビジネス全体のコラボレーションを推進する上でロッキード社が直面した最も大きな課題のひとつは、セキュリティ要件が異なるさまざまなシステムにソフトウェアがあることでした。GitLabは、ロッキード社のソフトウェアファクトリーと協力して同社のソフトウェアをモジュール化することで、再利用可能なコンポーネントをグローバルにアクセス可能な環境で共有できるようにしました。一方、チームは引き続き、業務や使命の達成に不可欠なソフトウェアコンポーネントやセキュリティ上の制約があるソフトウェアコンポーネントを厳重に制御することが可能です。

同社のソフトウェアファクトリーの主な特長は、共通のGitLab CI設定用YAMLと、ほかのソフトウェア開発ツールと連携するように予め設定された共通のCIコンテナイメージが提供されることです。

セキュリティ上の理由から、チームは個別の環境を維持する必要があるため、イメージレジストリと関連ツールのホスティング環境が異なる場合でも動作する設定が必要となります。また、頻繁に更新できない運用環境にソフトウェアが展開されることがあるため、特定のバージョンのソフトウェアを何年も維持しなければならないこともよくあります。

こういった課題に取り組むために、Hohn氏のチームは、セキュリティスキャン、コンテナイメージのビルド、セマンティックバージョニング用のモジュールを備えた、一般的なプログラミング言語用の共通パイプラインカタログを作成しました。パイプラインカタログを利用すれば、デベロッパーは変更を加えなくても、同じYAMLソースファイルを複数の環境で使用できます。また、カタログにより、特定のバージョンのパイプラインを使用して履歴ビルドを作成することも可能なため、バージョンの一貫性が保証されます。

同社はGitLabを導入する前に、共通のパイプラインセットを構築しようと何度か試みたものの、結果的には少数のユーザーしかサポートできず、また杓子定規なものしか提供できていない状態でした。それでは不十分でした。

そこで、パイプラインカタログの基盤としてGitLabを使用することで、分断されたネットワークを含む複数の環境で再利用可能なパイプラインテンプレートが作成できました。これにより、時間と労力が削減されるとともに、プロジェクト間のつながりが保証されます。よりシンプルにパイプラインを更新できるようになり、高度なテストとリリースマネージメントもより簡単・効率的に行えるようになりました。

「今では、パイプラインの変更を自動的、そして徹底的にテストできているという確証があります。動きの速い開発チームと、業務や使命の達成に不可欠な機能を維持しているリスク回避チームの両方を簡単にサポートできるようになりました」とHohn氏は述べています。「いくつかの主要なGitLab CI機能をもとに構築した当社の新たなアプローチのおかげで、共通性とカスタマイズの適切なバランスを見つけられました」

現在、ロッキード社では、共通パイプラインカタログを通じて毎分2,500本のパイプラインが実行されています。

規模の拡大

GitLabの急速な導入により、さらにスケーラブルなソリューションが必要になったため、ロッキード、GitLab、Amazon Web Services(AWS)の3社が協力して、ロッキード社全体のコードのデプロイを自動化し、最適化しました。この対応は、3社の間で綿密に計画してデザインを見直すことから始まりました。AWSは次に、環境のデプロイがそれまでのように数時間かからずに、2時間で行えるInfrastructure as Code(IaC)の提供を通じて、ロッキード社におけるGitLabのCI/CD環境向けのデプロイの自動化と最適化を支援しました。

また、AWSチームは、完全に自動化された高可用性のディザスタリカバリアーキテクチャを実現するワークフローも確立しました。このGitLab用アーキテクチャは、コンプライアンスに準拠し、スケーラブルです。これにより、手作業なしで一貫したプロセスが実行されるようになりました。AWSはまた、パイプラインの実行とユーザートラフィックに関するデベロッパーの要望に基づきデプロイプロセスを自動スケーリングするためのロードバランシングにも対応したため、デベロッパーがデプロイが実行されるまで待機する必要はなくなりました。移行前にテストを行ってベースラインを確立し、次に移行後のテストを実施して、デプロイの高速化により実現されるパフォーマンスとスケーラビリティの向上を測定しました。

さらに、ロッキード社のセキュリティポリシーに準拠するために、モニタリングとセキュリティコントロールが実装されました。その結果、処理待ちのビルドリクエストの数が200から0に減り、全社におけるコードのデプロイの所要時間が短縮され、運用効率を向上させることができました。この取り組みから、何千人ものソフトウェアデベロッパーを抱える大企業が、どのようにAWSのベストプラクティスとGitLabなどのプラットフォームを活用して、スケーラブルかつ回復力があり、自動化されたコードパイプラインをクラウド内に構築してデプロイできるかが明らかになりました。

GitLabの採用

ロッキード社は、GitLabのプラットフォームの採用を決めるにあたり、GitLabの評価をすることはありませんでした。同社のDevOpsチームは、長年にわたり市場で多数のツールを使用してきた経験から、GitLabの導入により得られる機能とメリットを理解していたのです。たとえば、GitLabのビルトインの継続的インテグレーション機能は、Hohn氏によると「素晴らしい機能」でした。

そのため、同社ではGitLabを全面的に採用しました。現在、同社のGitLabプラットフォーム上には約64,000件のプロジェクトがあります。一部のレガシープロジェクトはGitLabに移行され、その他のプロジェクトはプラットフォーム上で立ち上げられました。

すべてのツールチェーンの利用を止めたわけではないものの、大幅に減らした結果、複雑さ、コスト、ワークロードが低減されました。

「弊社では、プログラムによってはお客様が独自の開発環境を持つことを希望し、特定のツールを求める場合があることを認識しています」とHohn氏は説明します。「私たちが達成目標としているのは、人々が独自のツールチェーンを立ち上げることさえ考えていない状態です。それは、機能することがわかっているから、GitLabを使用している状態のことです」

「(ツールチェーンの)痕跡を消し去ることができたかといえば、 そうではありません」とHohn氏は付け加えます。「しかし、その痕跡はささいなもので、弊社にとって大きなものではありません」

たとえば、GitLabを広く採用するまでは、同社ではCIサーバーにJenkinsを使用しており、全社において数千ものJenkinsインスタンスがありました。もはやその状況は変わりました。

「以前なら、各自で異なる設定を維持する必要がありました。今はそのほとんどをGitLabに集約しています」とHohn氏は話します。「Jenkinsのインスタンスはまだありますが、3年前の台数と比べるとわずかなものです」

時間と労力の削減

このようにツールチェーンを縮小することで、作業時間やリソース、費用を削減できるため、革新を続けながら手頃な価格のソリューションを顧客に提供できます。

「独立した環境を持つチームでは、システムを稼働し続けるためだけに、週に約20時間、つまり月に約80時間を費やす必要がありました」とHohn氏は言います。「12人いるチームなら、少なくとも半数を割くことになります。この状態から所要時間を90%程削減しました。現在では、システムの維持に費やす時間は1人あたり2〜3時間程度です。他の多くのチームでも、同じように作業時間の削減が実現できています。「ソフトウェアエンジニアが1万人以上いる企業ですので、年間で数百〜数千時間を節約できていると言えます」

GitLabの単一プラットフォーム上ですべてのプロジェクトを実施することで、これまでの平均ではテストを毎月、運用を四半期ごとに行っていた可能性があるレガシープログラムが、今ではテストを6日ごと、運用を26日ごとにできるようになった、Hohn氏は述べています。

「GitLabを採用した今では、デリバリーの頻度が毎月から毎週に短縮されるのは珍しいことではなくなりました」とHohn氏は付け加えます。「デリバリーの頻度が四半期から毎月に短縮したのも実際に見ています。そのような大きな変化が、頻繁に起きているんですよ」

時間を短縮することで、同社は顧客のリクエストに対しより自信を持って、確実に対応できるようになります。

「私たちは多くのお客様にサービスを提供しており、さまざまなソフトウェア開発作業を行っています」と、同社のシニアソフトウェアエンジニアであるIan Dunbar-Hall氏は語ります。「GitLabを導入したことで、ゼロの状態からリポジトリとCIパイプライン全体まで、従来40時間以上かかっていたところを、完全にセルフサービスで30分で完了できるようになりました」

セキュリティの向上

ロッキード社は、米国の国防総省および連邦政府機関と協力しているため、同社は国家安全保障に不可欠なシステムを構築しています。そのため、安全なソフトウェアを作成することは、ロッキード社にとっても、そして同社の顧客にとっても不可欠です。ツールチェーンを使用している企業にとっての課題は、ツールチェーンの規模と複雑さのために、アップデートを行うのを忘れがちであることです。GitLabを導入したことで、同社は更新されていないツールの使用について心配する必要がなくなりました。これは、単一のエンドツーエンドプラットフォームでは、一度更新を実行するだけで、すべてのインスタンスを更新できるためです。

防衛とセキュリティに重点を置いた顧客を抱える同社にとって、コンプライアンスは非常に重要な問題です。GitLabのコンプライアンスフレームワークを使用してソフトウェアの品質を強化し、自動化によりリリースと依存管理を効率化・迅速化したことで、コンプライアンスの管理もより簡単になりました。

また、単一のプラットフォームには、最先端の分析ツールから脆弱性スキャン、セキュリティの自動化など、自動化されたセキュリティ機能の標準セットもシームレスに組み込まれています。GitLabを使用し始める前は、すべてのチームが最適なセキュリティツールを利用できていたわけではなく、またセキュリティプラクティスの処理方法も標準化できていませんでした。ロッキード社では、自社用の共通パイプラインカタログを利用することで、クラス最高のセキュリティが組み込まれた既製のパイプラインも使えるようになりました。「これまでより共通のアプローチを取れるようになったため、ソフトウェアのビルド、テスト、セキュリティスキャンを共通の方法で行なうことがはるかに楽になりました。作り出す製品の質も向上しています」とHohn氏は話します。

また、GitLabのおかげで、各種ツールを構成するために、各チームにおいて探すのに苦戦することもあったセキュリティの専門家を見つける必要もなくなりました。Hohn氏によると、クラス最高のセキュリティはすでにビルトインされているからです。

「今日、パイプラインの一部に、洗練されたセキュリティスキャン機能が組み込まれているのは、きわめて一般的なことです。パイプラインにセキュリティスキャン機能を追加する労力のほうがはるかに少ないためです」とHohn氏は言います。「今ではそれぞれのチームが、自分たちのコードのセキュリティ体制について以前とはまったく違った認識をしています。そのおかげで、以前の体制ではまず交わされることのなかった、ソフトウェアのセキュリティに関する会話ができています」

同社では引き続きサードパーティのレガシーセキュリティツールも維持しつつ、GitLabのプラットフォームを使用することですべてのツールを統合しやすくしています。自動化とアプリケーションのディレクターであるJeff Daniels氏は、次のように述べています。「見事に補完してくれています。GitLabを導入したことで、セキュリティの体制と質が向上し、楽になりました」

ロッキード社は、GitLabを使用して今後も成長し続けたいと考えています。DevOpsチームは、さらに多くのプロジェクトをDevSecOpsプラットフォームに移行し、そこから拡張していく予定です。「コンプライアンスパイプラインやダッシュボードなど、セキュリティとソフトウェアサプライチェーン機能を使用したプロジェクトの数が今後も増えていくことを期待しています」とHohn氏は述べています。

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

実際に体感してみませんか?

統合されたDevSecOpsプラットフォームによってチームで実現できることをご確認ください。