シーメンスがGitLabを使用してオープンソースのDevOpsカルチャーを作成した方法
シーメンスはデベロッパーの効率と顧客満足度の向上のためにGitLabを利用しています。
シーメンスはGitLab SCM、CI/CD、DevOpsを導入し、コラボレーションと組織のワークフローを変革しました。
世界的なイノベーションのパイオニア
シーメンスは、1847年にドイツのベルリンで「裏庭の機械工場」として創業しました。Siemens AG(ベルリンおよびミュンヘン)は、170年以上にわたり、卓越した技術、革新性、品質、信頼性、国際性を追求してきた世界的なテクノロジー企業です。世界中で活躍する同社は、建物や分散型エネルギーシステムのインテリジェントインフラストラクチャー、プロセス産業や製造業におけるオートメーションとデジタル化に注力しています。
シーメンスは、デジタルと物理的な世界を融合させ、顧客と社会に利益をもたらします。鉄道および道路交通向けの知的モビリティソリューションの大手サプライヤーであるMobility社を通じて、シーメンスは旅客および貨物サービスの世界市場の形成に貢献しています。また、上場企業Siemens Healthineersの株式の過半数を保有するシーメンスは、医療技術とデジタルヘルスサービスの世界有数のサプライヤーでもあります。
さらに同社は、2020年9月28日に上場した送電・発電の世界的リーダーであるSiemens Energyの少数株式を保有しています。2019年度(2019年9月30日終了)、シーメンスグループの売上高は585億ユーロ、純利益は56億ユーロでした。2019年9月30日現在、全世界の従業員数は継続的な事業を基盤に約295,000人となっています。
大規模なニーズを持つ大規模企業
20,000人以上のデベロッパーを抱えるシーメンスは、さまざまな分野で活動する複数の組織に分かれており、主にB to Bの取り組みに注力しています。ソフトウェアアーキテクトのFabio Huser氏によると、課題は 「この実に分断された連邦制的な企業構造の中で、どのようにDevOps文化を構築するか」 だったといいます。
シーメンスは、世界中にいる従業員を対象としたコミュニティと、コードの信頼できる唯一の情報源を提供するという目標を達成するために、コラボレーション、透明性、適切なコード管理を提供するDevOps プラットフォームを必要としていました。ツールを成功させるために、シーメンスは開発者にコラボレーション志向のマインドセット、フルスタックエンジニアリングの知識、オープンソースコントリビューターとしての経験、拡張性のあるプラットフォームを求めました。ワークフローを改善するためのビジョンには、数分以内にコード上でコラボレーションして共有する機能、市場投入までの時間を短縮する機能、自分のコードを所有する権限を与える機能、今後のビジネスモデルのための技術的基盤を構築する機能などが含まれていました。
まずはオープンソースを採用
シーメンス内の小さなチームが、Linuxベースの組み込みデバイスの開発において、コラボレーションとバージョン管理のためにGitLabを採用したのは2013年のことでした。典型的な草の根アプローチにより、チームは全社にプラットフォームを開放し、40,000人以上のユーザーに規模を拡大しました。DevOpsプラットフォームを使うことで、さまざまなチームが同じプロジェクトに取り組むことができ、数分でコードを共有し、世界中で簡単にコラボレーションできるようになります。
「オープンソースの世界では、毎週新しいツールが登場しますが、結局のところ、当社が解決しようとしているのは人間に関わる問題なのです。私たちはコラボレーションをしたいのであって、ツールはあくまでも二次的なものに過ぎません」とHuser氏。「GitLabのおかげで、この考えを促進するツールを見つけることができました。重要なのはその裏にいる従業員たちなのです。そして、このアイデアを維持し、シーメンス内でこのコミュニティ精神を維持するためには、そのようなコミュニティを確立することがどうしても必要になります」
2015年、code.siemens.comチームはオープンソースコンポーネントの統合ビルドを可能にするべく、DevOps CI/CDに焦点を移し、その特別なワークフロースタイルを初期には 「ジャンクヤードコンピューティング 」と呼んでいました。「GitLab Runnerの使いやすさのおかげで、新しいマシンを数分でセットアップできます。古いマシンがその辺に転がっていて、ネットワークが十分に整っていれば、ほんの1分で新しいRunnerや新しい機能をセットアップできるでしょう。かなり費用対効果が高いですね」とHuser氏。
コード、コラボレーション、コミュニティ
現在、code.siemens.comのITインフラストラクチャはAWS上にあります。code.siemens.comは、シーメンスのIT組織が提供する大規模な社内デベロッパーコミュニティによって完全に確立されたサービスであるため、今では「ジャンクヤードコンピューティング」の必要性はありません。
インフラストラクチャは、高度に調整され、洗練されたセットに進化しました。多数のEC2インスタンスは、すべてコードとしてのインフラストラクチャとして管理されています。S3、RDS、ElastiCache、EFS、ELBなどのSaaSソリューションも同様に使用されています。これらは標準的なオープンソースのソリューションで置き換えることができるため、ベンダーロックインを最小限に抑えることができます。GitLabはAWS上でホストされており、GitLab CIランナー、モニタリング、ロギング、クラッシュレポートなどのサポートサービスも提供されています。シーメンスはGitLabを採用して以来、3800万を超えるCIビルドを達成しています。「シーメンスの一員であれば、コラボレーションできるリポジトリが多様にあります。当社はオープンソース文化を積極的に取り込もうとしており、これまで非常に順調に進んでいます。CI/CDによって、毎月150万のビルドが行われています。全体的な文化がすっかり変わったのです」とHuser氏。
GitLabを使うことで、ローカルパッチのメンテナンスや手作業での修正アップデートが不要になり、シーメンスは時間とコストの両方を節約できます。code.siemens.comチームは 「アップストリームファースト 」のワークフローを採用しています。「当社では、パッチは使用しません。アップストリームバージョン以外はデプロイしていないのです。新機能が必要な場合は、GitLabにコントリビュートします。インスタンスにはパッチしません」と語るのは、Seimens ITのプリンシパルキーエキスパートでcode.siemens.comのサービスオーナーであるRoger Meier氏。「アップストリームにマージされ次第次のバージョンをデプロイしており、毎月リリースを行うことができています。本番環境へのデプロイは月に4回ほどです」code.siemens.comのプラットフォームは、4か国に分散するわずか8人のチームによって、非常にアジャイルに管理されています。チームメンバーは全員、オープンソースの働き方にコミットしています。チームは、インフラストラクチャとアプリケーション全体の管理に加えて、社内のデベロッパーコミュニティのコーチング、サポート、指導を行ってい、日々、GitLab を使ってすべての活動を管理しています。チームメンバー全員が複数のオープンソースプロジェクトへのコントリビュートやメンテナンスを行いながら、シーメンス全体のデベロッパーコミュニティに信頼できるサービスを提供し、デベロッパーの幸福度向上に努めています。
コラボレーションは組織全体で行われています。40,000人以上のGitLabユーザーが存在し、今後も拡大する可能性があります。シーメンスはGitLabによって、社内と顧客の開発機会における規模の拡大を確実なものにしています。「当社の顧客や開発者たちは、常に稼働している信頼性の高いサービスを求めています」とMeier氏。シーメンスチームはGitLabに大きくコントリビュートしており、150以上のMRがGitLabにマージされています。さらに、Huser氏とMeier氏はGitLabヒーロー and were selected as GitLab MVPsであり、GitLab MVPに選ばれています。チームはDevOpsプラットフォームを使っているだけでなく、GitLabのサポートチームを使うことがないほどGitLabに詳しいと自負しています。「当初から、すべてのアイデアを話し合い、社内のすべてのメンバーがロードマップを確認できるようにしてきました。そのためには、自分から積極的に行動することが大切です。もちろん、顧客にも焦点を当てなければなりません。これは、デベロッパーから、デベロッパーのための助言です」とMeier氏は説明しています。
ケーススタディに記載されている情報や関係者はすべて、発表時点のものです。
お客様成功事例
すべてのストーリーを見るご不明な点がありますか? お気軽にお問い合わせください。
お問い合わせ