先進運転支援システム (ADAS) と自動運転 (AD) の検証操作 (ValOps) テストは、自動運転車両運用 (AVOps) 設計の重要な要素です。 この記事では、AD システムの信頼性と安全性を確保する ValOps テスト ソリューションを開発するためのガイダンスを提供します。
このガイダンスに従うことにより、Azure を使用して、広範でスケーラブルなテストおよび検証プロセスを容易に実行できるようになります。 さまざまなシナリオや条件でソフトウェアのパフォーマンスを体系的に評価することで、開発サイクルの早い段階で潜在的な問題を特定し、対処できます。 これらのシナリオを実行するには、記録されたセンサー データを再生するか、シミュレーターまたはリアルタイム信号を挿入する専用のオンプレミス ハードウェア デバイスを使用して、動的環境でソフトウェアをテストします。
Architecture
この記事のアーキテクチャの図を含む Visio ファイルをダウンロードしてください。
ワークフロー
- GitHub アクションは、Azure Deployment Environments 内でデプロイ キャンペーンを実行するメタデータおよびオーケストレーション サービスをトリガーします。
- メタデータとオーケストレーション サービスは、Azure デプロイ環境を使用して、オープンループまたはクローズドループ テストに必要なコンピューティングを確立します。
- メタデータとオーケストレーション サービスは、Azure Container Registry アーティファクト ストアを使用して、必要なハイ パフォーマンス コンピューティング (HPC) イメージをマウントおよび構成します。
- ValOps は、車両ソフトウェアに変換および統合され、ソフトウェア アーティファクトとして保存された AD および ADAS 機能のトレーニング済み認識スタックを受け取ります。
- 検証エンジニアまたは GitOps エンジニアは、テスト トリガーを手動でトリガーできます。 ツールチェーンは、ソフトウェア スタック コンテナーとビルドの定義をプルします。
- その後、ツールチェーンとオーケストレーション サービスは、ソフトウェア コンテナーを構築、検証、リリースするために必要なインフラストラクチャをデプロイすることで、テスト プロセスをトリガーします。
- オーケストレーション サービスは、メタデータを使用して HPC クラスターでジョブの送信を呼び出します。
- Azure Batch はジョブの送信を実行し、主要業績評価指標 (KPI) メトリックを専用のストレージ アカウントに保存します。 結果はストレージ システムに保存され、視覚化のために Azure Data Explorer にオフロードされます。 検証エンジニアは、Microsoft Fabric コパイロットを使用して、データの変換と分析、分析情報の生成、Fabric と Power BI での視覚化とレポートの作成を行うこともできます。
コンポーネント
- Batch は、Azure で効率的で大規模な並列ジョブと HPC バッチ ジョブを実行します。 このソリューションでは、Batch を使用して、再シミュレーション ジョブやクローズドループ テストなどのタスク用の大規模なアプリケーションを実行します。
- Eclipse Symphony は、複数のインテリジェント エッジ サービスの管理と統合をシームレスなエンドツーエンド エクスペリエンスに簡素化するサービス オーケストレーション エンジンです。 Eclipse Symphony を使用すると、エンドツーエンドのオーケストレーションが可能になり、さまざまなシステムとツールチェーン間で一貫したワークフローを作成できます。 ソフトウェア定義車両 (SDV) ツールチェーンでは、メイン オーケストレーター ワークフローとして Eclipse Symphony が使用されます。
- Deployment Environments は、開発チームがプロジェクト ベースのテンプレートを使用して、一貫性のある安全なインフラストラクチャを迅速に作成および管理するためのサービスです。 Deployment Environments を使用することで、組織は ValOps を実装して、テンプレート ベースのインフラストラクチャを迅速かつ簡単に作成できます。 SDV ツールチェーンは Deployment Environments を使用して、一貫性のある安全なテスト インフラストラクチャを作成します。
- Azure Data Lake Storage は、大量のネイティブ データを未加工形式の状態で保持します。 このソリューションで、Data Lake Storage は、未加工データや抽出されたデータなど、ステージに基づいてデータを格納します。
- Fabric は、リアルタイム分析とビジネス インテリジェンスを組み込んだオールインワンの分析ソリューションです。 このソリューションでは、検証エンジニアは Fabric を使用してさまざまなレポートを迅速に生成します。 これらのレポートには、複数のプロジェクト、バリアント、および製品の ValOps に関する分析レポートとビジネス レポートが含まれます。
- Container Registry は、コンテナー イメージのマネージド レジストリを作成するサービスです。 このソリューションでは、Container Registry を使用して、自動運転スタックのモデルやその他のソフトウェア モジュールのコンテナーを保存します。
- Azure Virtual Network は、Azure Virtual Network は、Azure コンポーネントが相互に通信するための、分離された安全かつスケーラブルなプライベート ネットワークを作成するための基本的な構成要素です。
- Azure Firewall は、組み込みの高可用性と無制限なクラウド スケーラビリティによって仮想ネットワーク リソースを保護する、クラウドネイティブ ネットワーク セキュリティ サービスです。 Azure Firewall を使用すると、トラフィックの急増や攻撃からネットワークを保護できます。
- Azure Private Link は、プライベート仮想ネットワーク内でプライベート IP アドレスを使用するネットワーク インターフェイスです。 Private Link は、リソース間にプライベート接続を作成し、プライベート仮想ネットワーク内のサービスをセキュリティで保護します。
- Azure ExpressRoute は、プライベート接続を介してオンプレミス ネットワークを Microsoft Cloud に拡張するサービスです。 このアプローチでは、一般的なインターネット接続よりも優れた信頼性、速度、セキュリティが提供されます。 ValOps で ExpressRoute を使用すると、オンプレミス ネットワークを組織のハードウェアインザループ (HIL) リグが存在する場所まで拡張できます。
- Azure Arc は、オンプレミス、マルチクラウド、エッジ環境全体でリソースを管理および保護できるように、Azure の管理とサービスをあらゆるインフラストラクチャに拡張するサービスです。 ValOps では Azure Arc によって、Azure 以外のリソースやオンプレミスのリソース (HIL リグなど) をオペレーターが Azure Resource Manager から管理できるようになります。
シナリオの詳細
ValOps フレームワークには、ADAS および AD ソフトウェアのパフォーマンスを厳密にテストして検証するさまざまなシナリオが含まれています。 これらのシナリオには、車線維持やアダプティブ クルーズ コントロールなどの単純な操作から、歩行者、自転車、予測不可能な交通パターンを含む複雑な市街地運転状況まで、合成条件と実世界条件が含まれます。 記録されたセンサー データを再生することで、ソフトウェアが特定のイベントや条件にどのように反応するかを評価できます。
シミュレーターまたは専用のオンプレミス ハードウェアによって実現する動的テスト環境では、周囲の状況に応じて車両の動作をシミュレートすることで、リアルタイムの相互作用とフィードバックが可能になります。 この包括的なアプローチにより、ソフトウェアの堅牢性および信頼性とともに、実際の運転で遭遇する可能性のあるさまざまな課題に対処できることを確認できます。
テスト方法
ValOps フレームワークでは、ADAS および AD ソフトウェアの堅牢性と信頼性を確保するために、オープンループ テストとクローズドループ テストという 2 つの主要なテスト方法を使用します。
オープンループ テストでは、進行中のシミュレーションに影響を与えるフィードバックなしで、定義済みの入力に対するシステムの応答を評価します。 この方法では、記録されたセンサー データを再生し、制御された条件下でソフトウェアがこのデータをどのように処理しているかを評価できます。 オープンループ テストは、ソフトウェアの意思決定プロセスを外部的な可変要素から分離して評価するため、初期検証とデバッグに役立ちます。
以下は、オープンループ テストの例です。
再シミュレーション (再計算) は、記録されたセンサー データをクラウドベースのグラフを介して再生し、AD 機能を検証するプロセスです。 この複雑なプロセスには、安全性、データ プライバシー、データのバージョン管理、監査に重点を置いた、政府規制への徹底した準拠と広範な開発が必要になります。
再シミュレーションは、数万基ものコアを使用し、30 GBps を超える高い入出力 (I/O) スループットを必要とする、数百ペタバイトなどの膨大な量のデータを処理する大規模な並列コンピューティング ジョブです。 その出力を使用して、再生とスコアリングを使用して回帰を特定することにより、地上検証データに対してデータ処理アルゴリズムを検証します。
センサー処理では、カメラ画像、LiDAR、レーダー データなど未加工のセンサー データを分析および処理して、自律システムの認識アルゴリズムをテストします。
アルゴリズム検証では、事前に記録されたデータを使用して、オブジェクト検出や車線維持などの機能の個々のアルゴリズムをテストし、さまざまな条件下で正しく動作することを確認します。
シナリオ ベースのテストでは、シナリオベースのテストでは、事前に定義された多様なシナリオを通じてシステムを実行し、横断歩道、合流、悪天候などのさまざまな状況でのパフォーマンスを評価します。
クローズドループ テストでは、進行中のシミュレーションにシステムの動作が影響するような、動的な環境を作成します。 このフィードバック ループにより、車両とその周囲との間でリアルタイムの相互作用が可能になります。 リアルタイムの相互作用により、ソフトウェアのパフォーマンスをより現実的に評価できます。 クローズドループ テストは、変化する条件に適応し、実際のシナリオで意思決定を行うシステムの能力を評価するために不可欠です。
以下は、クローズドループ テストの例です。
ソフトウェア イン ザ ループ (SIL) テストは、シミュレートされた環境で AD システムのソフトウェア コンポーネントをテストするテスト手法です。 このテストでは、実際のハードウェアを模倣する仮想プラットフォームでソフトウェアを実行します。 SIL テストでは、物理ハードウェアを使用せずに機能とパフォーマンスを検証できます。 このアプローチはコスト効率が高く、問題を早期に特定するために役立ちます。 制御された反復可能な環境で、アルゴリズム、制御ロジック、センサー データ処理をテストする場合に便利です。
ADAS と AD のシミュレーションでは、コンピューター モデルを使用して仮想環境で車両の動作を再現します。 この再現により、エンジニアはコストをかけず、実際のリスクがない状態で、パフォーマンスと安全性を評価できます。 この手法では、障害物の検出、気象条件、複雑な交通シナリオなど、多様な要素をテストします。 合成データとテスト フリート データを使用して、大規模なシミュレーションを実行できます。これにより、トレーニングとオープンループ検証のシーケンスが生成されます。
Hardware-in-the-loop (HIL) テストでは、実際のハードウェア コンポーネントがテスト ループに統合されます。 AD システムの一部であるセンサー、コントロール ユニット、アクチュエータなどの実際のハードウェア デバイスで、ソフトウェアのテストが行われます。 HIL テストでは、ソフトウェアと物理ハードウェア間の相互作用を考慮して、システムのパフォーマンスをより現実的に評価できます。 実際の状況下でのシステムの動作を検証し、ハードウェア コンポーネントとソフトウェア コンポーネントがシームレスに連携して動作することを保証するために不可欠なテストです。
HIL テストは、ハードウェア関連の問題を特定し、システム全体の信頼性と安全性を検証するために重要です。 HIL テストには、オンプレミス環境に配置する必要があるカスタム ハードウェア デバイスが必要です。 Azure では、オンプレミス環境でハードウェア デバイスやその他のアプライアンスとやり取りするためのさまざまなアプローチを使用できます。 ValOps アーキテクチャの一部には、Azure Arc を使用するハイブリッド アプローチが含まれています。Azure Arc は、Azure 以外のリソースやオンプレミスのリソース (HIL リグなど) をオペレーターが Resource Manager から管理する方法を提供します。 組織は、Microsoft 以外のクラウド プロバイダーまたは独自のオンプレミス データセンターと連携して HIL リグをホストし、ValOps デプロイを通じてクラウドおよび HIL システムを管理できます。
ドライバー イン ザ ループ (DIL) テストには、システムのパフォーマンスと、システムの動作に対するドライバーの反応を評価するために、シミュレーションとやり取りする人間のドライバーが参加します。
ビークル イン ザ ループ (VIL) テストでは、車両とその周囲をシミュレートし、制御された環境に車両全体を配置して、実際のシナリオでのシステムのパフォーマンスを評価します。
シナリオ ベースのテストは、オープンループ テストに似ていますが、クローズドループ設定です。 さまざまな定義済みシナリオでシステムをテストし、リアルタイムの意思決定と制御機能を評価します。
Note
この記事では、ValOps スコープ内の DIL および VIL テストについては取り上げていません。
オープンループ テストとクローズドループ テストを組み合わせることで、AD システムの安全性と有効性を検証するための包括的なアプローチが実現します。
シナリオ管理
AD システムのテストにおける重要な要素は、多様で広範な一連のシナリオにわたってシステムを検証することです。 オープンループ テストとクローズドループ テストで AD 機能を検証するには、実際のシナリオのカタログを使用して、自律運転車の動作をシミュレートする AD ソリューションの機能をテストします。
ValOps 内では、シナリオ管理を使用してシナリオ カタログの作成を高速化します。 シナリオ管理では、シナリオの一部であるルート ネットワークを、一般に公開され自由に利用できるデジタル マップから自動的に読み取ります。 シナリオは、センサーから収集した実際のデータに基づいて作成することも、ソフトウェアの特定の側面をテストするために合成して生成することもできます。
たとえば、シナリオには次のようなものがあります。
- 直線道路運転: 直線の高速道路で車線維持と速度制御をシステムがどのように処理するかをテストします。
- 交差点処理: 交差点の処理: 信号、一時停止標識、交差点を横断する歩行者に対するシステムの応答を評価します。
- 障害物検出: 駐車中の車や移動中の車両など、静的および動的な障害物を検出して対応するソフトウェアの能力を評価します。
- 悪天候: 雨、霧、雪などのシナリオをシミュレートして、センサー データの処理と意思決定の堅牢性をテストします。
これらのシナリオを体系的に使用することで、より複雑なクローズドループ テストに進む前に、ソフトウェアのロジックとパフォーマンスの潜在的な問題を特定して対処できます。
シナリオ管理を適切に行うには、以下が必要になります。
- OpenDRIVE の .xodr などのオープン フォーマットをサポートすること。
- Cognata、Ansys、dSPACE などのプロバイダーから提供されている非 Microsoft ツールを検討すること。
- OpenDRIVE 形式もサポートする軽量なオープンソース ソフトウェアの代替として CARLA を検討すること。 詳しくは、「CARLA 用 ScenarioRunner」をご覧ください。
測定と KPI の視覚化
オープンループ シミュレーションとクローズドループ シミュレーションの出力により、測定と KPI が生成されます。 これらの出力を使用して、ADAS および AD ソフトウェア スタックのパフォーマンスを検証し、改善すべき領域を特定します。 Fabric と Power BI は、これらの測定と KPI の視覚化をサポートします。 Fabric コパイロットは、検証エンジニアによるデータの変換と分析、分析情報の生成、視覚化の作成を支援します。 次の図は、Fabric で測定と KPI の結果を収集して保存するアーキテクチャを示しています。
Azure Data Explorer の DirectQuery コネクタを使用し、オブジェクトまでの距離のメトリックなどの結果を Power BI レポートまたはダッシュボードで直接視覚化し、分析します。 再シミュレーションまたは再計算の実行結果をレポートに表示する方法の例を次に示します。
考えられるユース ケース
ValOps は、AD ソフトウェアの検証用に特別に設計されています。 自動車業界の厳しい認定要件では、業界標準と安全性への厳密な準拠が求められます。 また、大規模な検証を実行するには、多数の HPC クラスターも必要になります。 製造、医療、金融分野など、同様の要件がある他の業界でも、このガイダンスを使用できます。
代替
このソリューションでは、次の Azure サービスを検討することもできます。
Azure Kubernetes Service (AKS)
Batch は、マネージド サービスとしてスケジュール設定と動的オーケストレーションをパートナーに提供する Azure ネイティブ オプションです。 HPC クラスターのシミュレーション ワークロードを調整する Batch の代替手段には、Azure Kubernetes Service (AKS) があります。 AKS を使用すると、パートナーは Kubernetes などの使い慣れたポピュラーなオープン ソース サービスにより、マネージド サービスの信頼性とスケーラビリティのメリットを享受できます。 既に AKS または Kubernetes を使用しているパートナーには、引き続き AKS を使用するか、HPC クラスターに AKS を使用することをお勧めします。
AKS ベースのアーキテクチャ
アーキテクチャの概要
ValOps に AKS を使用すると、コンテナー化されたシミュレーション ソフトウェアを Azure Virtual Machines (VM) のクラスターにデプロイして管理できます。 Batch を使用した ValOps 実装と同様に、シミュレーション データを Data Lake Storage に保存することもできます。 このアプローチにより、大規模なデータ セットを処理するためのスケーラビリティとセキュリティが実現します。 Azure Machine Learning を使用すると、シミュレーション データで機械学習モデルをトレーニングし、ADAS および AD システムのパフォーマンスの向上を図ることができます。
Batch では HPC ワークロードのスケジュールとオーケストレーションが行われるため、ワークロードをスケジュールできる必要があります。 ワークロードをスケジュールする 1 つのオプションは、外部オーケストレーターおよびスケジューラーとして、持続的関数を使用することです。 持続的関数では、メタデータ データベースから読み取り、検証が必要なシーケンスを決定し、それらをバッチにまとめて並列処理できます。 これらのバッチはイベントとして Kafka などの作業キューに送信されます。各イベントは持続的関数のアクティビティを表します。 Durable Functions は状態管理を提供し、Azure Data Factory または Fabric パイプラインにシームレスに統合できます。 Eclipse Symphony などのオーケストレーターから呼び出すこともできます。
このアプローチは、Kubernetes ドキュメントで説明されている作業キュー ジョブ スケジューリング パターンと一致しています。 水平方向のスケーラビリティを実現するには、作業キューまたは Kafka トピックをリッスンするように複数のポッドを構成できます。 システムは、持続的関数を通じてイベントを受け取ります。 ポッドの 1 つがイベントを消費し、チャンクまたはバッチの再処理または再シミュレーションを実行します。
次の図は、タスク チェーンの一部として持続的関数を呼び出す Data Factory フローの例を示しています。
コンポーネント
- AKS は、組み込みのセキュリティと監視機能を備え、コンテナ化されたアプリケーションのデプロイ、管理、スケーリングを簡素化するマネージド Kubernetes サービスです。 AKS を使用すると、オープン ループ テストやクローズド ループ テストなどの検証ユース ケース用に Kubernetes クラスターをデプロイできます。
- Durable Functions は、ステートフルなワークフローを記述し、サーバーレス環境で複雑かつ実行時間の長いプロセスを調整するために使用できる、Azure Functions の機能です。 持続的関数は、AKS クラスターの外部オーケストレーターおよびスケジューラとして使用できます。
- Kafka は、高パフォーマンスのデータ パイプライン、ストリーミング分析、データ統合、ミッション クリティカルなアプリケーションに使用できるオープンソースの分散イベント ストリーミング プラットフォームです。 Kafka を使用すると、ワークフロー パイプラインでトリガーされるイベント ソーシングを処理できます。
- Azure ストレージ アカウントは、BLOB、ファイル、キュー、テーブルなどの Azure Storage データ オブジェクトを保存および管理するための一意の名前空間を提供します。 一意の名前空間により、ストレージ アカウントの持続性、高可用性、スケーラビリティが確保されます。 ストレージ アカウントを使用すると、シミュレーション データと結果を保存できます。
次の非 Microsoft ツールは、AKS でのジョブのスケジュール設定とオーケストレーションの代替オプションです。
- Apache Airflow は、組織がワークフローのスケジュール設定と監視に使用できるオープンソース プラットフォームです。 Data Factory のマネージド サービスとして現在、プレビューで利用可能です。
- Kubeflow は、Kubernetes で実行されるワークフローのデプロイを簡素化するオープンソース プロジェクトです。
考慮事項
以降の考慮事項には、ワークロードの品質向上に使用できる一連の基本原則である Azure "Well-Architected Framework" の要素が組み込まれています。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。
コストの最適化
コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳細については、「コスト最適化の設計レビュー チェックリスト」を参照してください。
ISO 26262 などの規格に準拠するには、多くの場合、自動車システムの安全性と信頼性を確保するために、より多くのテスト時間、より忠実度の高いシミュレーション、および広範なデータ処理が必要になります。 これらの要件により、包括的なテストの実行にはより多くのリソースが必要になるため、コンピューティング コストが増加します。 組織の ValOps 実装のコストを最適化するには、リソースを適切なサイズにすることが重要です。 これに対応するには、自動スケーリング、Microsoft Cost Management、リソース割り当ての最適化、およびスケーリング戦略を使用できます。 詳細については、スケーリング コストの最適化に関する記事を参照してください。
さまざまな種類のコンピューティング コスト モデルとプロファイルを使用して、組織のコストを削減するのに役立つその他の推奨事項を次に示します。
- VM セレクター ガイドを使用して、ジョブに適した VM を選択します。
- ニーズに基づいて Azure リソースをデプロイします。 価値の追加につながらないコンポーネントや、要件を満たさないコンポーネントのデプロイは避けてください。
- Batch とパフォーマンスの効率ガイドで説明されているベスト プラクティスに組織が従っていることを確認します。
- 組織が AKS スケーリングのベスト プラクティスに従っていることを確認します。
- アプリケーション コードをホストするための Azure オファリングを活用します。 デプロイに適したサービスを選択する方法のガイダンスについては、「Azure コンピューティング サービスを選択する」を参照してください。
- ストレージ層を使用して、優れたコスト効率でコールド データを保存します。 詳細については、アクセス層の概要と、ストレージに関するその他のコスト ガイダンス (Azure Blob Storage コスト最適化ガイド) を参照してください。
組織のユースケースに最適なVMコストオプションを選択してください。
- 従量課金制は、消費量に基づく料金モデルであり、消費分が支払いの対象になります。 従量課金制モデルは、計画外の対話型ジョブに適用できます。
- 予約インスタンスは、シミュレーションやオープンループ/クローズドループ テストのような、バッチ ジョブや長時間実行ジョブなどの長期的なワークロードに対してコスト効率が高くなります。
- スポット インスタンスは、Dev/Test ジョブなど、完了までのタイムラインが厳密でないジョブに役立ちます。 たとえば、研究者は、ワークロードに対して時間の影響を受けることなく、一連のシナリオに対して実験モデルの検証を行う場合があります。
オペレーショナル エクセレンス
オペレーショナル エクセレンスは、アプリケーションをデプロイし、それを運用環境で実行し続ける運用プロセスをカバーします。 詳細については、「オペレーショナル エクセレンスのデザイン レビュー チェック一覧」を参照してください。
ValOps には、次の主要なソフトウェア エンジニアリング戦略が組み込まれています。
コードとしてのインフラストラクチャ (IaC) を使用して、デプロイを自動化し、一貫性を維持します。 Bicep、Azure Resource Manager テンプレート (ARM テンプレート)、Terraform などのアプローチを使用できます。
自動テストを義務付けることで、自律運転車ソフトウェアの検証におけるオペレーショナル エクセレンスを実現します。 自動テストにより、人的介入を最小限に抑えながら一貫したパフォーマンスが保証されます。 このアプローチは、人為的ミスを減らし、効率を高めることで、信頼性と再現性の高い結果につながります。 自動テストは、エッジ ケースや頻度の低いイベントなど、さまざまな運転シナリオをシミュレートします。 このプロセスは、安全性と信頼性を確保するために不可欠です。 継続的インテグレーションと継続的デリバリーにより、コード変更に関する即時のフィードバックが可能になり、問題解決の加速と高い品質基準の維持につながります。 自動テストでは、手動テストで実現不可能な大量のテストケースや複雑なシナリオを処理できます。 これにより、さまざまな条件下でのセンサー データ処理、意思決定アルゴリズム、制御ロジックの包括的なカバレッジと堅牢な検証が保証されます。
自動テストを義務付けることで、組織は検証プロセスを合理化し、コストを削減して、自律運転車運用の全体的な信頼性と安全性を向上させることができます。 組織は、ソフトウェアが厳格な安全基準を満たしていて、実際の状況で確実に動作することを保証できます。
Azure リソースのパフォーマンスと使用状況を定期的に監視して、コストの最適化とパフォーマンスの強化を図ります。 Azure Monitor や Microsoft Cost Management などのツールを使用します。
HPC クラスターの場合は、各コンピューティング ノードで Azure HPC 正常性チェックを使用して、ノードが正常に動作していることを確認します。 正常でないノードでのジョブのスケジューリングや実行を回避するには、該当するノードにダウンまたはオフラインとしてマーク付けします。 正常性チェックは、構成の誤り、ハードウェア障害、その他の要因による予防可能なジョブの失敗を減らすことで、クラスターの信頼性とスループットの向上を支援します。
パフォーマンス効率
パフォーマンス効率とは、ユーザーからの要求に合わせて効率的な方法でワークロードをスケーリングできることです。 詳細については、「パフォーマンス効率の設計レビュー チェックリスト」を参照してください。
リージョン間の待機時間を回避するには、ValOps データに使用するストレージの場所とコンピューティングの場所を同じリージョンにします。
画像やビデオ ファイルなどの大規模なデータセットに Azure Files を使用することはお勧めしません。 高い I/O パフォーマンスを必要とする小さめのオブジェクトの場合は、他のストレージ ソリューションを検討してください。 Azure Files を使用すると、一貫してストレージ待機時間を小さくする必要がある機械学習トレーニングやその他のワークロードで、速度が低下する可能性があります。 コスト効率を維持しながら最高レベルのパフォーマンスを得るには、Blob Storage または Data Lake Storage によるオブジェクト ストレージの使用をお勧めします。
ValOps のような HPC アプリケーションでは、ストレージのパフォーマンスが重要です。 Standard Azure Blob を使用する Blob Storage アカウントでは、1 秒あたり数テラビットのパフォーマンスを実現できます。 小さなオブジェクトの読み取りの繰り返しなど、迅速な応答と一貫した低待機時間のシナリオが必要な場合は、Premium ブロック BLOB ストレージ アカウントを使用する必要があります。 詳細については、「BLOB ストレージのパフォーマンスとスケーラビリティのチェックリスト」を参照してください。
ストレージ アカウントをマウントするときは、ネットワーク ファイル システム (NFS) などの古いプロトコルではなく、BlobFuse2 を使用します。 BlobFuse2 はストレージ用に設計されており、検証済みのエンドツーエンドのキャッシュとストリーミング パフォーマンスを提供します。 この機能により、データ アクセスの効率が向上し、反復アクセス シナリオでの待機時間が短縮されます。 読み取りと書き込みの速度を大幅に向上させる、プリフェッチによるブロック キャッシュなどの高度なキャッシュ メカニズムがサポートされています。 このように機能強化されているため、Batch のハイ パフォーマンス コンピューティング タスクに最適です。
従来の仮想システム マウントや NFS では待機時間が長くなり、スループットが低下する可能性がありますが、BlobFuse2 では Azure インフラストラクチャを使用して、より高速なデータ転送速度と優れたスケーラビリティを実現します。 これらの結果、大規模なデータセットの処理効率が向上し、自律走行車の ValOps の全体的なパフォーマンスが向上します。 詳細については、「BlobFuse とは」を参照してください。
スクリプトを使用して Blobfuse2 をマウントすると、既存のワークフローをシームレスに統合できます。
Storage のスケーラビリティとパフォーマンスのターゲットに関する記事を参照してください。
シミュレーション要件に基づき、Batch を使用して、サービス レベル目標の要件を満たすために必要なコンテナーまたは VM を設定および管理できます。 このタスクには以下の作業が含まれます。
- 必要なコンテナーまたは VM をプロビジョニングする。
- これらのリソースが継続的に使用可能であることを確認する。
- これらのリソースの可用性とパフォーマンスを、合意したサービス レベルに合わせる。
セキュリティ
セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの設計レビュー チェックリスト」を参照してください。
自動車メーカーと Microsoft との責任の分担を理解することが重要です。 車両では、メーカーはスタック全体を所有しますが、データがクラウドに移動すると、責任の一部は Microsoft に移行します。 Azure PaaS (サービスとしてのプラットフォーム) レイヤーでは、オペレーティング システムなど、物理スタックにセキュリティが組み込まれています。 既存のインフラストラクチャ セキュリティ コンポーネントには、次の機能を追加できます。
暗号化キー、証明書、接続文字列、パスワードなど、機密性の高いビジネスに不可欠な要素を扱う場合は、エンドツーエンドのセキュリティを維持するために Azure Key Vault を使用します。 Key Vault は、ソフトウェア開発とサプライ チェーンのプロセス全体を強化する堅牢なソリューションを提供します。 Key Vault は、自動車アプリケーションが使用されている機密性の高い資産を安全に保存および管理するために役立ちます。 また、サイバー セキュリティの脅威の危険性からこれらの資産を常に保護するためにも役立ちます。 ロールベースのアクセス制御 (RBAC) を使用して重要なリソースへのアクセスとアクセス許可を規制すれば、セキュリティをさらに強化できます。
規制要件により、専用ハードウェアを使用して強化されたセキュリティ ソリューションが求められる場合は、Azure Key Vault マネージド HSM の使用を検討してください。 さらに厳しい要件の場合は、Azure Cloud HSM (旧称 Azure Dedicated HSM) を検討してください。
厳格なデータ ガバナンスの AD データ要件に対応するには、Microsoft Purview を使用します。 これらの要件は、データの分類、系列、追跡、コンプライアンスに役立ちます。 これらの要件に対応することにより、組織のデータがコンプライスに準拠してセキュリティで保護され、適切に管理されていることを確認できます。 データ コンプライアンスの適用は、安全で信頼性の高い自律運転車の開発とデプロイをサポートします。
組織の Azure リソース全体にコンプライアンスとガバナンスのルールを適用するには、Azure Policy を使用します。
最小限の特権に基づいてユーザーとサービスにアクセス許可を付与するには、RBAC を実装します。
セキュリティの脅威を予防的に監視して軽減するには、Microsoft Defender for Cloud を使用します。
保存データの暗号化を確実に行うには、ネイティブの Azure Storage およびデータベース サービスを使用します。 詳細については、「データ保護に関する考慮事項」を参照してください。
セキュリティの脅威を予防的に監視して軽減するには、Microsoft Defender for Cloud を使用します。
このシナリオのデプロイ
このシナリオをデプロイするには、いくつかのオプションがあります。
- dSPACE は、Microsoft と共同で、AD 用の機能をシミュレートおよび検証するように設計されたソフトウェア ソリューションである SIMPHERA を開発しました。 SIMPHERA をデプロイするには、この リポジトリの手順を参照してください。
- Ansys は Microsoft と協力し、この参照アーキテクチャに沿ってデプロイ可能なソリューションを開発しました。 このソリューションは、Azure Marketplace でデプロイできます。
- Cognata SimCloud は、検証プロセスを強化できる、デプロイ可能なシミュレートされたテスト ドライブ環境です。 SimCloud は、きわめて正確な結果を高速で生成し、安全性に関する懸念を軽減します。 さらに、物理的な現実世界での路上テストにはコストが高くスケーラビリティが限られているという課題が存在しますが、SimCloud を使用するとこれらに対処できます。
共同作成者
この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。
プリンシパルの作成者:
- Ryan Matsumura | シニア プログラム マネージャー、MCI SDV & モビリティ
- Jochen Schroeer | プリンシパル アーキテクト (サービス ライン モビリティ)
- Gabriel Sallah | シニア スペシャリスト GBB
- Wolfgang De Salvador | シニア スペシャリスト GBB
- Lukasz Miroslaw | シニア スペシャリスト GBB
- Benedict Berger | シニア プロダクト マネージャー
その他の共同作成者:
- Felipe Prezado | プリンシパル プログラム マネージャー、MCI SDV モビリティ
公開されていない LinkedIn プロフィールを見るには、LinkedIn にサインインしてください。
次のステップ
関連リソース
AD システム用の DataOps の開発方法の詳細については、以下を参照してください。
必要に応じて次の関連する記事も参照してください。