このアーキテクチャ例では、自動車メーカー (OEM) とモビリティ プロバイダーが、高度なコネクテッド 車両アプリケーションとデジタル サービスを開発する方法について説明します。 信頼性の高いメッセージング、データ、分析インフラストラクチャを提供します。 このインフラストラクチャには、メッセージとコマンドの処理、状態ストレージ、およびマネージド API の統合が含まれます。 また、このアーキテクチャは、より広範なモビリティ エコシステム内でのデジタル エンジニアリング、フリート運用、共有のためのスケーラブルで強化されたセキュリティ データ ソリューションも提供します。
Architecture
このアーキテクチャ図を含む PowerPoint ファイル をダウンロードします。
上記のアーキテクチャの大まかな図は、自動車のメッセージング、データ、および分析ソリューションの主要な論理ブロックとサービスを示しています。 この記事では、網掛けされた図の要素については説明しません。 ただし、次の一覧では、他の図要素について簡単に説明します。 詳細については、次のセクションを参照してください。
ビークル: 各ビークルには、デバイスのコレクションが含まれています。 これらのデバイスの一部はソフトウェア定義であり、クラウドから管理されるソフトウェア ワークロードを実行できます。 車両は、電気機械デバイスからのセンサー情報、インタラクション、ビデオ、ソフトウェアログファイルなど、さまざまなデータを収集して処理します。
モバイル デバイス: モバイル デバイスは、ドライバーまたはユーザーにデジタル エクスペリエンスを提供し、コンパニオン アプリを使用して車両との間でメッセージを送受信できます。
モビリティ インフラストラクチャ: バッテリ充電スタンドなどのモビリティ インフラストラクチャは、車両との間でメッセージを受信し、車両にメッセージを送信します。
メッセージング サービス: メッセージング サービスは、車両、インフラストラクチャ、モバイル デバイスとの間の通信を管理します。 メッセージを処理し、ワークフローを使用してコマンドを実行し、管理バックエンドを実装します。 また、すべての参加者の証明書の登録とプロビジョニングも追跡します。
車両およびデバイス管理バックエンド: OEM システムは、工場から販売後のサポートまで、車両とデバイスのライフサイクルを管理します。
データおよび分析サービス: データおよび分析サービスは、すべてのユーザーにデータの保存、処理、および分析機能を提供します。 これらのサービスにより、データが分析情報に変換され、ビジネス上の意思決定が向上します。
デジタル サービス: 自動車メーカーは、顧客に付加価値を提供するデジタル サービスを提供します。 これらのサービスには、修復タスクとメンテナンス タスク用のコンパニオン アプリが含まれます。
ビジネス統合:一部のデジタルサービスでは、ディーラー管理システム(DMS)、顧客関係管理(CRM)、エンタープライズリソースプランニング(ERP)システムなどのバックエンドシステムへのビジネス統合が必要です。
同意管理: 同意管理バックエンドは顧客管理の一部であり、適用される法律に従ってデータ収集のユーザー承認を追跡します。
デジタル エンジニアリング: デジタル エンジニアリング システムでは、車両データを使用して、分析と機械学習を通じてハードウェアとソフトウェアを継続的に改善します。
スマート モビリティ エコシステム: スマート モビリティ エコシステムは、ユーザーの同意に基づいて接続された保険など、他の製品やサービスを提供するパートナー企業で構成されています。 イベントと集計された分析情報をサブスクライブして使用できます。
IT と運用: IT オペレーターはこれらのサービスを使用して、車両とバックエンド システムの両方の可用性とパフォーマンスを維持します。
車両セキュリティ オペレーション センター (VSOC): IT オペレーターとエンジニアは VSOC を使用して、脅威から車両を保護します。
Microsoft は、オープン ソースを使用する車両ソフトウェア プラットフォームに関するオープン コラボレーションのフォーラムとして機能する Eclipse Software Defined Vehicle Working Group のメンバーです。
データフロー
このアーキテクチャでは、 パブリッシャーとサブスクライバーのメッセージング パターン を使用して、車両をサービスから分離します。 Azure Event Grid を使用して、車両とサービス間のメッセージングを有効にし、 メッセージ キュー テレメトリ トランスポート (MQTT) メッセージ を Azure サービスにルーティングします。
Vehicle-to-cloud メッセージ
Vehicle-to-Cloudデータフローは、車両からのテレメトリ データを処理します。 車両の状態やセンサー データなどのテレメトリ データは、定期的に送信できます。 エラー状態のトリガーなどのイベントに基づいて、ユーザーアクションへの反応として、またはリモート要求への応答としてデータを送信できます。
API Management は、車両、デバイス、ユーザーの同意管理サービスへの安全なアクセスを提供します。 車両は、購入オプションに基づいて顧客用に構成されます。 マネージド API は、次へのアクセスを提供します。
車両とデバイスのプロビジョニング情報。
市場とビジネスに関する考慮事項に基づく初期の車両データ収集構成。
同意管理バックエンドで定義された車両オプションとユーザーの同意に基づく初期ユーザー同意設定の保存。
車両は、定義されたトピックを含む MQTT クライアントを介して、テレメトリとイベント メッセージを車両メッセージング サービスの Event Grid MQTT ブローカー機能に発行します。
Event Gridは、トピック、メッセージ属性、またはペイロードに基づいて、メッセージをさまざまなサブスクライバーにルーティングします。 詳細については、「 MQTT ルーティング メッセージのフィルター処理」を参照してください。
Azure Event Hubs インスタンスは、分析にのみ使用されるメッセージのように、即時処理を必要としない大量の優先順位の低いメッセージをバッファーします。 次に、メッセージをストレージに直接ルーティングします。 パフォーマンス上の理由から、これらのメッセージにペイロード フィルターを使用しないでください。
Event Hubs インスタンスは、待ち時間の短いユーザー向けアプリケーションでの状態の変化など、即時処理を必要とする優先度の高いメッセージをバッファーします。 次に、それらを Azure 関数にルーティングします。
システムは、 イベント キャプチャを使用して、優先度の低いメッセージをレイクハウスに直接格納します。 コストを最適化するために、これらのメッセージでは バッチ デコードと処理を使用できます。
Azure関数は、優先度の高いメッセージを処理します。 この関数は、デバイス レジストリから車両、デバイス、およびユーザーの同意設定を読み取り、次の手順を実行します。
車両とデバイスが登録され、アクティブであることを確認します。
ユーザーがメッセージ トピックに同意したことを確認します。
ペイロードをデコードしてエンリッチします。
ルーティング情報をさらに追加します。
データおよび分析ソリューションのライブテレメトリEventstreamは、デコードされたメッセージを受信します。 Eventhouse は、メッセージの受信時にメッセージを処理して格納します。
デジタル サービス レイヤーは、デコードされたメッセージを受信します。 Azure Service Busは、車両の状態に関する重要な変更やイベントについてアプリケーションに通知します。 Eventhouseは、車両の最後の既知の状態と短期的な履歴を提供します。
Cloud-to-vehicle メッセージ
ブロードキャスト データフロー
デジタル サービスは、ブロードキャスト データフローを使用して、共通トピックに関する通知またはメッセージを複数の車両に提供します。 一般的な例としては、交通サービスや気象サービスなどがあります。
通知サービスは、クラウドで実行される MQTT クライアント です。 Event Grid の特定のトピックにメッセージを発行することが登録され、承認されています。 承認は、 Microsoft Entra JSON Web トークン認証を使用して行うことができます。
通知サービスはメッセージを発行します。 たとえば、トピック
/weather/warning/
に対する気象警告などです。Event Grid は、指定されたトピックに発行するサービスが承認されているかどうかを確認します。
車両メッセージングモジュールは、気象警報を購読し、通知を受信します。
メッセージング モジュールは、車両のワークロードに通知します。 たとえば、気象アラートの内容を表示するようにインフォテインメント システムに通知します。
コマンドと制御のデータフロー
コマンドおよび制御データフローは、コンパニオン アプリやモビリティ インフラストラクチャとの通信などのデジタル サービスから、車両内でリモート コマンドを実行します。 これらのコマンドには、ドアのロックまたはロック解除、キャビンのエアコンの設定、バッテリーの充電、構成の変更などのユース ケースが含まれます。 これらのコマンドの成功は、車両の状態によって異なります。 完了するまでに時間がかかる場合があります。
車両コマンドは、多くの場合、車両の機能を制御するため、ユーザーの同意を必要とします。 これらのコマンドは、車両の状態を使用して中間結果を格納し、正常な実行を評価します。 メッセージング ソリューションには、ユーザーの同意を確認し、コマンドの実行状態を追跡し、コマンドの完了時にデジタル サービスに通知するコマンド ワークフロー ロジックが必要です。
次のデータフローでは、コンパニオン アプリのデジタル サービスから発行されたコマンドを例に挙げています。 前の例と同様に、コンパニオン アプリは、Event Gridにメッセージを発行できる認証済みサービスです。
API Management は、車両、デバイス、および同意管理バックエンドへのアクセスを提供します。 車両の所有者またはユーザーは、コンパニオンアプリなどのデジタルサービスを通じてコマンドおよび制御機能を実行することに同意します。 これは通常、ユーザーがアプリをダウンロードまたはアクティブ化し、OEMがアカウントをアクティブ化したときに発生します。 これにより、MQTT ブローカーで関連するコマンド トピックをサブスクライブするように車両の構成変更がトリガーされます。
コンパニオン アプリでは、コマンドとコントロールのマネージド API を使用して、リモート コマンドの実行を要求します。 コマンドの実行には、タイムアウトやストアとフォワードのオプションなどのオプションを構成するためのパラメーターが他にもある場合があります。 ワークフロー ロジックは API 呼び出しを処理します。
ワークフロー ロジックは、トピックとその他のプロパティに基づいてコマンドの処理方法を決定します。 プロセスの状態を追跡する状態が作成されます。 コマンド ワークフロー ロジックは、ユーザーの同意情報と照合して、メッセージを処理できるかどうかを判断します。
コマンド ワークフロー ロジックでは、コマンドとパラメーター値を使用して Event Grid にメッセージを発行します。
Event Grid では、マネージド ID を使用してワークフロー ロジックを認証します。 次に、指定されたトピックにメッセージを送信するワークフロー ロジックが承認されているかどうかを確認します。
車両内のメッセージング モジュールは、コマンド トピックにサブスクライブされ、通知を受け取ります。 コマンドを適切なワークロードにルーティングします。
メッセージング・モジュールは、ワークロードの完了またはエラーをモニターします。 ワークロードは、コマンドの物理的な実行を担当します。
メッセージング モジュールでは、コマンドの状態レポートを Event Grid に発行します。 車両は、X.509 証明書を使用して Event Grid に対する認証を行います。
ワークフロー ロジックは、コマンドの状態の更新にサブスクライブされ、コマンド実行の内部状態を更新します。
コマンドの実行が完了すると、サービス アプリはコマンドAPIとコントロールAPIを介して実行結果を受け取ります。
車両の接続が失われると、コマンドと制御のワークフロー ロジックが失敗する可能性があります。 Event Grid MQTT ブローカー機能は、 Last Will メッセージと遺言メッセージをサポートします。 デバイスが突然切断されると、MQTT ブローカーはすべてのサブスクライバーに will メッセージを配布します。 ワークフロー ロジックは、切断を処理し、処理を中断し、適切なエラー コードをクライアントに通知するために will メッセージに登録します。
車両とデバイス プロビジョニング
このデータフローでは、車両とデバイスを車両メッセージング サービスに登録してプロビジョニングするプロセスについて説明します。 このプロセスは通常、車両の製造の一環として開始されます。 自動車業界では、車両デバイスは一般的に X.509 証明書を使用して認証されます。 Event Grid では、クライアント デバイスを認証するためにルートまたは中間 X.509 が必要です。 詳しくは、「クライアント認証」をご覧ください。
ファクトリ システムでは、車両デバイスが目的の構築状態になるよう指示します。 それには、ファームウェアとソフトウェアの初期インストールおよび構成が含まれることがあります。 このプロセスの一環として、ファクトリ システムは、公開キー インフラストラクチャ証明機関 (CA) によって発行されたデバイス X.509 証明書を、その目的のために特別に設計されたストレージ (トラステッド プラットフォーム モジュールなど) に書き込みます。
ファクトリ システムでは、車両およびデバイス プロビジョニング API を使用して車両およびデバイスを登録します。
ファクトリ システムでは、デバイス プロビジョニング クライアントを トリガーして "デバイス登録" に接続し、デバイスをプロビジョニングします。 デバイスでは "MQTT ブローカー" への接続情報が取得されます。
"デバイス登録" アプリケーション では MQTT ブローカーを使用してデバイス ID を作成します。
ファクトリ システムは、デバイスをトリガーして、初めて "MQTT ブローカー" への接続を確立します。
- MQTT ブローカーは、CAルート証明書を使用してデバイスを認証し、クライアント情報を抽出します。
"MQTT ブローカー" では、ローカル レジストリを使用して、許可されたトピックの認可を管理します。
部品交換の場合、OEM ディーラー システムが新しいデバイスの登録をトリガーします。
Note
通常、ファクトリ システムはオンプレミスであり、クラウドへの直接接続はありません。
データ分析
このデータフローでは、車両データの分析について説明します。 工場情報、障害データ、修復レポート、ソフトウェア ログ、オーディオ、ビデオなどの他のデータ ソースを使用して、車両データのコンテキストを強化および提供できます。
"車両メッセージング サービス" レイヤーでは、双方向通信から車両へのテレメトリ、イベント、コマンド、構成メッセージを提供します。
ITおよび運用レイヤーは、車両上で実行されるソフトウェアと関連するクラウドデジタルサービスに関する情報を提供します。
データ エンジニアは、Notebooks と Kusto 照会言語 (KQL) クエリ セットを使用して、データの分析、データ製品の作成、パイプラインの構成を行います。 Fabric の Microsoft Copilot は開発プロセスをサポートしています。
パイプラインは、メッセージをより洗練された状態に処理します。 パイプラインは、メッセージの強化と重複除去、主要業績評価指標の作成、Machine Learning 用のトレーニング データセットの準備を行います。
エンジニアとビジネス ユーザーは、Power BI またはリアルタイム ダッシュボードを使用してデータを視覚化します。
データ エンジニアは、反射を使用してエンリッチされた車両データをほぼリアルタイムで分析し、予測メンテナンス要求などのイベントを作成します。
データ エンジニアは、イベントと分析情報と Azure Logic Apps のビジネス統合を構成します。 ワークフローは、Dynamics 365や Dataverse などのレコードのシステムを更新します。
Azure Machine Learning Studio では、生成されたトレーニング データを使用して機械学習モデルを作成または更新します。
スケーラビリティ
デプロイ スタンプ パターン
コネクテッド車両およびデータ ソリューションは、何百万台もの車両と何千ものサービスにスケーリングできます。 デプロイメント・スタンプ・パターン を使用して、スケーラビリティーと弾力性を実現します。
各車両メッセージング スケール ユニットは、特定の車両の人口をサポートするように設計されています。 地理的な地域やモデル年などの要因によって、この母集団を定義できます。 アプリケーション スケール ユニットは、車両へのメッセージの送受信を必要とするサービスをスケーリングします。 この共通サービスは、どのスケールユニットからでもアクセスでき、アプリケーションとデバイスの車両とデバイスの管理、およびサブスクリプションサービスを提供します。
"アプリケーション スケール ユニット" では、関心のあるメッセージがアプリケーションでサブスクライブされます。 共通サービスでは、車両メッセージング スケール ユニット コンポーネントのサブスクリプションが処理されます。
車両ではデバイス管理サービスを使用して、車両メッセージング スケール ユニットへの割り当てを検出します。
必要に応じて、車両とデバイス プロビジョニング ワークフローを使用して 、車両メッセージング スケール ユニットに車両をプロビジョニングします。
これで、車両はメッセージを発行し、MQTT ブローカーにトピックをサブスクライブできるようになりました。 Event Gridは、サブスクリプション情報を使用してメッセージをルーティングします。
以前に使用した次のメッセージングの例は、スケール ユニット間の通信を示しています。
処理と要求チェックを必要としないメッセージは、対応するアプリケーション スケール ユニットのイングレス ハブにルーティングされます。
アプリケーションは、アプリのイングレス イベント ハブ インスタンスからメッセージを使用します。
(B) コマンドとコントロール
アプリケーションは、Event Hubs インスタンスを介して車両にコマンドを発行します。 これらのコマンドには、関連するワークフロー ロジックを使用した処理、ワークフロー制御、承認が必要です。
処理を必要とするステータス メッセージは、ワークフロー ロジックにルーティングされます。
コマンドが完了すると、ワークフロー ロジックは、アプリケーションが使用できるように、アプリケーション スケール ユニット内の対応するイベント ハブに通知を転送します。
アプリケーションは、関連付けられているイベント ハブからのイベントを使用します。
Event Grid カスタム ドメイン名
カスタム ドメイン名は、既定のホスト名と共にEvent Grid名前空間のMQTTおよびHTTPホスト名に割り当てることができます。 カスタム ドメイン構成では、ドメインに既にリンクされているクライアント デバイスを変更する必要がなくなります。 また、セキュリティとコンプライアンスの要件を満たすのにも役立ちます。 デバイスの構成と移行のシナリオを簡略化するには、 custom ドメイン名を使用します。
コンポーネント
このアーキテクチャ例には次の Azure コンポーネントがあります。
接続
Event Grid を使用すると、イベントベースのアーキテクチャを備えたアプリケーションを簡単に作成することができます。 このソリューションでは、Event Grid によってデバイスのオンボード、認証、および承認が管理されます。 MQTT を使用したパブリッシュ/サブスクライブ メッセージングもサポートしています。
Event Hubs は、大量のテレメトリ データを処理して取り込むためのスケーラブルなイベント処理サービスです。 このソリューションでは、Event Hubs によってメッセージがバッファーされ、さらに処理またはストレージ用に配信されます。
Azure Functions は、ベントトリガーコードを実行するサーバーレス コンピューティング サービスです。 このソリューションでは、Functions は車両メッセージを処理します。 Functions を使用して、短期的な操作を必要とする管理 API を実装することもできます。
Azure Kubernetes Service (AKS) は、複雑なワークロードとサービスをコンテナ化されたアプリケーションとしてデプロイします。 このソリューションでは、AKS はコマンドをホストし、ワークフロー ロジックを制御し、管理 API を実装します。
Azure Cosmos DB は、グローバル分散型のマルチモデル データベース サービスです。 このソリューションでは、車両、デバイス、ユーザーの同意設定を格納します。
Azure API Management は、API の安全で効率的な処理を保証します。 このソリューションでは、API Managementは、無線更新を含む車両ライフサイクル管理やユーザーの同意管理など、既存のバックエンド サービスへのマネージド API ゲートウェイを提供します。
Azure Batch は、ジョブのスケジュール設定と仮想マシン管理機能を提供するプラットフォーム サービスです。 このソリューションでは、Batch はアプリケーションを大規模に並列で実行します。 また、車両通信トレースの取り込みなど、計算負荷の高い大規模なタスクを効率的に処理します。
データと分析
- Microsoft Fabric は、データ移動、処理、インジェスト、変換、イベント ルーティング、レポート作成を含むデータ分析用の統合プラットフォームです。 収集されたすべての車両および業務データのデータ分析を提供します。
バックエンド統合
Logic Apps は、自動化されたワークフローを作成および実行するためのプラットフォームです。 このソリューションでは、車両データに基づいてビジネス統合のワークフローを実行します。
Azure App Service は、Web アプリをビルド、デプロイ、スケーリングするためのフル マネージド プラットフォームです。 このソリューションでは、ユーザー向けの Web アプリとモバイル バックエンド (コンパニオン アプリなど) を提供します。
Azure Cache for Redis では、アプリケーションを高速化するための高パフォーマンスのデータ キャッシュが提供されます。 このソリューションでは、コンパニオン アプリなどのユーザー向けアプリケーションでよく使用されるデータのメモリ内キャッシュを提供します。
Service Bus は、分散アプリケーションとサービスの間で、セキュリティが強化された信頼性の高い通信を保証するメッセージング サービスです。 このソリューションでは、車両の接続性をデジタル サービスとビジネス統合から切り離します。
Microsoft Dynamics 365 は、営業、サービス、財務、運用にわたるインテリジェントなビジネス アプリケーションのスイートです。 このソリューションでは、接続されたカスタマー エクスペリエンスとシームレスなビジネス プロセスを提供し、より良いディーラーと OEM の運用を保証します。
Microsoft Dataverse では、セキュリティが強化されたビジネス アプリケーション データを格納および管理します。 このアーキテクチャでは、顧客と車両に関する情報が格納されます。
代替
メッセージ処理とマネージド API に適したコンピューティングの選択は、いくつかの要因によって異なります。 詳細については、 Azure コンピューティング サービスの選択に関するページをご覧ください。
次の使い分けをお勧めします。
テレメトリの取り込みなど、イベント駆動型の短時間有効なプロセス用の関数。
大規模なCANトレースやビデオファイルのデコードなどのハイパフォーマンスコンピューティングタスク用のバッチ 。
AKS は、コマンド&コントロールのワークフロー管理など、コンテナ化された複雑なロジックの管理された本格的なオーケストレーションを実現します。
イベントベースのデータ共有の代わりに、データ レイク レベルでバッチ同期を実行することが目的である場合は、Azure Data Share を使用できます 。
データ分析では、次を使用できます。
Azure Databricks は、大規模なエンタープライズ レベルのデータ ソリューションを保守するためのツール セットを提供します。 データブリックは、大量の車両データに対する長時間の操作に必要です。
Azure Data Explorer は、時系列ベースの車両テレメトリ データの探索、キュレーション、分析を提供します。
シナリオの詳細
自動車OEMは、固定製品の生産からコネクテッド・ソフトウェア・デファインド・ビークル(SDV)の提供へと移行し、大きな変革を遂げています。 車両は、無線アップデート、リモート診断、パーソナライズされたユーザーエクスペリエンスなど、さまざまな機能を提供します。 この移行により、OEM はリアルタイムのデータと分析情報に基づいて製品を継続的に改善しながら、新しいサービスや収益の流れを取り入れるようにビジネス モデルを拡張することができます。
このアーキテクチャ例では、自動車メーカーとモビリティ プロバイダーが次のことができます。
フィードバックデータをデジタルエンジニアリングプロセスの一部として使用して、継続的な製品改善を推進し、問題の根本原因に積極的に対処し、新しい顧客価値を創造します。
新しいデジタル製品とサービスを提供し、ERPやCRMなどのバックエンドシステムとのビジネス統合により、運用をデジタル化します。
セキュリティを強化してデータを共有し、より広範なスマートモビリティエコシステムを使用して、ユーザーの同意に関する国または地域固有の要件に対処します。
車両ライフサイクル管理と同意管理のためのバックエンドシステムと統合し、SDV DevOpsツールチェーンを使用してコネクテッドカーソリューションの展開と管理を簡素化し、加速します。
車両と分析のための大規模なコンピューティングを格納および提供します。
コスト効率の高い方法で何百万台ものデバイスへの車両接続を管理します。
考えられるユース ケース
"OEM 自動車のユース ケース" は、車両の性能、安全性、ユーザー エクスペリエンスの向上に関するものです。
継続的な製品改善 は、リアルタイムデータを分析し、リモートで更新を適用することにより、車両のパフォーマンスを向上させます。 車両用ソフトウェアの開発方法の詳細については、「 SDV DevOps ツールチェーンを参照してください。
エンジニアリングテストフリートの検証 は、テストフリートからデータを収集して分析することにより、車両の安全性と信頼性を確保します。 詳細については、「 自動車テスト車両のデータ分析」を参照してください。
コンパニオンアプリとユーザーポータル は、パーソナライズされたアプリとウェブポータルを通じて、リモート車両へのアクセスと制御を可能にします。
プロアクティブな修理とメンテナンス は、データ主導の洞察に基づいて車両のメンテナンスを予測し、スケジュールを立てます。
エコシステムのユース ケースが広がり、コネクテッド 車両アプリケーションが強化されます。 これらの改善は、輸送環境全体にわたって、フリートの運用、保険、マーケティング、および道路沿い支援に役立ちます。
コネクテッド商用フリート運用 は、リアルタイムの監視とデータ主導の意思決定を通じてフリート管理を最適化します。 詳細については、「Automotive Connected Fleets」を参照してください 。
デジタル車両保険 は、運転行動に基づいて保険料をカスタマイズし、事故を即座に報告します。
ロケーションベースのマーケティング は、ドライバーの位置情報と好みに基づいて、ターゲットを絞ったマーケティングキャンペーンをドライバーに提供します。
ロードアシスタンスは 、車両の位置データと診断データを使用して、必要なドライバーにリアルタイムのサポートを提供します。
考慮事項
以降の考慮事項には、ワークロードの品質向上に使用できる一連の基本原則である Azure "Well-Architected Framework" の要素が組み込まれています。 詳細については、「Azure Well-Architected Framework」を参照してください。
[信頼性]
信頼性により、顧客に確約したことをアプリケーションで確実に満たせるようにします。 詳細については、「信頼性の重要な要素の概要」を参照してください。
水平スケーリングを使用して信頼性を向上させます。 メッセージ処理パイプラインのスケーリングの詳細については、「 Functions ホスティング オプションを参照してください。 ワークフロー実行ロジックとデジタル サービスのスケーリングの詳細については、「 AKS のアプリケーションのスケーリング オプションを参照してください。
自動スケーリングを使用して需要に基づいて動的にスケーリングすることで、コンピューティング リソースを管理します。
スケール ユニット を使用して個々のコンポーネントの負荷を軽減し、車両間にバルクヘッドを提供します。 1 つのスタンプの停止は、他のスタンプには影響しません。
スケール ユニットを使用 して 、異なる規制を持つ地理的地域を分離します。
geo 冗長性を使用して、フォールト トレランスとディザスター リカバリーのために、複数の地理的な場所にデータをレプリケートします。
自動車の接続信頼性は、自動車メッセージングにとって重要です。 詳細については、「Reliability in Event Grid and Event Grid 名前空間」を参照してください。
セキュリティ
セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの重要な要素の概要」を参照してください。
X.509 証明書を使用して、車両と Azure 間の安全な通信を確保します。 詳細については、「Certificate管理」を参照してください。
脅威を検出し、サイバー攻撃を防ぎ、規制措置に準拠するための VSOC を確立します。
複数のデータ ソースから情報を収集してマージします。 リスク軽減、データ フォレンジクス、インシデント対応、攻撃軽減のプロセスを確立します。
ネットワーク、デジタル サービス、電子制御ユニットの異常検出と早期警告を作成します。
コストの最適化
コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳細については、「コスト最適化の重要な要素の概要」を参照してください。
車両あたりのコストを考慮してください。 通信コストは、提供されるデジタル サービスの数によって異なる必要があります。 運用コストに関連して、各デジタル サービスの投資収益率を計算します。
メッセージ トラフィックに基づいてコスト分析のプラクティスを確立します。 コネクテッドカーのトラフィックは、サービスが追加されるにつれて時間の経過とともに増加する可能性があります。 たとえば、テレマティクス保険製品のデータ収集の増加、車両内デジタル アシスタントを搭載した生成 AI、カー 共有アプリケーションなどがあります。
ネットワークとモバイルのコストを考慮してください。
トピック名の長さを減らすには MQTT トピックエイリアス を使用します。 この方法は、トラフィック量を減らすのに役立ちます。
Protobuf や gzipped JSON などの効率的なメソッドを使用して、ペイロード メッセージをエンコードおよび圧縮します。
トラフィックを積極的に管理します。
車両には、毎日および毎週の需要ピークを生み出す繰り返しの使用パターンがある傾向があります。
ルーティング構成で MQTT ユーザー プロパティ 使用してメッセージに優先順位を付けます。 このアプローチを使用して、重要でないメッセージまたは分析メッセージの処理を延期し、負荷を平準化し、リソースの使用を最適化できます。
運用要件に基づいて、コンテキスト固有の処理を検討してください。 たとえば、重大なブレーキ条件の間にのみ、より多くのブレーキ テレメトリを送信します。
需要に基づいて容量を調整します。
データをホットストレージ、ウォームストレージ、またはコールドストレージに格納する期間を検討します。
予約インスタンスを使用してコストを最適化します。
オペレーショナル エクセレンス
オペレーショナル エクセレンスは、アプリケーションをデプロイし、それを運用環境で実行し続ける運用プロセスをカバーします。 詳細については、「オペレーショナル エクセレンスの重要な要素の概要」を参照してください。
統合された IT 運用を強化するには、車両ソフトウェアの監視を検討してください。 このソフトウェアには、ログ、メトリックとトレース、メッセージング サービス、データおよび分析サービス、および関連するバックエンド サービスが含まれます。
パフォーマンス効率
パフォーマンス効率とは、ユーザーからの要求に合わせて効率的な方法でワークロードをスケーリングできることです。 詳細については、「パフォーマンス効率の柱の概要」を参照してください。
50,000デバイスを超えるスケール ソリューションには、 スケール ユニットの概念 を使用することを検討してください (特に、複数の地理的リージョンが必要な場合)。
スケール ユニットを設計するときは、 Azure サブスクリプションとサービスの制限、クォータ、制約 を考慮してください。
メッセージング、ストリーミング、バッチ処理のいずれの方法を使用する場合でも、データを取り込む最適な方法を検討してください。 たとえば、ユーザー要求などの優先度の高いメッセージをすぐに処理します。 車両のパフォーマンス データなどの分析メッセージを処理せずにストレージに直接ルーティングします。 即時処理が必要な優先度の高いメッセージの数を最小限に抑えるようにシステムを設計します。
バッチ処理またはほぼリアルタイム処理を使用して、ユース ケースに基づいてデータを分析する最適な方法を検討してください。 ほぼリアルタイムの分析は、差し迫った車両の問題に対するアラートなど、ユーザーに即時通知を提供します。 バッチ分析は定期的に実行され、今後のメンテナンスの予測など、予期しない通知が提供されます。
このシナリオのデプロイ
Connected Fleet 参照アーキテクチャのチュートリアル には、メッセージ処理パイプラインのサンプル実装が含まれています。
共同作成者
この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。
プリンシパルの作成者:
- ピーター・ミラー |プリンシパルエンジニアリングマネージャー
- Mario Ortegon-Cabrera | プリンシパル プログラム マネージャー、MCI SDV & モビリティ
- David Peterson | チーフ アーキテクト
- Max Zilberman | プリンシパル ソフトウェア エンジニアリング マネージャー
その他の共同作成者:
- ジェフ・ビーマン |プリンシパル・プログラム・マネージャー
- Frederick Chong | プリンシパル PM マネージャー、MCI SDV & モビリティ
- Felipe Prezado | プリンシパル プログラム マネージャー、MCI SDV & モビリティ
- Ashita Rastogi | プリンシパル PM マネージャー、Azure Messaging
- Henning Rauch | プリンシパル プログラム マネージャー、Azure Data Explorer (Kusto)
- ラジャゴパル・ラヴィパティ | パートナー ソフトウェア エンジニアリング マネージャー、Azure Messaging
- セス・シャンムガム |メッセージング担当シニア プロダクト マネージャー
パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。
次のステップ
次の記事では、アーキテクチャ内のコンポーネント間の相互作用について説明します。
- Azure Data Explorer クラスターでのストリーミング インジェストの構成
- Parquet 形式で Event Hubs データをキャプチャし、Azure Synapse Analytics を使用して分析する
関連リソース
- Create an Autonomous Vehicle Operationsソリューションは 、自動運転およびアシステッド ドライビングのための自動車デジタル エンジニアリングをより深く調査します。
- SDV DevOps ツールチェーン では、ワークロードを構築、検証、および車両にデプロイする方法について説明します。
- 「自動車テスト車両のデータ分析」は、エンジニアリング検証と根本原因分析に対する収集されたデータの使用に関する専用のシナリオです。
次の記事では、アーキテクチャで使用されるパターンの一部について説明します。
- 要求チェック パターン は、ファイルのアップロードなどの大きなメッセージの処理をサポートします。
- デプロイ スタンプ パターン は、ソリューションを数百万台の車両にスケーリングするために必要な一般的な概念をカバーしています。
- 調整パターン は、車両からの例外的な数のメッセージを管理するために必要な概念を記述します。