フォード・モーター・カンパニーは、オープン・テクノロジーとオープンスタンダードを高く評価しており、デジタル・トランスフォーメーション戦略の策定にあたり過去 10 年間、オープンソース・ソリューションに注目していました。フォードは Kubernetes を早期に導入し、2017 年にプロダクション・ワークロードをオンライン化して以来、オープンソース・テクノロジーをクラウドネイティブ開発イニシアチブの基盤にしています。オープンソースを利用するだけでなく、オープンソースのアップストリームに貢献することで、オープンソースの取り組みにおいて次のステップへと踏み出しています。

ここでまず、フォードの現在の状況と同社が目指す方向について、フォード・モーター・カンパニーのクラウドリーダーである Satish Puranam 氏の言葉を引用します。

「フォードの包括的な全社規模のデジタル・トランスフォーメーションにより、EV 販売でテスラに次ぐ第 2 位になるなど、これまでで最高の製品ラインアップを提供できるようになっており、また、ソフトウェア主導による「常時オン」のテクノロジー、サービス、エクスペリエンスを実現するフォード車を所有する楽しみが増しています。たとえば、フォードはコネクテッドカーのデータからお客様の好みを学習し、その製品に無線でソフトウェアを送信することで新しい機能を追加したり、その他の改善を行ったりすることができます。F-150 とマスタング・マッハ E のお客様について言えば、最近、Ford Power-Up ソフトウェアのアップデートで当社の BlueCruise、つまり、ハンズフリー走行を可能にし、道路状況に適応する高速道路運転技術が追加されました。それまでは普通に運転していた車が、次の日にはハンズフリー走行対応になるのです。フォードはこれを実現するために、ソフトウェアのエキスパートが最も重要な仕事に集中できるようにしており、また、創造性と生産性の向上を妨げていた多くの障害を排除しています」

Kubernetes に習熟したフォードは、プロセスとワークフローを、さらに効率的で一貫性がある、スケーラブルなものにすることを目指しました。そのために、同社の IT チームは、Tekton プロジェクトに基づく Red Hat OpenShift Pipelines を導入して CI/CD パイプラインを標準化し、クラウド全体でアプリケーションを構築、テスト、デプロイできるようにしました。フォードの IT チームは Tekton を採用し、すぐに成功を収めました。これにより、特にエンタープライズ向けのユースケースをより適切に解決しようとする場合には、彼らはテクノロジーを利用するだけでなく、プロジェクトそのものに貢献するようになりました。

フォードは Red Hat を指針としてオープンソース・コミュニティへの関与方法を学び、コントリビューションを行って、最終的にそのテクノロジーの次のリリースの形成に貢献しました。

Tekton での成功

フォードが最初に CI/CD の実験を開始したときの目標は、プロセスとコンポーネントの再現性と、スキルセットやツールに関する意見が異なる場合でも IT チーム間で統一されたエクスペリエンスを提供することでした。同社の IT 部門が Tekton を導入した理由の 1 つは、そのプロジェクトが構成可能であることです。特定の言語を習得する必要がなかったため、既存の知識を利用し、最も快適な方法で作業することができました。さらに、Tekton はクラウドをまたいで拡張できるため、1 つのベンダーに縛られることがない点も気に入りました。フォードは、プロダクションレベルでは OpenShift Pipelines を介して Tekton を使用し、組織規模のデプロイメント向けにハードニングされた、フルサポート付きのバージョンを利用しています。

以来、Tekton はフォードの IT インフラストラクチャとアプリケーションサービスを提供する上で不可欠な要素になっています。現在、クラウド・プロビジョニングはすべて Tekton だけで、何千ものパイプラインによって行われています。

フォードは CI/CD パイプラインを実装して自動化を進め、アプリケーション提供にかかる時間を短縮することができました。自動化と再現性によってエラーが少なくなり、発生したエラーの追跡と修正も容易になりました。さらに、より頻繁にリリースすることができるようになりました。継続的デリバリーおよびデプロイメントにより、エンドユーザーは、新しい機能と改善点を可能な限り迅速に受け取ることができます。

コミュニティのコラボレーション

フォードは Tekton を使用して成功を収めた後、Red Hat に連絡を取り、同社の IT チームがアップストリームの Tekton プロジェクトに貢献できるようにするため、共同エンジニアリングの取り組みを開始しました。フォードは長年にわたりオープンソース・テクノロジーを使用してきたことから、コミュニティに貢献することで次のステップに進みたいと考えていました。

Red Hat とともにバーチャルチームを結成し、Tekton プロジェクト内でエンタープライズ向けのユースケースを推進しました。フォードはコミュニティに貢献することで、企業ユーザーのニーズに最も適した方法でプロジェクトに影響を与えることができました。具体的には、セキュリティの分野で増大する大規模なニーズに対応し、フィードバックサイクルを短縮するためのテクノロジーの形成に重点的に取り組みました。

最初に対処したユースケースは、ファイルが変更されたかどうかに基づいて、pipelineRun の不要な実行を防ぐことでした。フォードでは以前、カスタムタスク内でファイルが変更されたかどうかを確認することで回避していましたが、これは面倒でした。

この問題を解決するために、フォードはアップストリームで Tekton Triggers を提供しました。これは、pull_request または push イベントに関連する変更ファイルのリストを使用して、着信要求の github ペイロードを強化するコンポーネントです。そして、CEL インターセプターを使用してこのリストを検証し、処理を停止したり、pipelineRun に渡したりして、ファイルリストをタスクで使用できるようにします。

Tekton のアップストリームに対するフォードのもう 1 つのコントリビューションは、プルリクエストトリガーの実行が、所有者によって呼び出されない限り行われないようにブロックするインターセプターです。所有者は、リポジトリのルートにある OWNERS ファイルで定義されます。このコントリビューションにより、パイプラインのプルリクエストは、モジュールの所有者によるレビュー後にのみ実行されます。フォードにはさまざまなモジュールに貢献している何千人もの開発者がいるため、承認されたパイプラインのみを実行することで、リソースを削減し、名前空間のセキュリティを向上させることができます。この変更によって、より効率的でセキュリティに重点を置いたプロセスが実現しました。フォードのコントリビューションは Tekton Triggers v0.23.0 でリリースされ、他の企業がこれらの機能を活用できるようになりました。

Red Hat のメンターシップ

フォードと Red Hat は、Tekton 内でイノベーションを促進し、それを他の企業が使用できるよう取り組んでいます。強力なプロジェクトとツールを使用することは、最終的に IT 全体のさらなるイノベーションにつながるからです。フォードは、Red Hat と協力して学習することで、コミュニティを迅速に理解し、関与することができました。Red Hat はフォードのメンターとなり、コントリビューションを開始する方法と、初めて参加する際に取るべき手順を示しました。

フォード・モーター・カンパニーのクラウドリーダーである Satish Puranam 氏によれば、「オープンソースを利用するのは簡単ですが、アップストリームのコミュニティに関与するまでは、これらのプロジェクトにはかなりの数のコントリビューターがおり、血と汗と涙が注がれていることを理解していませんでした。Red Hat と協力することで貴重なメンターシップを得ることができ、より広範なオープンソース・コミュニティに参加してコラボレーションする方法を学ぶことができました」

フォードは継続的なイニシアチブを通じて、オープンソースへのコントリビューションにおける作業を拡大し、他の Tekton 関連プロジェクトに参加して、デジタル・トランスフォーメーションを加速し、主要な製品のラインアップをさらに強化することを計画しています。 


About the author

Red Hat is the world’s leading provider of enterprise open source software solutions, using a community-powered approach to deliver reliable and high-performing Linux, hybrid cloud, container, and Kubernetes technologies.

Read full bio