토스의 디바이스 팜 만들기
·2026.07.30 11:24
토스는 API 호출만으로 수백 대의 실기기를 제어할 수 있는 자체 디바이스 팜 '네뷸라(Nebula)'를 구축했다.
토스는 각 팀이 개별적으로 기기를 관리하며 발생하는 비효율을 해결하기 위해 사내 디바이스 팜인 **네뷸라(Nebula)**를 구축했다. 네뷸라는 개발자가 기기를 직접 만지지 않고도 API 호출 한 번으로 원격에서 실제 스마트폰을 제어하여 자동화 테스트를 수행할 수 있는 환경을 제공한다.
네뷸라의 아키텍처는 네 개의 계층으로 구성된다.
- 클라이언트: SDK, CLI, API 등 다양한 입구
- 서버: 기기 발견, 점유, 테스트 실행을 관리하는 오케스트레이션 계층 (Kafka 및 분산 락 활용)
- 에이전트: 호스트(Mac mini, Linux)에서 동작하며 로컬 기기를 관리
- 기기: 실제 명령을 수행하는 최하단 계층
특히 토스는 기존의 Appium이 가진 구조적 한계를 극복하기 위해 직접 Nebula Driver를 개발했다. 벤치마크 결과, 네뷸라 드라이버는 Appium 대비 다음과 같은 압도적인 성능 차이를 보였다.
- 엘리먼트 클릭: 약 13.5배 빠름 (52ms vs 702ms)
- 텍스트 입력: 약 10배 빠름 (138ms vs 1,377ms)
이러한 성능 향상은 Appium의 '견고성 우선(대기 시간 발생)' 철학 대신, 노드에 즉시 명령을 전달하는 속도 우선 철학을 채택함으로써 가능했다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.