본문으로 이동
컬리에서 선물하기를 개발하며 회고
문서

컬리에서 선물하기를 개발하며 회고

정명성 · 컬리 · 컬리 기술 블로그

원본 보기

소개

주문서비스 개발팀이 선물하기 서비스를 오픈하기 까지 여정

AI 핵심 요약

컬리는 PHP 기반 고도몰 레거시와 제한된 개발 리소스, 촉박한 일정 속에서 선물하기 서비스를 출시해야 했습니다. 신규 주문 서버를 기존 업무·물류 프로세스와 호환되도록 설계하고, 신규 데이터베이스의 정보를 레거시 데이터베이스에 동기화하는 dual writing 방식으로 기존 시스템을 유지했습니다. 역할별로 서버를 분리해 확장 가능성을 고려하되, 초기에는 API 통신 중심으로 구성해 복잡도를 조절하고 향후 레거시 데이터베이스에서 독립할 여지를 남겼습니다. 한 달간 QA에서 발견된 약 1,000개의 이슈를 출시 전에 해결해 서비스를 오픈했으며, 레거시를 한 번에 바꾸기보다 운영 안정성과 점진적 분리를 함께 고려해야 한다는 점을 회고했습니다.

  • 레거시 데이터베이스를 한 번에 교체하기 어렵다면 신규 시스템을 별도 생태계로 구성하고 기존 프로세스와의 호환성을 단계적으로 확보할 수 있습니다.
  • Dual writing을 도입할 때는 장애 후 데이터 정합성을 복구할 수 있는 장치를 함께 설계해야 합니다.
  • 서비스 간 의존성이 큰 프로젝트에서는 도메인별 영향 범위와 기존 운영 정책을 먼저 파악하고, 연관 팀에 필요한 요청을 구체화하는 것이 중요합니다.
  • QA 범위가 넓고 일정이 촉박할수록 충분한 검증 기간을 확보하고 발견된 이슈를 출시 전에 해결하는 과정이 필요합니다.