消費者の期待と自動車の複雑化に伴い、世界中の自動車メーカーは、モノリシックなシステムから、ソフトウェア対応、モジュール型、アジャイルなアーキテクチャへとシフトしています。その結果、マイクロサービスとDevOpsへの注目が高まり、自動車ソフトウェアシステムのモデル化、実装、保守の方法が再定義されつつあります。
これらのアプローチを組み合わせることで、コネクテッドカーやSDV(Software-Defined Vehicle)の複雑な世界において、次世代のユーザー中心のイノベーション、コンポーネント品質の向上、市場投入までの時間の短縮が可能になります。
自動車ソフトウェアのためのマイクロサービス・アーキテクチャ
現代の自動車は、車載インフォテインメント、デジタルクラスター、テレマティクスコントロールユニット(TCU)、先進運転支援システム(ADAS)など、複雑なデジタルシステムが混在するようになってきており、マイクロサービスアーキテクチャは、独立して開発、テスト、デプロイできるモジュール化された自己完結型のサービスを可能にします。ナビゲーション、インフォテインメント、デジタル クラスタ、TCU、ADAS などの車両機能を、モジュール化され、独立して展開可能な自己完結型のサービスに分離します。続いて、自律型サービス間のシームレスな接続に適した技術スタックを構築し、データの調達と処理を支援する。
DockerやPodmanのようなコンテナ化ツールは、最新のSDVを動かすモジュール化されたソフトウェア環境の基盤となっている。DockerやPodmanのようなコンテナ化ツールは、最新のSDVを動かすモジュール化されたソフトウェア環境の基礎となるもので、開発、テスト、生産の各段階で一貫した動作を実現するために、依存関係を持つアプリケーションを軽量なユニットにパッケージ化する。Kubernetesはコンテナをオーケストレーションし、スケーリング、フェイルオーバーメカニズム、リソース割り当てを管理する。
SDVにおけるコンテナ管理には、車両内のエッジコンピューティングとクラウドベースのオーケストレーションを統合したハイブリッド展開モデルが含まれる。このアプローチはリアルタイムのデータ処理をサポートすると同時に、リモートアップデートとライフサイクル管理を容易にする。
マイクロサービスはAPIを通じて相互作用し、内部の複雑さを隠蔽し、あるサービスの変更が別のサービスに影響する可能性を低くする。開発者は、JenkinsやGitHub Actionsのようなツールを使ってデプロイメントを自動化し、CI/CDパイプラインを使ってソフトウェアを素早くリリースすることができる。また、安全性を重視した技術、低遅延通信、OTA(Over-the-Air)アップデート、サイバーセキュリティのコンプライアンスを選択する必要がある。
自動車業界におけるDevOpsと継続的デプロイメント
マイクロサービス・アーキテクチャを補完する協調的アプローチであるDevOpsは、開発チームと運用チームのギャップを埋め、コーディング、テストからデプロイメント、メンテナンスに至るまで、ソフトウェアのライフサイクル全体を構造化する。ソフトウェアデリバリプロセスを合理化・自動化し、ソフトウェア品質を向上させ、市場投入までの時間を短縮することを目的としている。
マイクロサービスの分散化された性質は、迅速なデプロイメント、絶え間ないテスト、シームレスな統合を必要とする。継続的デプロイメントとは、DevOpsにおけるプラクティスであり、新しいソフトウェアアップデートが事前に定義されたテストに合格するとすぐに本番環境にリリースすることを自動化することで、これをさらに推し進めるものである。
継続的デプロイが導入されると、焦点はオーケストレーション、トレーサビリティ、回復力に移る。各マイクロサービスは、ロールバックメカニズム、カナリアリリース、インクリメンタルかつセキュアなロールアウトのためのブルーグリーンデプロイメントを含む、自動化されたパイプラインを介して独立してデプロイされる。これはまた、業界のOTA配信システムとの統合を意味し、アップデートはリコールなしで世界中の車両に届きます。
DevOpsのプラクティスは、規制基準を満たし、ソフトウェアビルドを追跡可能に保つために、厳格なバージョン管理と成果物管理を強制する。DevOpsフレームワークの(Terraformのような)infrastructure-as-codeツールは、コードによるインフラ管理とプロビジョニングの自動化を支援し、より一貫性のあるものにする。そして、その結果は、強固な安全性、信頼性、サイバーセキュリティの期待に応えながらデリバリーを迅速化する、十分に構造化された監査可能なプロセスである。
複雑なソフトウェアをモジュール化されたサービスに分解することで、マイクロサービス・アーキテクチャは、チームが独立して機能を開発し、デプロイすることを可能にする。このフレームワークと組み合わせたDevOpsプラクティスとCI/CDパイプラインは、ソフトウェアデリバリーのための高速エンジンを提供する。
マイクロサービスとDevOpsの利点は以下の通り:
- 市場投入スピードの加速:自動化と最適化されたワークフローにより、開発サイクルが短縮され、新機能のリリースが迅速になります。
- モジュラースケーラビリティ:個々のサービスは、使用状況やパフォーマンス要件に応じて、モデルや車両プラットフォーム間で拡張できます。
- 障害の分離:1つのマイクロサービスで障害が発生しても、システム全体には影響しないため、耐障害性と安全性が向上します。
- OTAアップデート:DevOps技術により、リモートでリアルタイムのソフトウェアアップデートとパッチ適用が可能になり、物理的なオンサイトサービスの必要性を最小限に抑えます。
- ソフトウェアの品質:継続的インテグレーションと自動テストにより、問題を早期に発見・修正し、本番環境での不具合を排除します。
- 再利用性:開発者は、モジュール化されたサービスをさまざまなプラットフォームやモデルで再利用できるため、開発時間とコストを削減できます。
- 柔軟な統合:API互換性のあるマイクロサービスとクラウドネイティブ設計により、サードパーティアプリを含むコネクテッドカーやスマートカーのエコシステムをサポートします。
- 俊敏性:DevOpsのプラクティスは透明性の高いワークフローを促進し、技術チームが個別にソフトウェアを構築、テスト、デプロイできるようにすることで、反復サイクルを加速します。
- 効率的なワールドワイド・ロールアウト:自動化されたCI/CDパイプラインにより、オーバーヘッドを最小限に抑えながら、地域や車種を超えた展開を簡素化します。
- 継続的な改善ループ:リアルタイムのモニタリングとフィードバックにより、継続的な改良と迅速な問題解決を実現します。
- 魅力的なユーザーエクスペリエンス:タイムリーなアップデートにより、車両をドライバーのニーズや業界のトレンドに合わせます。
ソフトウェア定義の未来に向けた自動車イノベーションの加速
2030年までに、世界の自動車用ソフトウェアおよびエレクトロニクス市場は 4620億ドルに達すると予想されています 。マイクロサービス・アーキテクチャは、この業界のソフトウェア開発をより適応性の高いものにし、テクノロジーの進化のペースに同期させる。DevOpsは、OEMがよりスマートで、より安全で、より接続された運転体験を提供するためにギアを変更するのに役立ちます。この組み合わせは、高度な機能の迅速な実装、メンテナンスの簡素化、スムーズなスケーラビリティを本質的に実現するものであり、将来を見据えたSDVのニーズに対応するものです。
今後、マイクロサービスとDevOpsの採用が進むことで、自動車業界は安全でスケーラブル、そして将来への対応力を維持し続けることができると感じています。