본문으로 이동
20년 레거시를 넘어 미래를 준비하는 시스템 만들기
문서

20년 레거시를 넘어 미래를 준비하는 시스템 만들기

하태호 · 토스 · 토스 기술 블로그

원본 보기

소개

결제 산업 혁신을 꿈꾸며 출발한 토스페이먼츠. 하지만 그 시작점은 20년 된 레거시 시스템이었습니다. 어떻게 레거시 결제 시스템 개편을 이루어 냈을까요?

AI 핵심 요약

토스페이먼츠는 개인 PC와 SVN에 흩어져 실제 운영 코드와도 일치하지 않던 소스, 노후 인프라와 수작업 운영 절차를 개선해야 했습니다. 먼저 배포된 클래스 파일을 역분석해 기준 코드를 찾고 GitHub Enterprise와 Gradle·Docker 기반 빌드 환경을 마련한 뒤, AWS와 IDC를 아우르는 Kubernetes·MSA 플랫폼 및 자동화된 CI/CD를 구축했습니다. 이후 다계층 캐시, 인프라까지 확장한 카나리 배포, 대규모 데이터 조회 플랫폼과 보안 체계를 도입하고, 기존 가맹점 연동을 유지하면서 JSP·Struts 기반 시스템을 React·TypeScript와 Kotlin·Spring Boot 중심으로 개편했습니다. 글은 서비스 중단 없이 레거시를 현대화하려면 기존 시스템을 존중하면서 표준화·자동화와 점진적 전환을 함께 추진해야 한다고 강조합니다.

  • 레거시 코드의 기준점을 찾을 때는 저장소만 믿지 말고 실제 배포된 바이너리와 대조해 운영 상태를 확인할 수 있다.
  • Gradle, Docker, 의존성 버전 고정으로 빌드 환경을 표준화하면 재현 가능한 빌드와 신뢰할 수 있는 배포의 토대가 된다.
  • 대규모 서비스의 공통 코드 업데이트는 자동 수정과 Pull Request 생성으로 배포 부담을 줄일 수 있다.
  • 무중단 변경에는 애플리케이션뿐 아니라 인프라 계층까지 포함한 점진적 트래픽 전환과 회귀 테스트가 중요하다.
  • 레거시 현대화는 기존 가맹점 호환성을 유지하면서 새 시스템을 단계적으로 도입하는 방식으로 진행할 수 있다.