AWS 기술 블로그
BMW는 어떻게 AWS를 활용해 가상 ECU를 기반으로 소프트웨어 정의 차량(SDV)을 확장하고 자동화했을까?
이 글은 AWS for Industries 블로그에 게시된 글 How BMW uses AWS to scale and automate SDV with virtual ECUs을 한국어로 번역 및 편집하였습니다.
“BMW의 운영체제 9(BMW Operating System 9) — AWS 상에서 구동되는, 안드로이드 오픈소스 프로젝트(AOSP)를 기반으로 한 BMW의 완전 가상화된 인포테인먼트 시스템 — 은 우리가 차량용 소프트웨어의 새로운 기능을 개발할 때 실제 대상 하드웨어에 접근할 필요 없이 개발을 시작할 수 있게 해줍니다. 이러한 소프트웨어 개발 프로세스의 시프트레프트는 가상 디바이스를 활용해 더 이른 시점부터, 더 자주, 그리고 훨씬 낮은 비용으로 테스트를 수행할 수 있게 해줍니다. 이는 비용 절감, 시장 출시 기간 단축, 그리고 고객 경험 향상이라는 우리의 목표를 달성하는 데 크게 기여합니다.”
— Céline Laurent-Winter 박사, BMW 그룹 커넥티드 차량 플랫폼 부사장
소개
BMW는 프리미엄 자동차와 모터사이클을 제조하고 금융·모빌리티 서비스를 제공하는 세계적 선도 기업입니다. BMW Connected Company는 BMW 내부의 한 부문으로 전 세계 2,300만 대 이상의 차량에 디지털 서비스를 제공하고, 차량 내 인포테인먼트 시스템과 ECU(전자제어장치)를 개발·운영합니다.
SDV(Software-Defined Vehicle)는 자동차 가치사슬 전반을 다루는 폭넓은 주제입니다. 그 범위가 넓기 때문에, OEM(완성차 제조사) 간에 공통된 비전이나 범위 정의가 아직 존재하지 않습니다. 그러나 공통적인 흐름이 있는데, 클라우드 및 클라우드 네이티브 기술을 활용해 차량과 소프트웨어 개발과 운영을 지원하는 것입니다. 여기에는 차량이 클라우드 서비스와 상호작용해 새로운 고객 경험을 제공하는 기능도 포함됩니다.
BMW와 AWS의 협업은 이미 2023 AWS Summit Berlin 및 AWS All Things Automotive 시리즈에서 일부 소개된 바 있습니다. 이 블로그에서는 AWS 활용을 통해 DevOps 워크플로우를 가속화하고 ECU 품질을 개선하며, 동시에 개발 비용을 크게 절감할 수 있는 이점을 다루고 있습니다.
문제 설명(Problem statement)
ECU는 엔진 제어, 차체 제어, 첨단 운전자 보조 시스템(ADAS), 인포테인먼트, 그리고 Spotify 같은 제3자 서비스와의 백엔드 연결까지 차량의 다양한 측면을 담당하는 임베디드 장치입니다. BMW는 AWS를 활용해 에뮬레이션 없이 Amazon EC2 인스턴스에서 직접 자동차 소프트웨어를 개발하고 운영하는 방식을 활용하고 있습니다.
BMW가 AWS에서 실행하는 소프트웨어는 실제 차량에 배포되는 소프트웨어와 동일한 소스에서 빌드됩니다. 이를 통해 BMW 엔지니어링 팀은 가상 ECU(vECU)에서 소프트웨어를 개발, 디버그, 테스트할 수 있으며, 클라우드에 운영체제(OS) 이미지를 제공해 물리적 환경과 동등성(environment parity)을 확보하고 ECU 간 상호작용까지 검증할 수 있습니다. 클라우드에서는 물리적 ECU를 사용할 때는 불가능했던 규모와 협업 모델로 이러한 작업을 수행할 수 있습니다.
ECU 소프트웨어를 개발하는 것은 실시간 요구사항(예: 안전 관련 작업을 정해진 시간 내에 실행), 다양한 운영체제와 네트워크 프로토콜, 규제 요건, 여러 변형(variants) 지원 등 다양한 과제를 수반합니다.
ECU 기능 테스트는 높은 소프트웨어 품질 확보에 필수적이며, 도메인 및 시스템 수준에서 충분한 커버리지를 보장하기 위해 많은 리소스를 소모합니다. 여러 ECU가 상호 연결될 경우 테스트 범위가 기하급수적으로 증가하므로, 비용이 가하급수적으로 늘어나지 않으면서 테스트를 확장할 수 있어야 합니다.
이를 위해 소프트웨어 인 더 루프(Software-in-the-loop , SiL)와 하드웨어 인 더 루프(Hardware-in-the-Loop, HiL) 테스트가 활용됩니다. SiL은 기능 소프트웨어를 제외한 모든 소프트웨어 계층을 에뮬레이션하여 개발자가 하드웨어 없이도 테스트할 수 있게 하지만, 물리적 센서·액추에이터와의 상호작용은 포함하지 못합니다. HiL은 HW–SW 통합 테스트가 가능하지만 비용이 크고 확장이 어렵습니다. 이 두 테스트를 순차적으로만 수행하면 문제 발견이 늦어지고 비용이 폭증합니다. 따라서 소프트웨어와 하드웨어의 디커플링, 그리고 하드웨어 테스트의 시프트레프트가 필요합니다. 이를 통해 다양한 변형, 버전, 방대한 테스트 케이스를 비용 효율적으로 커버할 수 있습니다.
BMW와 AWS 간 공유된 SDV 비전
BMW와 AWS의 비전은 차량 아키텍처를 근본적으로 변화시켜 고객과 BMW 모두에게 더 나은 경험을 제공하고, 대규모 자동차 소프트웨어를 효율적으로 개발하고 운영할 수 있도록 개발 및 운영 워크플로우를 재편하는 데 있습니다.
이 블로그는 우리의 논의와 가장 관련이 깊은 SDV 비전 요소에 초점을 맞추고 있습니다.
핵심 목표는 소프트웨어를 하드웨어로부터 분리해 더 모듈화되고 유연한 차량 소프트웨어 아키텍처를 만드는 것입니다. 이러한 계층형 설계는 새로운 기능을 온보드(차량 내부 시스템 – ECU, 임베디드 SW, 차량 네트워크 등)와 오프보드(차량 외부 시스템 – 클라우드, 백엔드, 모바일 앱 등) 환경 모두에 원활히 배포할 수 있게 하며, 구형 차량에도 업데이트된 기능을 제공할 수 있습니다. 또한 공급업체 기반을 넓히고 소프트웨어 재사용을 촉진할 수 있습니다. 지속적인 소프트웨어 업데이트는 차량을 최신 상태로 유지하고 보안을 강화합니다.
클라우드 네이티브 타깃을 갖춘 가상 개발자 워크스페이스는 개발자의 생산성을 높이고, 새로운 협업형 소프트웨어 개발 방식을 가능하게 하며, 클라우드를 활용해 비용 효율적인 대규모 소프트웨어 개발과 테스트를 지원합니다.
ECU 개발을 확장하기 위한 3단계 접근 방식
2022년에 BMW는 단일 ECU를 가상화하는 첫 단계를 밟았습니다. 두 번째 단계에서 BMW는 그 가상화된 ECU를 외부 서비스와 연결했습니다. 마지막으로 BMW는 여러 ECU를 가상화하고 이를 서로 네트워크로 연결했습니다.

그림 1: BMW의 ECU 개발 확장을 위한 3단계 접근 방식 시각화
1단계: 단일 안드로이드 기반 ECU 가상화
BMW는 첫 번째 ECU로 안드로이드 오픈소스 프로젝트(AOSP)를 기반으로 구축된 인포테인먼트 시스템을 선택했습니다. 기존의 Google Android 에뮬레이터가 그 기반으로 사용되었습니다. 인포테인먼트 시스템은 시각적 인터페이스를 갖춘 몇 안 되는 ECU 중 하나로, 다른 이해관계자들에게 작업을 쉽게 보여줄 수 있었습니다.
목표는 물리적 타깃(실제 ECU 하드웨어)을 사용했을 때와 비교해 개발 효율성 향상이 가능한지를 검증하기 위한 타당성 조사(feasibility study)를 수행하는 것이었습니다.

그림 2: 1단계 달성 시 AWS 상의 vECU 플랫폼 아키텍처
AWS에서 가상화된 인포테인먼트 시스템을 실행하기 위해 BMW는 여러 과제를 해결해야 했습니다. BMW의 맞춤형 안드로이드 에뮬레이터는 필요한 유틸리티와 서비스를 포함해 컨테이너화되어야 했습니다. 이후 BMW는 사용자 로컬 웹 브라우저와 Amazon EC2 인스턴스에서 실행되는 사용자별 Docker 인스턴스 간에 ADB(Android Debug Bridge, 안드로이드 디바이스 디버깅용), VNC(원격 프레임버퍼 프로토콜 기반 그래픽 데스크톱 공유), SSH(보안 네트워크 접근 및 관리 프로토콜)에 대해 안전한 양방향 네트워크 통신을 구축했습니다. 이 인스턴스들은 BMW 네트워크 내부에서만 접근 가능했으며, BMW 네트워크는 AWS Direct Connect를 통해 안전하게 AWS와 연결되었습니다.
BMW는 API 기반 셀프서비스 포털을 개발하여, BMW 브랜드, vECU 소프트웨어 버전, 언어, 사용자, 비밀번호 같은 설정과 로드 밸런서, EC2 인스턴스, Docker 컨테이너 등 모든 필요한 자원의 프로비저닝과 해제를 완전 자동화했습니다.
또한 AWS와 BMW는 EC2 인스턴스 하나에서 여러 Docker 컨테이너 인스턴스를 실행할 수 있도록 협력했습니다. 이는 KVM(Kernel-based Virtual Machine) 지원으로 인해 EC2 베어메탈 인스턴스를 최적 활용하기 위해 필요했습니다. 이를 통해 비용을 최소화하고 프로세스 지연을 줄여 사용자 경험을 향상시켰습니다.
가상화된 ECU는 표준 웹 브라우저를 통해 손쉽게 접근할 수 있습니다. 추가 설정이 필요 없으며, URL을 BMW 사내 네트워크 내 여러 사용자 간에 공유할 수 있습니다. UI와의 상호작용은 매끄럽고 실제 물리적 인포테인먼트 유닛처럼 동작합니다.

그림 3: 가상화된 BMW 인포테인먼트 시스템 내 내비게이션 및 관심 지점 검색
BMW의 접근 방식은 ECU 개발 프로세스를 간소화하는 것 이상의 여러 핵심 이점을 제공하였습니다. 가장 주목할 만한 점은 물리적 하드웨어 프로토타입 없이도 BMW 개발자들이 초기 코드 빌드 단계부터 전체 사용자 인터페이스를 경험할 수 있게 했다는 것입니다. 이를 통해 BMW 내부에서 소프트웨어 사용성에 대한 훨씬 더 이른 피드백과 반복 개선이 가능해졌습니다. 가상화된 테스트 환경은 CI/CD 파이프라인의 일부로 전체 소프트웨어 스택에 대한 원격, 확장 가능, 자동화된 테스트를 가능하게 했습니다. BMW 팀은 물리적 하드웨어에서는 시간이 너무 많이 걸리는 200만 개 이상의 개별 테스트를 포함한 안드로이드 호환성 테스트 스위트(Android Compatibility Test Suite)를 정기적인 자동화 테스트의 일부로 실행할 수 있었습니다. 또 다른 이점은 장소에 구애받지 않는다는 점으로, BMW 개발자, 제품 책임자 및 기타 이해관계자가 전 세계 어디서든 즉시 vECU에 접근할 수 있습니다.
2단계: 엔드투엔드 가상화
2023년부터 BMW는 vECU 외부와의 네트워크 연결을 가능하게 했습니다(그림 1, 가운데 이미지). 이를 통해 가상 인포테인먼트 시스템은 Spotify, MapBox 같은 외부 서드파티 콘텐츠 제공자와 BMW의 커넥티드 차량 백엔드(ConnectedDrive)와 안전하게 통신할 수 있습니다.
이를 통해 BMW는 My BMW 모바일 앱에서 ConnectedDrive 백엔드를 거쳐 서드파티 콘텐츠 제공자를 포함한 가상 인포테인먼트 시스템까지 아우르는 완전한 가상화 환경을 운영할 수 있게 되었습니다.

그림 4: 2단계 달성 시 AWS 상의 vECU 플랫폼 아키텍처
첫 번째 과제는 가상화된 인포테인먼트 시스템과 ConnectedDrive 백엔드 간의 보안 연결을 구축하는 것이었는데, 이는 차량별 고유 인증서를 사용하는 상호 TLS(mutual Transport Layer Security, mTLS)를 요구했습니다. 또한 각 인증서는 정확히 하나의 차량 식별 번호(VIN)와 국가에 연계되어야 합니다. 이러한 모든 요구 사항과 제약 조건은 셀프서비스 사용자 포털 뒤에서 자동화된 프로비저닝 단계에 반영되었습니다.
서드파티 콘텐츠 제공자와 앱의 보안 통합을 위해 가장 큰 과제는 복잡한 엔터프라이즈 환경에서 필요한 보안 네트워크 경로를 식별하고 구성하는 것이었습니다.

그림 5: Mini 모바일 앱을 활용한 가상화된 Mini 인포테인먼트 시스템 내 배경 이미지 개인화
2단계를 완료하면서 BMW는 여러 추가적인 이점을 얻었습니다. 순수 소프트웨어 기반으로 서드파티 애플리케이션과 콘텐츠의 통합 테스트가 가능해졌습니다. 이를 통해 BMW는 인포테인먼트 시스템, 모바일 디바이스, 서드파티 앱, ConnectedDrive 백엔드 간 상호작용을 효과적으로 개발, 디버그, 테스트할 수 있게 되었습니다. 또한 동일한 소프트웨어 버전과 구성을 활용함으로써 고객 피드백으로부터 더 정밀한 근본 원인 분석이 가능해졌습니다. 나아가 BMW는 터널 통과 같은 열악한 네트워크 조건에서의 재시도 및 재연결 동작을 테스트하는 등 물리적 하드웨어로는 불가능했던 연결성 테스트를 자동화할 수 있게 되었습니다.
2단계는 BMW 개발자들이 최종 단계에 도달할 때까지 물리적 하드웨어 접근 없이 차량 애플리케이션 기능을 처음부터 끝까지 개발할 수 있도록 했습니다.
3단계: 서로 다른 운영체제를 사용하는 연결된 ECU를 가상화
2024년에 BMW는 여러 vECU를 네트워크로 연결했습니다(그림 1, 오른쪽 이미지). 중요한 목표는 BMW의 배포판인 임베디드 리눅스와 AUTOSAR를 포함한 다른 자동차 OS를 실행하는 ECU들을 가상화하는 것이었습니다.
BMW는 임베디드 리눅스를 실행하는 텔레매틱스 ECU(자동차의 외부 네트워크와 차량 내부 시스템을 연결하는 통신 허브 역할을 하는 ECU)와 AUTOSAR Classic을 실행하는 공조 ECU(자동차의 공조 시스템를 제어하는 ECU)를 선택했습니다. 이 ECU들은 차량 내부의 공통 네트워킹 프로토콜인 SOME/IP(Scalable Service-Oriented MiddlewarE over IP)를 사용해 서로 통신합니다.
이를 통해 BMW는 어떤 ECU든 가상화하여 실행할 수 있게 되었고, 따라서 가상 검증의 활용 사례를 확장할 수 있었습니다(예: My BMW 모바일 앱에서 실행한 공조 설정 변경을 실시간으로 검증). 이 시스템은 Amazon EC2 인스턴스를 사용해 더 비용 효율적으로 운영되고 더 빠르게 확장할 수 있었으며, 검증을 위한 하드웨어 병목 문제를 해결했습니다.

그림 6: 3단계가 달성되었을 때의 AWS 상 vECU 플랫폼 아키텍처

그림 7: 가상화된 Mini 인포테인먼트 시스템과 공조 ECU의 통합
결과
BMW의 vECU 플랫폼은 전 세계 다양한 BMW 부서에 걸쳐 2,000명 이상의 내부 사용자를 확보하며 글로벌 범위로 확장되었습니다. Amazon EC2에서 AAOS 기반 ECU를 가상화하는 이번 접근 방식은 전체 소프트웨어 개발 프로세스 전반에 걸쳐 상당한 개선을 가져왔으며, 개발자와 엔지니어에게 확장 가능한 클라우드 기반 가상화 솔루션을 제공했습니다. 주요 개선 사항은 다음과 같습니다:
- 물리적 ECU 플래싱(flashing physical ECU, 물리적 ECU에 펌웨어나 소프트웨어를 직접 업로드 또는 프로그램하는 과정)에 몇 시간이 걸리던 설정 시간이 클라우드 인포테인먼트 유닛에서는 단 3분으로 단축
- 지원되는 AAOS vECU의 모든 버전과 변형을 몇 분 안에 프로비저닝하여 근본 원인 분석 및 버그 수정 테스트를 용이하게 함
- 서드파티 앱과 서비스에 대한 소프트웨어 테스트를 클라우드에서 수행 가능
- 국가별 변형 등 여러 버전을 동시에 테스트하여 테스트 효율성을 높이고 품질 보증 강화
- 초기 단계에서의 프로토타입 필요성을 줄여 시장 출시 시간 단축
- 기술적 배경과 상관없이 모든 이해관계자가 개발 초기부터 전체 소프트웨어 기능을 직접 체험하고 평가 가능
이러한 기능 덕분에 일부 BMW 개발자들은 인포테인먼트 시스템의 새로운 기능을 주로 BMW의 가상 플랫폼에서 개발 및 검증할 수 있었으며, 이는 더 빠른 개발 주기와 상당한 자원 절감을 보여주었습니다.
지금까지 우리의 작업은 정성적 개선과 이 접근 방식이 전 세계 개발자 및 이해관계자 팀을 위해 열어준 새로운 역량에 초점을 맞추어 왔습니다. BMW에게 클라우드 기반 vECU는 단순히 물리적 ECU를 대체하는 것 이상의 의미를 가지게 되었습니다. 이것은 전례 없는 글로벌 협업을 가능하게 하고, 개발 속도를 가속화하며, 협업을 한층 더 원활하게 만드는 데 기여했습니다.
따라서 이러한 발전은 자동차 소프트웨어 개발에서 새로운 패러다임 전환을 제공하며, 산업 수요와 기술 혁신에 신속히 대응할 수 있는 더 민첩하고 협업적이며 효율적인 프로세스를 가능하게 합니다.
BMW와 AWS는 이 여정 전반에서 SDV 접근 방식을 형성하는 데 귀중한 인사이트를 얻었습니다. 온보드 팀과 오프보드 팀 간의 교차 협력이 성공에 핵심적이라는 점을 배웠습니다. OEM, 공급업체, 독립 소프트웨어 벤더들 간에 SDV에 대한 다양한 비전이 존재한다는 것도 확인했으며, 이를 정렬할 필요성이 부각되었습니다.
지금까지 언급된 결과는 BMW의 구현 사례에 국한된 것이지만, 업계 다른 사례에서는 기능 개발 시간 최대 70% 단축, 프로토타이핑 비용 30% 절감을 보고하기도 했습니다. 이는 이 분야의 큰 기회를 보여주고 있습니다.
전망 및 다음 단계
BMW는 vECU 플랫폼의 역량을 강화하기 위해 세 가지 주요 방향에서 기술 개선에 집중하고 있습니다:
1. 제품 강화:
2,000명 이상의 내부 사용자 피드백과 11,000개 이상의 vECU 실행 경험을 기반으로 지속적인 개선과 확장을 진행 중입니다. 예를 들어, 가상 ECU와 물리 ECU 간 타이밍 동기화, 다양한 자동차 네트워크 프로토콜(FlexRay, Ethernet, CAN 등) 지원 확대, CI/CD 파이프라인과의 심층 통합 등이 포함됩니다.
2. 사용 사례 확장:
더 많은 ECU 모델을 온보딩하여 차량 기능 전체를 포괄하도록 확대하고, 장기적으로는 차량 전체 소프트웨어 시스템의 디지털 트윈 구축을 목표로 합니다.
3. AI 통합:
BMW는 인공지능(AI), 특히 생성형 AI(Generative AI)를 통합하여 워크플로우를 더욱 가속화하려 하고 있습니다. 여기에는 아키텍처 가이드 및 코드 생성(자동차 특화 라이브러리 포함), 테스트 케이스와 테스트 데이터의 자동 생성 및 실행, 통신 메시지와 로그의 자동 분석 및 요약을 통한 근본 원인 분석 지원 등이 포함됩니다.
AI 정의 차량으로의 전환은 자동차 산업의 또 다른 패러다임 전환을 의미합니다. BMW는 vECU 플랫폼 개발과 AWS와의 AI/생성형 AI 협력을 통해 이 혁신의 최전선에 서 있으며, 미래 모빌리티의 도전과 기회를 선도할 준비가 되어 있습니다.
추가로 이 주제와 BMW와 AWS가 고객을 위해 어떻게 혁신하는지 더 알고 싶다면, 관련 영상과 구체적인 사용 사례를 여기에서 참고할 수 있습니다.
“BMW와 AWS의 협업은 자동차 소프트웨어 개발에서 클라우드 컴퓨팅의 혁신적 힘을 보여줍니다. ECU를 가상화하고 AWS의 확장 가능한 인프라를 활용함으로써 BMW는 효율성, 협업, 혁신에서 놀라운 성과를 거두었습니다. 이러한 접근 방식은 시장 출시 시간을 앞당길 뿐만 아니라, 더 민첩하고 유연한 개발 프로세스를 가능하게 하여 소프트웨어 정의 차량의 미래를 여는 길을 닦고 있습니다. 우리는 이 여정에서 BMW를 지원하게 되어 자랑스럽게 생각하며, 자동차 기술에서 가능한 것의 한계를 계속 확장해 나가길 기대합니다.”
야세르 알사이드, AWS 솔루션-IOT 부문 부사장 겸 총괄
“BMW의 운영체제 9(BMW Operating System 9) — AWS 상에서 구동되는, 안드로이드 오픈소스 프로젝트(AOSP)를 기반으로 한 BMW의 완전 가상화된 인포테인먼트 시스템 — 은 우리가 차량용 소프트웨어의 새로운 기능을 개발할 때 실제 대상 하드웨어에 접근할 필요 없이 개발을 시작할 수 있게 해줍니다. 이러한 소프트웨어 개발 프로세스의 시프트레프트는 가상 디바이스를 활용해 더 이른 시점부터, 더 자주, 그리고 훨씬 낮은 비용으로 테스트를 수행할 수 있게 해줍니다. 이는 비용 절감, 시장 출시 기간 단축, 그리고 고객 경험 향상이라는 우리의 목표를 달성하는 데 크게 기여합니다.”
“BMW와 AWS의 협업은 자동차 소프트웨어 개발에서 클라우드 컴퓨팅의 혁신적 힘을 보여줍니다. ECU를 가상화하고 AWS의 확장 가능한 인프라를 활용함으로써 BMW는 효율성, 협업, 혁신에서 놀라운 성과를 거두었습니다. 이러한 접근 방식은 시장 출시 시간을 앞당길 뿐만 아니라, 더 민첩하고 유연한 개발 프로세스를 가능하게 하여 소프트웨어 정의 차량의 미래를 여는 길을 닦고 있습니다. 우리는 이 여정에서 BMW를 지원하게 되어 자랑스럽게 생각하며, 자동차 기술에서 가능한 것의 한계를 계속 확장해 나가길 기대합니다.”