대규모 모바일 애플리케이션을 정기적으로 릴리스하는 작업은 수많은 팀, 데이터, 상태를 조율하는 복잡한 프로세스입니다. 스포티파이 엔지니어링 팀은 이 복잡성을 관리하기 위해 단순한 Jira 티켓 관리에서 벗어나, 릴리스 매니저를 위한 전용 대시보드와 자동화 시스템을 구축했습니다. 이 글은 그들이 어떻게 컨텍스트 스위칭을 최소화하고, 빠른 의사 결정을 가능하게 하며, 결국 평균 릴리스 주기를 8시간 단축했는지에 대한 깊이 있는 고찰입니다. 자세한 내용은 공식 엔지니어링 블로그 글을 참고하세요.

Server rack and data flow diagram representing backend API aggregation IT Technology Image

핵심 설계 원칙: 복잡성을 단순화하라

초기 목표는 명확했습니다. 릴리스 매니저의 인지 부하를 줄이고 정확한 의사 결정을 지원하는 단일 페이지를 만드는 것.

  • 최소한의 컨텍스트 스위칭: Jira, Slack, 여러 모니터링 툴을 오가던 정보를 하나의 뷰로 통합.
  • 직관적인 상태 표시: 트랙(플랫폼+버전)별로 릴리스 상태, 블로킹 버그, 사인오프 현황, 품질 지표(크래시, ANR)를 색상(초록/노랑/빨강)으로 시각화.
  • 심층 탐색 가능: 개요에서 문제를 발견하면, 해당 섹션을 클릭해 백스테이지 내 상세 플러그인(빌드, 크래시 분석)으로 바로 이동할 수 있는 생태계 구축.

Dashboard UI design on multiple screens showing release status Dev Environment Setup

기술적 도전과 해결: 백엔드 최적화

대시보드 뒤에는 약 10개의 기존 시스템(Jira, 모니터링 툴, 빌드 시스템 등)에서 데이터를 끌어와 통합하는 백엔드 서비스가 있습니다.

문제초기 해결책최적화 후 결과
느린 로딩 & 고비용사용자 요청 시마다 모든 시스템에 실시간 쿼리5분마다 데이터를 사전 집계하고 캐싱
데이터 불일치각 시스템의 Raw 데이터를 직접 노출일관된 API 계층에서 데이터 정규화 및 가공
확장성메인 앱에 맞춤 설계모듈화를 통해 다양한 앱(경량 프로세스)에 적용 가능하도록 개선
이러한 최적화를 통해 로딩 시간을 획기적으로 줄이고 운영 비용을 '스톡홀름 점심 값'에서 '감자 한 개 값' 수준으로 낮췄다고 합니다.

Automation robot icon symbolizing release conductor System Abstract Visual

가장 큰 성과: 자동화(로봇)의 도입

5분마다 수집된 시계열 데이터를 분석한 결과, 릴리스 주기에서 가장 많은 시간이 소요되는 구간(테스트/버그 수정, 앱스토어 승인 대기)과 수동 진행으로 인한 최대 12시간 지연을 발견했습니다. 이 문제를 해결하기 위해 '릴리스 컨덕터 로봇'을 개발했습니다.

이 로봇은 미리 정의된 조건(예: '모든 테스트 사인오프 완료, 블로킹 버그 없음, 최신 커밋에서 자동화 테스트 통과')이 충족되면 다음 상태(예: '검토 제출')로 자동 진행시키는 상태 머신입니다. 이를 통해 인간의 개입이 필요했던 반복적 결정을 자동화하고, 평균 릴리스 주기를 8시간 단축할 수 있었습니다.

교훈과 전망

이 프로젝트가 성공할 수 있었던 데는 백스테이지(Backstage)라는 통합 개발자 포털에 기반을 둔 점이 크게 작용했습니다. UI 컴포넌트 재사용, 소프트웨어 카탈로그를 통한 데이터 모델 공유, 조직 데이터 연동 등이 가능했기 때문입니다. 결국, 툴의 성공은 기술적 완성도보다도 개발자 경험(DX)과 프로세스에의 자연스러운 통합에 달려 있다는 점을 다시 한번 확인시켜 주는 사례입니다.