ADAS(고급 운전자 지원 시스템) 및 AD(자율 주행)에 대한 ValOps(유효성 검사 작업) 테스트는 AVOps(자율 주행 차량 운영) 설계의 중요한 요소입니다. 이 문서에서는 AD 시스템의 안정성과 안전을 보장하는 ValOps 테스트 솔루션을 개발하기 위한 지침을 제공합니다.
이 지침에 따라 Azure를 사용하여 광범위하고 확장 가능한 테스트 및 유효성 검사 프로세스를 용이하게 할 수 있습니다. 다양한 시나리오 및 조건에서 소프트웨어 성능을 체계적으로 평가하여 개발 주기 초기에 잠재적인 문제를 식별하고 해결할 수 있습니다. 실시간 신호를 삽입하는 시뮬레이터 또는 특수한 온-프레미스 하드웨어 디바이스를 통해 기록된 센서 데이터를 재생하거나 동적 환경에서 소프트웨어를 테스트하여 이러한 시나리오를 실행할 수 있습니다.
아키텍처
이 문서의 아키텍처 다이어그램이 포함된 Visio 파일을 다운로드합니다.
워크플로
- GitHub 작업은 Azure 배포 환경 내에서 배포 캠페인을 실행하는 메타데이터 및 오케스트레이션 서비스를 트리거합니다.
- 메타데이터 및 오케스트레이션 서비스는 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 심포니는 엔드 투 엔드 오케스트레이션을 사용하도록 설정하고 다양한 시스템과 도구 체인에서 일관된 워크플로를 만듭니다. SDV(소프트웨어 정의 차량) 도구 체인은 Eclipse 심포니를 기본 오케스트레이터 워크플로로 사용합니다.
- 배포 환경 은 개발 팀이 프로젝트 기반 템플릿을 사용하여 일관되고 안전한 인프라를 신속하게 만들고 관리하기 위한 서비스입니다. 조직은 배포 환경을 사용하여 ValOps를 구현하여 템플릿 기반 인프라를 빠르고 쉽게 만들 수 있습니다. SDV 도구 체인은 배포 환경을 사용하여 일관되고 안전하게 테스트 인프라를 만듭니다.
- Azure Data Lake Storage 는 기본 원시 형식으로 많은 양의 데이터를 보유합니다. 이 솔루션에서 Data Lake Storage는 원시 또는 추출된 데이터와 같은 단계에 따라 데이터를 저장합니다.
- 패브릭 은 실시간 분석 및 비즈니스 인텔리전스를 통합하는 올인원 분석 솔루션입니다. 이 솔루션에서 유효성 검사 엔지니어는 Fabric을 사용하여 다양한 보고서를 신속하게 생성합니다. 이러한 보고서에는 여러 프로젝트, 변형 및 제품에 대한 ValOps에 대한 분석 및 비즈니스 보고서가 포함됩니다.
- Container Registry 는 컨테이너 이미지의 관리되는 레지스트리를 만드는 서비스입니다. 이 솔루션은 Container Registry를 사용하여 자동화된 주행 스택에 대한 모델 및 기타 소프트웨어 모듈용 컨테이너를 저장합니다.
- Azure Virtual Network 는 Azure 구성 요소가 서로 통신할 수 있도록 격리되고 안전하며 확장 가능한 프라이빗 네트워크를 만들기 위한 기본 구성 요소입니다.
- Azure Firewall 은 기본 제공 고가용성 및 무제한 클라우드 확장성으로 Virtual Network 리소스를 보호하는 클라우드 네이티브 네트워크 보안 서비스입니다. Azure Firewall을 사용하여 트래픽 급증 및 공격으로부터 네트워크를 보호합니다.
- Azure Private Link 는 프라이빗 가상 네트워크 내에서 개인 IP 주소를 사용하는 네트워크 인터페이스입니다. Private Link는 리소스 간에 프라이빗 연결을 만들고 프라이빗 가상 네트워크 내에서 서비스를 보호합니다.
- Azure ExpressRoute 는 프라이빗 연결을 통해 온-프레미스 네트워크를 Microsoft 클라우드로 확장하는 서비스입니다. 이 접근 방식은 일반적인 인터넷 연결보다 더 많은 안정성, 더 빠른 속도 및 더 높은 보안을 제공합니다. ValOps의 ExpressRoute를 사용하여 온-프레미스 네트워크를 조직의 HIL(하드웨어-인-더-루프) 리그가 있는 위치로 확장합니다.
- Azure Arc 는 온-프레미스, 다중 클라우드 및 에지 환경에서 리소스를 관리하고 보호할 수 있도록 Azure 관리 및 서비스를 모든 인프라로 확장하는 서비스입니다. ValOps에서 Azure Arc는 운영자가 비 Azure 및 온-프레미스 리소스(예: Azure Resource Manager의 HIL 리그)를 관리하는 방법을 제공합니다.
시나리오 정보
ValOps 프레임워크는 ADAS 및 AD 소프트웨어의 성능을 엄격하게 테스트하고 유효성을 검사하는 다양한 시나리오를 포함합니다. 이러한 시나리오에는 차선 유지 및 적응형 크루즈 컨트롤과 같은 간단한 기동부터 보행자, 자전거 운전자 및 예측할 수 없는 교통 패턴을 포함하는 복잡한 도시 주행 상황에 이르기까지 다양한 가상 및 실제 조건이 포함됩니다. 기록된 센서 데이터를 재생하면 소프트웨어가 특정 이벤트 및 조건에 어떻게 반응하는지 평가할 수 있습니다.
시뮬레이터 또는 특수 온-프레미스 하드웨어에 의해 촉진되는 동적 테스트 환경은 주변 환경에 대한 응답으로 차량의 동작을 시뮬레이션하여 실시간 상호 작용 및 피드백을 가능하게 합니다. 이 포괄적인 접근 방식을 통해 소프트웨어가 강력하고 안정적이며 실제 주행에서 발생할 수 있는 다양한 문제를 처리할 수 있도록 할 수 있습니다.
테스트 방법론
ValOps 프레임워크 내에서 두 가지 기본 테스트 방법론을 사용하여 ADAS 및 AD 소프트웨어의 견고성과 안정성을 보장합니다. 즉, 오픈 루프 테스트 및 폐쇄 루프 테스트입니다.
오픈 루프 테스트 는 진행 중인 시뮬레이션에 영향을 주는 피드백 없이 미리 정의된 입력에 대한 시스템의 응답을 평가합니다. 이 방법을 사용하면 기록된 센서 데이터를 재생하고 소프트웨어가 제어된 조건에서 이 데이터를 처리하는 방법을 평가할 수 있습니다. 오픈 루프 테스트는 소프트웨어의 의사 결정 프로세스를 외부 변수와 격리하므로 초기 유효성 검사 및 디버깅에 유용합니다.
다음 목록에서는 오픈 루프 테스트의 몇 가지 예를 설명합니다.
Resimulation 또는 recompute 는 AD 함수의 유효성을 검사하기 위해 클라우드 기반 그래프를 통해 기록된 센서 데이터 재생을 포함하는 프로세스입니다. 이 복잡한 프로세스를 위해서는 안전, 데이터 개인 정보 보호, 데이터 버전 관리 및 감사에 중점을 둔 정부 규정을 광범위하게 개발하고 엄격하게 준수해야 합니다.
다시 자극은 수만 개의 코어를 사용하고 30GBps보다 큰 높은 입력/출력(I/O) 처리량을 요구하여 수백 페타바이트와 같은 대량의 데이터를 처리하는 대규모 병렬 컴퓨팅 작업입니다. 출력을 사용하여 재생 및 점수를 사용하여 회귀를 식별하여 지상 진리에 대한 데이터 처리 알고리즘의 유효성을 검사합니다.
센서 처리 는 카메라 이미지, LiDAR 및 레이더 데이터와 같은 원시 센서 데이터를 분석하고 처리하여 자율 시스템의 인식 알고리즘을 테스트합니다.
알고리즘 유효성 검사는 미리 기록된 데이터를 사용하여 개체 감지 및 레인 유지와 같은 기능에 대한 개별 알고리즘을 테스트하여 다양한 조건에서 올바르게 수행되도록 합니다.
시나리오 기반 테스트 는 다양한 미리 정의된 시나리오를 통해 시스템을 실행하여 횡단 보도, 교통 병합 또는 악천후와 같은 다양한 상황에서 성능을 평가합니다.
폐쇄 루프 테스트 는 시스템의 작업이 진행 중인 시뮬레이션에 영향을 주는 동적 환경을 만듭니다. 이 피드백 루프는 차량과 주변 환경 간의 실시간 상호 작용을 가능하게 합니다. 실시간 상호 작용은 소프트웨어의 성능에 대한 보다 현실적인 평가를 제공합니다. 폐쇄 루프 테스트는 변화하는 조건에 적응하고 실제 시나리오에서 의사 결정을 내리는 시스템의 능력을 평가하는 데 필수적입니다.
다음 목록에서는 닫힌 루프 테스트의 몇 가지 예를 설명합니다.
SIL(Software-in-the-loop) 테스트 는 시뮬레이션된 환경에서 AD 시스템의 소프트웨어 구성 요소를 테스트하는 테스트 방법론입니다. 이 테스트의 경우 실제 하드웨어를 모방하는 가상 플랫폼에서 소프트웨어를 실행합니다. SIL 테스트를 사용하면 물리적 하드웨어를 사용하지 않고도 기능 및 성능의 유효성을 검사할 수 있습니다. 이 비용 효율적인 접근 방식은 문제를 조기에 식별하는 데 도움이 됩니다. 제어되고 반복 가능한 환경에서 알고리즘, 제어 논리 및 센서 데이터 처리를 테스트하는 데 유용합니다.
ADAS 및 AD의 시뮬레이션 은 컴퓨터 모델을 사용하여 가상 환경에서 차량 동작을 복제합니다. 이 복제를 통해 엔지니어는 실제 위험 및 비용 없이 성능 및 안전을 평가할 수 있습니다. 장애물 감지, 기상 조건 및 복잡한 교통 시나리오와 같은 다양한 측면을 테스트합니다. 학습 및 오픈 루프 유효성 검사를 위한 시퀀스를 생성하는 가상 및 테스트 플릿 데이터를 사용하여 대규모로 시뮬레이션을 실행할 수 있습니다.
HIL(하드웨어-인-더-루프) 테스트 는 실제 하드웨어 구성 요소를 테스트 루프에 통합합니다. AD 시스템의 일부인 센서, 제어 장치 및 액추에이터와 같은 실제 하드웨어 디바이스에서 소프트웨어를 테스트합니다. HIL 테스트는 소프트웨어와 물리적 하드웨어 간의 상호 작용을 고려하여 시스템 성능에 대한 보다 현실적인 평가를 제공합니다. 실제 조건에서 시스템 동작의 유효성을 검사하고 하드웨어 및 소프트웨어 구성 요소가 원활하게 함께 작동하도록 하는 것이 중요합니다.
HIL 테스트는 하드웨어 관련 문제를 식별하고 전체 시스템의 안정성과 안전을 확인하는 데 중요합니다. HIL 테스트에는 온-프레미스 환경에 있어야 하는 사용자 지정 하드웨어 디바이스가 필요합니다. Azure는 온-프레미스 환경에서 하드웨어 디바이스 및 기타 어플라이언스와 상호 작용하는 다양한 방법을 제공합니다. ValOps 아키텍처의 일부에는 Azure Arc를 사용하는 하이브리드 접근 방식이 포함됩니다. Azure Arc는 운영자가 Resource Manager의 HIL 리그와 같이 비 Azure 및 온-프레미스 리소스를 관리하는 방법을 제공합니다. 조직은 비 Microsoft 클라우드 공급자 또는 자체 온-프레미스 데이터 센터와 협력하여 ValOps 배포를 통해 HIL 리그를 호스트하고 클라우드 및 HIL 시스템을 관리할 수 있습니다.
DIL(드라이버 인 더 루프) 테스트 는 시뮬레이션과 상호 작용하는 인간 드라이버를 통합하여 시스템의 성능과 시스템 작업에 대한 드라이버의 응답을 평가합니다.
VIL(차량 내 루프) 테스트 는 실제 시나리오에서 시스템의 성능을 평가하기 위해 차량과 주변 환경을 시뮬레이션하는 제어된 환경에 전체 차량을 배치합니다.
시나리오 기반 테스트 는 오픈 루프 테스트와 유사하지만 닫힌 루프 설정에 있습니다. 다양한 미리 정의된 시나리오에서 시스템을 테스트하여 실시간 의사 결정 및 제어 기능을 평가합니다.
참고 항목
이 문서에서는 ValOps 범위 내에서 DIL 및 VIL 테스트를 다루지 않습니다.
오픈 루프 및 폐쇄 루프 테스트는 AD 시스템의 안전성과 효율성을 검증하기 위한 포괄적인 접근 방식을 제공합니다.
시나리오 관리
AD 시스템 테스트의 주요 구성 요소는 다양하고 광범위한 시나리오 집합에서 시스템의 유효성을 검사하는 것입니다. 오픈 루프 및 폐쇄 루프 테스트를 통해 AD 기능의 유효성을 검사하려면 실제 시나리오 카탈로그를 사용하여 자율 주행 차량의 동작을 시뮬레이션하는 AD 솔루션의 기능을 테스트합니다.
ValOps 내에서 시나리오 관리를 사용하여 시나리오 카탈로그 만들기를 가속화합니다. 시나리오 관리는 공개적으로 액세스할 수 있고 자유롭게 사용할 수 있는 디지털 맵에서 시나리오의 일부인 경로 네트워크를 자동으로 읽습니다. 시나리오는 센서에서 수집하는 실제 데이터를 기반으로 하거나 소프트웨어의 특정 측면을 테스트하기 위해 가상으로 생성될 수 있습니다.
예를 들어 시나리오에는 다음이 포함될 수 있습니다.
- 직선 도로 운전 : 시스템이 직선 고속도로에서 차선 유지 및 속도 제어를 처리하는 방법을 테스트합니다.
- 교차로 처리: 교차로에서 횡단하는 교통 신호, 정지 표지판 및 보행자에 대한 시스템의 응답을 평가합니다.
- 장애물 감지: 주차된 자동차 또는 움직이는 차량과 같은 정적 및 동적 장애물을 감지하고 대응하는 소프트웨어의 능력을 평가합니다.
- 악천후: 비, 안개 또는 눈이 내리는 시나리오를 시뮬레이션하여 센서 데이터 처리 및 의사 결정의 견고성을 테스트합니다.
이러한 시나리오를 체계적으로 실행하면 보다 복잡한 폐쇄 루프 테스트로 넘어가기 전에 소프트웨어의 논리 및 성능에서 잠재적인 문제를 식별하고 해결할 수 있습니다.
시나리오 관리를 달성하려면 다음을 수행해야 합니다.
- OpenDRIVE의 .xodr와 같은 개방형 형식을 지원합니다.
- Cognata, Ansys, dSPACE 또는 기타 공급자의 타사 도구를 고려합니다.
- CARLA를 OpenDRIVE 형식을 지원하는 오픈 소스 소프트웨어인 경량 대안으로 간주합니다. 자세한 내용은 CARLA용 ScenarioRunner를 참조하세요.
측정값 및 KPI 시각화
오픈 루프 및 폐쇄 루프 시뮬레이션의 출력은 측정 및 KPI를 생성합니다. 이러한 출력을 사용하여 ADAS 및 AD 소프트웨어 스택의 성능에 대한 유효성을 검사하고 개선할 영역을 식별합니다. 패브릭 및 Power BI는 이러한 측정값 및 KPI 시각화를 지원합니다. 패브릭 부조종사 로 유효성 검사 엔지니어가 데이터를 변환 및 분석하고, 인사이트를 생성하고, 시각화를 만들 수 있습니다. 다음 다이어그램에서는 측정값 및 KPI 결과를 패브릭에 수집하고 저장하는 아키텍처를 보여 줍니다.
Azure Data Explorer의 DirectQuery 커넥터를 사용하여 Power BI 보고서 또는 대시보드에서 거리-개체 메트릭과 같은 결과를 직접 시각화하고 분석합니다. 다음은 보고서가 재이미션 또는 다시 계산 실행의 결과를 표시하는 방법의 예입니다.
잠재적인 사용 사례
ValOps는 AD 소프트웨어의 유효성 검사를 위해 특별히 설계되었습니다. 자동차 인증에 대한 강력한 요구 사항은 산업 표준 및 안전을 엄격하게 준수해야 합니다. 또한 대규모로 유효성 검사를 수행하려면 다양한 HPC 클러스터가 필요합니다. 이러한 요구 사항을 따르는 제조, 의료 및 금융 부문과 같은 다른 산업도 이 지침을 사용할 수 있습니다.
대안
이 솔루션에 대해 다음 Azure 서비스를 고려할 수도 있습니다.
AKS(Azure Kubernetes Service)
Batch는 파트너에게 관리되는 서비스로 예약 및 동적 오케스트레이션을 제공하는 Azure 네이티브 옵션을 제공합니다. HPC 클러스터에 대한 시뮬레이션 워크로드를 오케스트레이션하기 위한 Batch의 대안은 AKS(Azure Kubernetes Service)입니다. AKS를 통해 파트너는 Kubernetes와 같은 친숙하고 인기 있는 오픈 소스 서비스를 사용하고 관리되는 서비스의 안정성과 확장성을 활용할 수 있습니다. AKS 또는 Kubernetes를 이미 사용하고 있는 파트너의 경우 AKS를 계속 사용하거나 HPC 클러스터에 AKS를 사용하는 것이 좋습니다.
AKS 기반 아키텍처
아키텍처 개요
ValOps용 AKS를 사용하는 경우 Azure VM(Virtual Machines) 클러스터에서 컨테이너화된 시뮬레이션 소프트웨어를 배포하고 관리할 수 있습니다. Batch를 사용하는 ValOps 구현과 마찬가지로 Data Lake Storage에 시뮬레이션 데이터를 저장할 수 있습니다. 이 방법은 큰 데이터 집합을 처리하기 위한 확장성 및 보안을 제공합니다. Azure Machine Learning을 사용하여 시뮬레이션 데이터에 대한 기계 학습 모델을 학습시켜 ADAS 및 AD 시스템의 성능을 향상시킬 수 있습니다.
Batch는 HPC 워크로드에 대한 예약 및 오케스트레이션을 제공하므로 워크로드를 예약할 수 있어야 합니다. 워크로드를 예약하는 한 가지 옵션은 지속성 함수를 외부 오케스트레이터 및 스케줄러로 사용하는 것입니다. 지속성 함수는 메타데이터 데이터베이스에서 읽어 유효성 검사가 필요한 시퀀스를 결정하고 병렬 처리를 위해 일괄 처리로 청크할 수 있습니다. 이러한 일괄 처리를 Kafka와 같은 작업 큐에 이벤트로 보냅니다. 여기서 각 이벤트는 지속성 함수의 활동을 나타냅니다. 지속성 함수는 상태 관리를 제공하며 Azure Data Factory 또는 패브릭 파이프라인에 원활하게 통합할 수 있습니다. 또한 Eclipse 심포니와 같은 오케스트레이터에서 호출할 수도 있습니다.
이 방법은 Kubernetes 설명서에 설명된 작업 큐 작업 예약 패턴과 일치합니다. 수평적 확장성을 달성하기 위해 작업 큐 또는 Kafka 토픽을 수신 대기하도록 여러 Pod를 구성할 수 있습니다. 시스템은 지속성 함수를 통해 이벤트를 수신합니다. Pod 중 하나는 이벤트를 사용하고 청크 또는 일괄 처리의 재처리 또는 재이미션을 수행합니다.
다음 다이어그램에서는 작업 체인의 일부로 지속성 함수를 호출하는 Data Factory 흐름의 예를 보여 줍니다.
구성 요소
- AKS 는 기본 제공 보안 및 모니터링을 사용하여 컨테이너화된 애플리케이션의 배포, 관리 및 크기를 간소화하는 관리되는 Kubernetes 서비스입니다. AKS를 사용하여 오픈 루프 또는 폐쇄 루프 테스트와 같은 유효성 검사 사용 사례를 위해 Kubernetes 클러스터를 배포합니다.
- 지속성 함수는 상태 저장 워크플로를 작성하고 서버리스 환경에서 복잡한 장기 실행 프로세스를 오케스트레이션하는 데 사용할 수 있는 Azure Functions의 기능입니다. AKS 클러스터에 대한 외부 오케스트레이터 및 스케줄러로 지속성 함수를 사용할 수 있습니다.
- Kafka 는 고성능 데이터 파이프라인, 스트리밍 분석, 데이터 통합 및 중요 업무용 애플리케이션에 사용할 수 있는 오픈 소스 분산 이벤트 스트리밍 플랫폼입니다. Kafka를 사용하여 워크플로 파이프라인에서 트리거되는 이벤트 소싱을 처리합니다.
- Azure Storage 계정은 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 비용 옵션을 선택합니다.
- 종량제는 소비량에 대해 지불하는 소비 기반 가격 책정 모델입니다. 종량제 모델은 계획되지 않은 대화형 작업에 적용할 수 있습니다.
- 예약 인스턴스는 일괄 처리 및 시뮬레이션, 오픈 루프 및 폐쇄 루프 테스트와 같은 장기 실행 작업과 같은 장기 워크로드에 비용 효율적일 수 있습니다.
- 스폿 인스턴스는 개발/테스트 작업과 같이 완료를 위한 엄격한 타임라인이 없는 작업에 유용할 수 있습니다. 예를 들어 연구원은 워크로드에 대한 시간 민감도 없이 일련의 시나리오에 대해 실험적 모델의 유효성을 검사해야 할 수 있습니다.
운영 효율성
운영 우수성은 애플리케이션을 배포하고 프로덕션에서 계속 실행하는 운영 프로세스를 다룹니다. 자세한 내용은 Operational Excellence에 대한 디자인 검토 검사 목록을 참조하세요.
ValOps는 다음과 같은 주요 소프트웨어 엔지니어링 전략을 통합합니다.
배포를 자동화하고 IaC(Infrastructure as Code)를 사용하여 일관성 을 유지합니다. Bicep, ARM 템플릿(Azure Resource Manager 템플릿), Terraform 또는 다른 방법을 사용할 수 있습니다.
자율 주행 차량 소프트웨어의 유효성을 검사하는 운영 우수성을 달성하기 위해 자동화된 테스트를 의무화합니다. 자동화된 테스트는 최소한의 사용자 개입으로 일관된 성능을 보장합니다. 이 접근 방식은 사람의 오류를 줄이고 효율성을 높여 안정적이고 반복 가능한 결과를 가져옵니다. 자동화된 테스트는 에지 케이스 및 드문 이벤트를 포함하여 다양한 주행 시나리오를 시뮬레이션합니다. 이 프로세스는 안전성과 안정성을 보장하는 데 매우 중요합니다. 지속적인 통합 및 지속적인 업데이트는 코드 변경에 대한 즉각적인 피드백을 제공하여 문제 해결을 가속화하고 고품질 표준을 유지합니다. 자동화된 테스트는 대량의 테스트 사례와 수동 테스트에 실용적이지 않은 복잡한 시나리오를 처리할 수 있습니다. 다양한 조건에서 센서 데이터 처리, 의사 결정 알고리즘 및 제어 논리에 대한 포괄적인 검사와 강력한 유효성 검사를 보장합니다.
자동화된 테스트를 수행하면 조직은 유효성 검사 프로세스를 간소화하고 비용을 절감하며 자율 주행 차량 운영의 전반적인 안정성과 안전을 향상시킬 수 있습니다. 조직은 소프트웨어가 엄격한 안전 표준을 충족하고 실제 조건에서 안정적으로 수행되도록 할 수 있습니다.
Azure 리소스 의 성능 및 사용량을 정기적으로 모니터링하여 비용을 최적화하고 성능을 향상시킵니다. Azure Monitor 및 Microsoft Cost Management와 같은 도구를 사용합니다.
HPC 클러스터의 경우 각 컴퓨팅 노드에서 Azure HPC 상태 검사를 사용하여 노드가 제대로 작동하는지 확인합니다. 비정상 노드에서 작업을 예약하거나 실행하지 않도록 하려면 작업을 다운 또는 오프라인으로 표시합니다. 상태 검사는 잘못된 구성, 하드웨어 오류 및 기타 요인으로 인한 예방 가능한 작업 실패를 줄여 클러스터의 안정성과 처리량을 높이는 데 도움이 됩니다.
성능 효율성
성능 효율성은 사용자가 배치된 요구 사항을 효율적인 방식으로 충족하기 위해 워크로드의 크기를 조정할 수 있는 기능입니다. 자세한 내용은 성능 효율성에 대한 디자인 검토 검사 목록을 참조하세요.
지역 간 대기 시간을 방지하려면 ValOps 데이터에 사용하는 스토리지 위치가 컴퓨팅 위치와 동일한 지역에 있는지 확인합니다.
이미지 또는 비디오 파일과 같은 큰 데이터 세트에는 Azure Files를 사용하지 않는 것이 좋습니다. 높은 I/O 성능이 필요한 더 작은 개체의 경우 다른 스토리지 솔루션을 고려합니다. Azure Files는 지속적으로 낮은 스토리지 대기 시간이 필요한 기계 학습 학습 또는 기타 워크로드의 속도를 늦출 수 있습니다. 비용 효율성을 유지하면서 최고 수준의 성능을 위해 Blob Storage 또는 Data Lake Storage와 함께 개체 스토리지를 사용하는 것이 좋습니다.
스토리지 성능은 ValOps와 같은 HPC 애플리케이션에서 필수적입니다. 표준 Azure Blob을 사용하는 Blob Storage 계정은 초당 다중 테라비트 성능을 제공할 수 있습니다. 빠른 응답과 짧은 짧은 대기 시간 시나리오(예: 작은 개체의 반복 읽기)가 필요한 경우 프리미엄 블록 Blob Storage 계정을 사용해야 합니다. 자세한 내용은 Blob Storage 성능 및 확장성 검사 목록을 참조 하세요.
스토리지 계정을 탑재할 때 NFS(네트워크 파일 시스템)와 같은 이전 프로토콜 대신 BlobFuse2를 사용합니다. BlobFuse2는 스토리지용으로 설계되었으며 유효성이 검사된 엔드 투 엔드 캐싱 및 스트리밍 성능을 제공합니다. 이 기능은 데이터 액세스 효율성을 향상시키고 반복 액세스 시나리오의 대기 시간을 줄입니다. 읽기 및 쓰기 속도를 크게 향상시키는 프리페치를 사용하는 블록 캐시와 같은 고급 캐싱 메커니즘을 지원합니다. 이러한 향상된 기능은 Batch의 고성능 컴퓨팅 작업에 적합합니다.
더 높은 대기 시간과 낮은 처리량을 경험할 수 있는 기존 가상 시스템 탑재 또는 NFS와 달리 BlobFuse2는 Azure 인프라를 사용하여 더 빠른 데이터 전송 속도와 더 나은 확장성을 제공합니다. 이러한 결과로 큰 데이터 세트를 보다 효율적으로 처리하고 자율 주행 차량 ValOps의 전반적인 성능이 향상됩니다. 자세한 내용은 BlobFuse2란?
기존 워크플로에 원활한 통합을 가능하게 하는 스크립트를 통해 Blobfuse2를 탑재할 수 있습니다.
스토리지의 확장성 및 성능 목표를 참조하세요.
시뮬레이션 요구 사항에 따라 Batch를 사용하여 서비스 수준 목표 요구 사항을 충족하는 데 필요한 컨테이너 또는 VM을 설정하고 유지 관리할 수 있습니다. 이 작업에는 다음이 포함됩니다.
- 필요한 컨테이너 또는 VM 프로비전
- 이러한 리소스를 지속적으로 사용할 수 있는지 확인합니다.
- 이러한 리소스의 가용성 및 성능을 합의된 서비스 수준에 맞춥니다.
보안
우수한 보안은 중요한 데이터 및 시스템에 대한 고의적인 공격과 악용을 방어합니다. 자세한 내용은 보안성에 대한 디자인 검토 검사 목록을 참조하세요.
자동차 제조업체와 Microsoft 간의 책임 나누기를 이해하는 것이 중요합니다. 차량에서 제조업체는 전체 스택을 소유하지만 데이터가 클라우드로 이동함에 따라 일부 책임은 Microsoft로 이전됩니다. Azure PaaS(Platform as a Service) 계층은 운영 체제를 포함하여 물리적 스택에 기본 제공 보안을 제공합니다. 기존 인프라 보안 구성 요소에 다음 기능을 추가할 수 있습니다.
암호화 키, 인증서, 연결 문자열 및 암호와 같은 중요하고 중요 비즈니스용 요소를 처리할 때 Azure Key Vault를 사용하여 엔드 투 엔드 보안을 유지합니다. Key Vault는 전체 소프트웨어 개발 및 공급망 프로세스를 강화하는 강력한 솔루션을 제공합니다. Key Vault를 사용하면 자동차 애플리케이션을 사용하는 중요한 자산을 안전하게 저장하고 관리할 수 있습니다. 이러한 자산이 잠재적인 사이버 보안 위협으로부터 보호되도록 하는 데 도움이 됩니다. RBAC(역할 기반 액세스 제어)를 사용하여 중요한 리소스에 대한 액세스 및 권한을 규제하여 보안을 강화할 수 있습니다.
규정 요구 사항에 전용 하드웨어를 사용하는 향상된 보안 솔루션이 필요한 경우 Azure Key Vault 관리형 HSM을 사용하는 것이 좋습니다. 더 엄격한 요구 사항을 위해 이전에 Azure Dedicated HSM이라고 하던 Azure Cloud HSM을 고려합니다.
Microsoft Purview를 사용하여 조직이 엄격한 데이터 거버넌스에 대한 AD 데이터 요구 사항을 충족하도록 지원합니다. 이러한 요구 사항은 데이터 분류, 계보, 추적 및 규정 준수에 도움이 됩니다. 이러한 요구 사항을 충족하면 조직은 데이터가 잘 관리되고 안전하며 규정을 준수하는지 확인할 수 있습니다. 데이터 규정 준수 적용은 안전하고 신뢰할 수 있는 자율 주행 차량의 개발 및 배포를 지원합니다.
Azure Policy를 사용하여 조직의 Azure 리소스에 규정 준수 및 거버넌스 규칙을 적용합니다.
RBAC를 구현하여 최소 권한으로 사용자 및 서비스에 권한을 부여합니다.
클라우드용 Microsoft Defender 사용하여 보안 위협을 사전에 모니터링하고 완화합니다.
네이티브 Azure Storage 및 데이터베이스 서비스를 사용하여 미사용 데이터 암호화를 보장합니다. 자세한 내용은 데이터 보호 고려 사항을 참조 하세요.
클라우드용 Microsoft Defender 사용하여 보안 위협을 사전에 모니터링하고 완화합니다.
시나리오 배포
이 시나리오를 배포하는 몇 가지 옵션이 있습니다.
- dSPACE는 Microsoft와 공동으로 AD에 대한 함수를 시뮬레이션하고 유효성을 검사하도록 설계된 소프트웨어 솔루션인 SIMPHERA를 개발했습니다. SIMPHERA를 배포하려면 이 리포지토리의 지침을 참조하세요.
- Ansys 는 Microsoft와 협력하여 이 참조 아키텍처에 맞는 배포 가능한 솔루션을 개발했습니다. Azure Marketplace에서 솔루션을 배포할 수 있습니다.
- Cognata SimCloud는 유효성 검사 프로세스를 향상시키는 배포 가능한 시뮬레이션된 시험 사용 환경입니다. SimCloud는 빠르고 매우 정확한 결과를 생성하고 안전 문제를 줄입니다. 또한 SimCloud는 물리적 세계에서 도로 테스트의 높은 비용과 제한된 확장성을 해결합니다.
참가자
Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.
주요 작성자:
- Ryan Matsumura | MCI SDV 및 Mobility의 선임 프로그램 관리자
- Jochen Schroeer | 수석 설계자(서비스 라인 이동성)
- 가브리엘 살라 | 선임 전문가 GBB
- 볼프강 데 살바도르 | 선임 전문가 GBB
- Lukasz Miroslaw | 선임 전문가 GBB
- 베네딕트 버거 | 선임 제품 관리자
기타 기여자:
- 필리페 프레자도 | 주 프로그램 관리자, MCI SDV 및 모바일
LinkedIn 비공개 프로필을 보려면, LinkedIn에 로그인하세요.
다음 단계
관련 참고 자료
AD 시스템용 DataOps를 개발하는 방법에 대한 자세한 내용은 다음을 참조하세요.
다음 관련 문서를 참조할 수도 있습니다.