쏘카 디자인 시스템 2.0 개발기 2편: 기술로 굴리기(웹)
사내 디자인 시스템 v1 의 한계 (확장성, 버전 관리, 빌드 속도) 가 누적되며 v2 가 필요해졌다.
사내 디자인 시스템 v1 의 한계 (확장성, 버전 관리, 빌드 속도) 가 누적되며 v2 가 필요해졌다.
디자인 시스템은 기술만 잘 만들어도 운영 거버넌스가 없으면 점차 사용 빈도가 줄고 "디자인 빚" 이 쌓인다.
6년 누적된 레거시 코드를 새 기능 개발 중에 어떻게 점진적으로 개선하나.
Node.js 컨테이너가 SIGTERM 을 받았을 때 in-flight 요청을 끝내지 않고 죽으면 사용자에게 5xx 가 보인다.
쏘카 / 일레클 / 따릉이 앱은 차량·자전거 단말과 블루투스로 직접 통신해 잠금·해제·반납을 수행한다. Android · iOS 플랫폼이 제공하는 블루투스 API 는 파편화돼 있어 서비스 도메인 요구를 그대로 표현하기 어렵다.
쏘카는 2019년 앱 코드를 새로 만드는 개편을 단행했다. 변화가 잦은 모바일 환경에서 생산성을 지속적으로 끌어올리려면 개발자 경험(DX) 자체가 시스템 자산이 되어야 했다.
turborepo 기반 monorepo 에 30+ Next.js 앱이 공존하면서 main 머지마다 전체 빌드가 트리거된다. 캐시 미스 시 20분 이상, 동시 워크플로우면 30분 이상 대기로 CI 가 강제 종료되는 일이 반복됐다.
QA 가 외주 인력 기반 수동 테스트에 의존하면서 리소스 소모와 실행 속도 한계가 컸다. 자동화 도입을 시도했지만 도구 선택과 환경 구축에서 시행착오가 이어졌다.
Kinesis Data Stream + Firehose 기반 로그 파이프라인이 S3/GCS 중복 저장, 1~2시간 배치 지연, 스키마 변경 추적 부재로 비효율적이었다.
수만 대 차량의 세차 운영이 오염 여부만 보고 결정되어 비/눈 오는 날에도 불필요한 세차 요청이 발생했다.