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

하태호 · 토스페이먼츠 Head of Technology
2025년 10월 16일

당신도 모르게 사용하고 있는 토스페이먼츠

온라인에서 무언가를 결제할 때마다, 여러분은 토스페이먼츠와 만나고 있을 가능성이 높습니다.

온라인에서 앱을 구매할 때도, 쇼핑몰에서 옷을 구매할 때도, 음식 배달 애플리케이션에서 저녁을 구매할 때도, 퇴근 후 자기계발을 위해 온라인 강의를 구매할 때도, 이 모든 순간에서 여러분은 토스페이먼츠를 통해 결제를 하고 있을지 모릅니다.

여러분이 '결제' 버튼을 클릭하는 그 순간, 보이지 않는 곳에서 토스페이먼츠가 그 거래를 안전하고 빠르게 처리하고 있습니다. 어떤 쇼핑몰인지, 어떤 결제 수단을 사용하는지와 상관없이 말이죠.

수만여 개의 가맹점과 연결되어 있는 토스페이먼츠는 말 그대로 대한민국의 보이지 않는 결제 Backbone입니다. 우리가 일상에서 당연하게 생각하는 '결제'라는 행위 뒤에서, 복잡하고 정교한 시스템들이 거래를 안전하게 처리하고 있습니다.

토스페이먼츠만의 제품 혁신

2020년 8월, 결제 산업 혁신을 목표로 출범한 토스페이먼츠, 토스페이먼츠는 출범 이후 새로운 결제 경험과 연동 경험을 가진 제품을 시장에 선보였습니다.

개발자 경험 혁신: 새로운 SDK와 API

기존 PG 연동이 얼마나 복잡했는지 아시나요?

API 호출을 위해서는 PG사가 제공하는 서버 모듈을 가맹점 서버에 설치해야 했고, 웹 화면에서는 이해하기 어려운 요청 흐름과, 파라미터를 전송하기 위한 코드 구현을 위해 노력해야 했습니다. 하지만 결제 연동이 복잡해야할 이유는 없습니다.

토스페이먼츠는 더 쉬운 결제 연동을 위해 새로운 RESTful API 와 개발자 연동문서(docs.tosspayments.com)을 제공하여 아래와 같이 단 몇줄의 코드 작성만으로 결제 연동이 끝나는 경험을 제공했습니다.

// 토스페이먼츠 SDK
const tossPayments = TossPayments('클라이언트키');

tossPayments.requestPayment('카드', {
	amount: 15000,
	orderId: 'order-123',
	orderName: '토스 티셔츠',
	successUrl: window.location.origin + '/success',
	failUrl: window.location.origin + '/fail',
});

또한 결제 연동을 해보기 이전에도 토스페이먼츠 결제 제품을 체험해 볼 수 있도록 웹 화면에서 직접 코드를 수정해보고 변화를 확인할 수 있는 샌드박스(https://developers.tosspayments.com/sandbox)라는 미리보기 제품을 소개하기도 했습니다.

AI 연동 도구 제공: 토스페이먼츠 결제 시스템 연동을 돕는 MCP 서버

최근에는 AI 시대에 맞춰 토스페이먼츠 결제 시스템 연동을 돕는 MCP(Model Context Protocol) 서버까지 공개했습니다. 이제 AI 코딩 도구들이 토스페이먼츠 API를 더욱 정확하게 이해하고 개발자를 도와줄 수 있습니다.(관련 아티클: https://toss.tech/article/tosspayments-mcp)

비즈니스 혁신: 브랜드페이

"우리 쇼핑몰만의 간편결제 서비스가 있다면 얼마나 좋을까?"

이런 가맹점들의 니즈에서 탄생한 것이 브랜드페이입니다. 무신사페이, H.Point페이, 퀸잇페이처럼 각 브랜드 고유의 간편결제 서비스를 단 몇 개의 API 연동만으로 구축할 수 있게 했습니다.

단 몇 주만에 나만의 간편결제 시스템을 구축할 수 있다니 멋지지 않나요?

노코드 혁신: 결제위젯

"개발자 없이도 우리가 원하는 대로 결제창을 꾸밀 수 있다면?"

결제위젯은 이런 상상을 현실로 만들었습니다. 마치 블로그 테마를 바꾸듯이, 가맹점이 원하는 대로 결제 UI를 구성할 수 있게 했습니다.

수수료 혁신: 퀵계좌이체

카드 결제 수수료가 매출의 2-3%를 차지하는 것은 모든 사업자의 고민입니다. 퀵계좌이체는 이런 고민을 해결하는 동시에 더 빠르고 간편한 결제 경험을 제공합니다.

토스페이먼츠의 다소 특별한 출발점

2020년 8월, 결제 산업 혁신을 목표로 출범한 토스페이먼츠. 하지만 대부분의 핀테크 스타트업과는 다른 특별한 출발점을 가지고 있었습니다. 처음부터 새롭게 시작한 것이 아니라, 기존에 운영되던 PG 사업을 인수하며 시작한 것이죠.

20년 넘게 운영된 레거시 PG 시스템을 인수하며 시작했기에 토스페이먼츠가 개선해 나가야 할 기술적 어려움은 다소 험난했습니다.

소스코드 관리의 개선 필요

인프라의 개선 필요

운영 환경 및 절차의 개선 필요

이런 상황에서는 안정적인 서비스를 운영하는 것이 불가능해 보였습니다.

환경이 사람을 만든다

"이런 환경에서는 아무리 뛰어난 엔지니어가 합류해도 좋은 성과를 내기 어렵다. 새로 합류하는 팀원이 레거시 제약사항에 영향받지 않고 비즈니스 임팩트를 낼 수 있는 환경을 만들어야 한다."

이는 단순히 기술 부채를 해결하는 것을 넘어서는, 조직과 문화를 개선하기 위한 근본적인 접근이었습니다. 좋은 엔지니어를 뽑는 것보다 좋은 엔지니어가 성과를 낼 수 있는 환경을 만드는 것이 더 중요하다는 인식이었죠.

이를 위해 토스페이먼츠는 Two Track 접근 방법을 택했습니다:

Track 1: 빠른 혁신 기반 마련

  • AWS 기반 금융 클라우드 도입으로 레거시 인프라의 느리고 위험한 변경을 최소화
  • 새로운 제품과 기능은 모던 스택으로 빠르게 개발할 수 있는 환경 구축

Track 2: 레거시 시스템 점진적 개선

  • 서비스 중단 없이 기존 시스템을 단계적으로 개선
  • AWS와 IDC 기반 레거시 시스템의 차이를 추상화하는 플랫폼 구축

9단계 시스템 개선 여정

이제 본격적으로 토스페이먼츠가 지난 5년간 진행한 시스템 개선을 9개 단계로 나누어 살펴보겠습니다.

1단계: GitHub Enterprise 도입 - "소스코드를 찾아서"

가장 기본적이지만 가장 중요한 작업이었습니다.

문제 상황

해결 과정: 디지털 고고학

마치 고고학 발굴처럼, 서버에 배포되어 실제로 동작하는 모든 .class 파일을 disassemble 했습니다. 그리고 개인 PC, 개발서버, SVN 등에 흩어져 있는 소스코드들과 하나씩 비교해서 진짜 최신 코드를 찾아냈습니다.

실제 진행한 작업의 예시 - 아래와 같이 전사 모든 프로젝트에 대해, 모든 class 파일을 비교하는 작업 수행

$ find /service -name "*.class" -exec javap -c {} \; > deployed_classes.txt
$ find /backup -name "*.java" -exec compile_and_compare.sh {} \;

그렇게 최신 소스코드를 찾은 이후에는 Github 에 소스코드를 push 하여 소스코드가 Github 기반으로 관리될 수 있는 체계를 완성했습니다.

결과

2단계: 빌드 표준화 - "어디서든 똑같이"

문제 상황

Java 기반 시스템임에도 불구하고 컴파일과 빌드가 제대로 되지 않는 상황. 개발자 PC마다, 서버마다 다른 결과물이 나오는 문제가 있었습니다.

서로 다른 개발자의 PC에서 동일한 환경을 만들기 위해 소스코드를 통으로 압축해서 복사해도 동일한 결과물이 나오지 않는, 기가 막힌 상황들이 반복되었죠.

해결 방법

결과

3단계: MSA 전환 및 Kubernetes 도입

"PG 시스템이 복잡한가요? 결제창과 어드민 서버 2개면 충분한 거 아닌가요?"

토스페이먼츠 외부에서 종종 받는 질문입니다. 하지만 현실은 다릅니다. 토스페이먼츠 내부에 존재하는 MSA 서비스 수가 150개가 넘을 만큼 생각보다 복잡한 비즈니스 문제를 풀고 있죠.

빠른 실험과 실행을 통해 결제 시장에 변화를 만들기 위해서는 MSA 구조로의 전환이 필수적이었고, 많은 수의 서비스를 표준화되고 자동화된 방식으로 운영하기 위해 Kubernetes를 도입했습니다.

4단계: 고가용성 인프라

매일 밤 은행과 같은 금융서비스의 일부 기능이 점검으로 멈추는 건 익숙한 풍경이지만, 결제 시스템에서는 그런 일이 허용되지 않습니다. 결제는 언제나, 장시간 중단점검 또는 장애 발생 없이 끊임 없이 이뤄져야 하기 때문입니다.

토스페이먼츠는 선언형 방식으로 동일한 환경을 쉽게 만들어낼 수 있는 K8S의 특징을 활용하여, 초 고가용성 인프라를 구현해 운영하고 있습니다. 동일한 형상을 가진 4개의 K8S 클러스터가 AWS 4개의 가용영역과, 페이먼츠가 사용하고 있는 IDC 내부에 서로 다른 장애격리영역에 분산 배치되어 있어 인프라 시스템의 서비스 연속성이 중단되지 않도록 노력하고 있어요.

토스페이먼츠의 개발자들은 이런 고가용성을 인프라 세부 구성에 대한 이해가 없이도 추상화된 CI/CD 플랫폼을 이용해 배포와 모니터링을 진행하고 있습니다. 이를 통해 모든 서비스가 안정적으로 구동되는 것이 가능하죠.

5단계: 자동화된 코드 업데이트

대규모 MSA 서비스 및 K8S 클러스터 운영을 위해서는 물리적 인프라 레이어부터 응용프로그램 레이어까지의 표준화와 자동화가 매우 중요합니다. K8S는 인프라 영역에 대한 횡단 관심사를 모듈화하여 처리할 수 있게 해주는데요. 수백여 개로 구성된 MSA 서비스에 대한 응용프로그램 영역의 횡단 관심사를 모듈화 하여 처리하기 위해서는 별도의 노력이 필요합니다.

토스페이먼츠에서는 로깅, 모니터링 처리와 같이 전사 시스템에 공통적으로 적용되어야 하는 코드를 common library에 비침투적인 방식으로 작성하고, 런타임에 자동으로 코드가 주입되도록 설계하여 이 문제를 해결하고 있습니다. 이를 통해 토스페이먼츠의 개발자는 어떤 시스템을 담당하게 되더라도 동일한 방법으로 로그 조회, 모니터링, 알림 설정을 하는 것이 가능합니다.

이러한 특징으로 인해 토스페이먼츠 common library의 버전이 모든 MSA 서비스에서 최신으로 유지되는 것이 중요한데요. 150개가 넘는 MSA 서비스를 운영하다 보니 보안 패치나 라이브러리 업데이트가 필요할 때마다 각 팀에게 일일이 요청해야 하는 상황에서 대응이 어려웠습니다. 그래서 토스페이먼츠는 문제가 되는 코드 패턴이나 라이브러리가 발견되면 자동으로 코드를 수정하고 Pull Request를 생성하는 시스템을 개발했습니다.

이런 코드 자동 업데이트 체계 덕분에 전사 공통기능의 빠른 배포에 많은 도움을 받고 있으며, 현재 토스페이먼츠 JVM 계열 서비스의 50% 이상의 Java 17 또는 21 버전을 사용하고 있는데도 한몫하고 있습니다.

최근 출시된 Java 25 버전의 적용도 매우 빠르게 이루어질 것으로 예상하고 있습니다.

6단계: 성능과 안정성

1️⃣ 안정성 관점

일반적인 canary 배포는 애플리케이션 레벨에서만 이뤄집니다. 토스페이먼츠는 인프라 레벨부터 애플리케이션까지 전 계층에서 canary 배포를 지원합니다.

애플리케이션 서버, 즉 WAS 서버의 새로운 버전을 배포할 때 canary 방식으로 트래픽을 조금씩 새로운 서버로 보내는 방식과 같이, 인프라 레이어의 가상머신 클러스터 및 K8S 클러스터들에도 1% 단위로 트래픽을 조절하여 보내는 것이 가능합니다.

클러스터 레벨에 문제가 있거나 작업을 진행해야 하는 경우, 해당 클러스터에서 처리되는 트래픽을 완전히 제거하고, 작업이 완료된 이후 다시 서비스 트래픽을 투입할 때 1% 단위로 트래픽이 전환될 수 있도록하여 안전하게 신규 변경사항을 서비스에 적용할 수 있습니다.

2️⃣ 성능 관점

라스트마일 구간 성능 최적화 - HTTP/3 와 TLS 1.3 적용

모바일 환경은 무선망 특유의 패킷 손실 및 딜레이 현상으로 인해 PC 환경보다 네트워크 환경이 불안정한데요, 이런 환경에서도 더 빠른 서비스를 제공받을 수 있도록 HTTP/3 과 TLS 1.3을 적용했습니다. 빠른 속도와 함께 보안성도 높아지는 장점이 있지요.

대규모 트래픽 대비 - Multi-Layer Cache 아키텍처

최근에는 선착순으로 결제 이벤트를 수행하는 온라인 쇼핑몰이 많아서 순간적으로 트래픽이 수십 배 유입되는 경우들이 종종 발생합니다.

이런 트래픽 폭주 상황에서 대량의 캐시된 데이터가 동시에 만료 이벤트가 발생하거나, 특정 캐시 계층의 장애가 발생할 경우 스토리지 계층에 추가되는 부하를 충분히 막을 수 없어 장애로 이어질 가능성이 있습니다.

토스페이먼츠에서는 빠르고 안정적인 서비스 제공을 위해 대량의 트래픽이 발생하는 구간에는 다계층 캐시를 적용해 운영하고 있습니다.

도메인 특화 서버 구현 - 카드사와의 전문 통신을 위한 멀티플렉싱 서버

PG사와 카드사가 통신할 때는 TCP 통신 방식을 이용합니다. ‘전문통신’이라고도 알려져있는데요, 전문이란 클라이언트와 서버가 주고받을 데이터의 포맷을 미리 정해두고 고정된 길이로 데이터를 인코딩해서 송수신하는 것을 의미합니다.

매번 Connection을 새로 맺어서 통신하는 방법인 동기 방식과, 소수의 TCP 연결(세션)을 유지하고 비동기로 멀티플렉싱 처리를 하는 방법이 있는데요. 구현 편의 때문에 동기 방식을 많이 사용하나, 고성능 서비스를 제공하기 위해서 비동기 통신이 필요할 때 사용할 수 있는 멀티플렉싱 어댑팅 서버를 개발했습니다.

그 결과 결제 요청이 몰리는 시간대의 일부 결제처리의 응답성이 과하게 늦어지거나 실패하는 현상이 말끔히 제거되었습니다.

7단계: 대규모 데이터 조회 기술 - "1분에서 1초로"

온라인 결제를 처리하는 가맹점들에게는 과거 거래 데이터 조회가 매우 중요합니다. 세금신고, 회계처리, 매출 분석 등을 위해 월, 분기, 연단위 거래 및 통계 데이터를 빠르게 조회할 수 있어야 하죠.

보통 장기간의 조회 범위를 가진 대량 데이터에 대한 통계데이터를 제공할 때는 성능문제가 발생하기 때문에, 과거 데이터에 대한 통계 데이터를 생성하는 배치를 통해 미리 통계데이터를 생성해둔 뒤 서비스에서 제공하는 방식을 취하는데요. 결제 시스템에서는 이와 같은 방법을 취하기가 어렵습니다. 몇 년이 지난 결제 건에 대해서도 결제 취소요청이 발생하는데 이 취소요청까지 반영된 통계 결과를 실시간으로 보고 싶어하는 요구사항이 있기 때문이죠.

토스페이먼츠가 해결해야하는 대규모 데이터 조회 문제는 아래와 같은데요. 이러한 문제를 해결하기 위한 대규모 데이터 조회 플랫폼을 구성하여 운영하고 있습니다.

그 결과 기존에 약 1분정도 걸리던 쿼리들이 1초 이내에 응답되도록 하고, 기존에 최근 3개월 데이터만 조회 가능하던 제약사항을 거래 데이터 최대 보관기간인 5년으로 개선되는 효과가 있었습니다.

토스페이먼츠는 출범 이후 거래량이 현재까지 약 2배 정도 증가했는데요. 그럼에도 여전히 검색 기간 제약 없이 빠른 조회가 가능한 서비스를 제공하고 있습니다. 가맹점에서 월, 분기, 연단위로 회계처리를 하기 위해 긴 범위에 대한 데이터 조회를 하는 경우가 상당히 많은데요. 이 개선으로 인해 가맹점에서 기존에 며칠씩 수행하던 업무가 이제 단 몇 분 안에 끝난다며 감사하다고 연락주신 사례도 있습니다.

8단계: 보안 강화

토스페이먼츠는 결제 서비스를 제공하는 금융 회사로, 높은 수준의 보안 레벨을 달성하는 것을 중요하게 생각하고 있습니다.

사이버 보안 위협이 크고 다양해지고 있는만큼, 선제적인 보안성 강화를 위한 투자는 중요한 요소 중 하나인데요. 현재는 경계 보안, 내부망 보안, 업무망 보안, 런타임 보안 강화를 넘어 현재는 컨테이너 런타임 보안 영역까지 수행하고 있으며, 발생하는 보안 이벤트 분석에 AI를 접목하여 보안 대응 체계를 강화하고 있습니다.

보안 위협은 계속해서 추가되고 변화되기 때문에 민첩하게 대응할 수 있는 환경을 구성하는 것이 중요합니다. 그래서 Golden Image 기반의 주기적이고 자동화 된 패치가 용이하도록 하기 위해 모든 서비스가 VM, Container 기반으로 운영될 수 있도록 다양한 Re-Platforming 작업도 수행했습니다.

통신영역에서의 보안 강화를 위해서도 노력하고 있으며, 현재 토스페이먼츠의 모든 endpoint는 TLS v1.3 지원, 민감한 API는 애플리케이션에서 추가적인 전송구간 암호화를 진행하고 있습니다.

이러한 저희의 정보보호를 위한 관리체계는 보안 인증의 획득을 통해서도 검증되고 있습니다.

9단계: 애플리케이션 대개편

마지막이자 가장 큰 도전이었습니다. 2000년도 초반 스타일의 시스템을 현대적 아키텍처로 완전히 재개발하는 작업이었죠.

레거시 시스템 현황

현대화 목표

실시간 결제 서비스의 경우 지난 20년 넘게 유지되어 온 기존 수만 개 가맹점과의 호환성을 유지하면서 시스템을 개편하였고, 가맹점 정산을 처리하는 시스템의 경우 수천 줄의 복잡한 SQL 중심 로직을 코드 기반 배치 시스템으로 개선하여 더 빠르고 안정적인 시스템 개선을 진행할 수 있게 되었습니다.

20년 넘게 유지되어온 가맹점 연동방식과 정산방식은 변경이 불가능하기에, 새 시스템에서도 지난 20년간 지원되어 왔던 기능을 기존과 동일하게 처리해야 하는 어려움이 있었는데요. 지난 SLASH 24의 클릭 한 번으로 테스트 45만 개 완료! 테스트 자동화 플랫폼 구축기를 통해 소개된 적 있는 테스트 자동화 시스템을 통해 regression test가 수행되어 안정적이게 개선된 서비스를 배포할 수 있었습니다.

개편의 결과, 현재 토스페이먼츠는 어디에 있는가?

20년 넘게 유지되어 온 레거시 시스템을 개편한 토스페이먼츠, 지금은 어떤 시스템을 운영하고 있을까요?

토스페이먼츠는 Public Cloud와 Private Cloud가 혼합된 Hybrid Cloud 환경에서 물리적 인프라 구성을 추상화해 제공합니다. 또한, 1% 단위로 신규 버전을 점진적으로 배포할 수 있는 트래픽 조절 기능을 갖춘 CI/CD 플랫폼을 통해 안전하고 유연하게 서비스를 운영하고 있습니다.

아울러, 광범위한 표준화와 자동화 활동을 통해 DevOps와 Platform Engineering 역량을 축적해왔습니다. 이를 기반으로 시스템의 개발·운영 프로세스를 일관된 표준으로 정립하여 효율성과 안정성을 극대화하고 있습니다.

보안 측면에서도 최신 기술 아키텍처에 맞춰 대응력을 강화하고 있습니다. Zero Trust Network Architecture(ZTNA)를 적용하고, 호스트 런타임 보안을 넘어 컨테이너 런타임 보안까지 확대 투자하고 있습니다. 또한, AI 기반의 보안 이벤트 분석을 도입해 보안 위협 대응 속도를 한층 높였습니다.

마지막으로, 수십억 건의 데이터를 SQL 문법으로 sub-second 수준의 지연(latency)으로 서빙할 수 있는 기반 기술을 바탕으로, 폭증하는 거래량과 데이터를 실시간으로 처리·시각화하는 고성능 대시보드 서비스를 제공하고 있습니다.

레거시에 대한 존중, 미래에 대한 준비

토스페이먼츠의 지난 5년은 단순한 '레거시 대체' 프로젝트가 아니었습니다. 20년간 대한민국 결제 시장을 묵묵히 지켜온 시스템에 대한 존중을 바탕으로, 그 위에서 더 나은 미래를 차근차근 쌓아올린 과정이었습니다. 수만 개 가맹점의 하루도 멈출 수 없는 사업을 지키면서도, 동시에 혁신을 멈추지 않았습니다. 안전함과 도전, 안정성과 민첩성이라는 상반된 가치를 동시에 추구하며 균형점을 찾아갔습니다.

토스페이먼츠는 결제 산업을 기술로 혁신할 수 있다고 믿습니다. 토스페이먼츠의 여정은 아직 끝나지 않았습니다. 함께하는 가맹점이 더 빛날 수 있도록, 사업자의 유일무이한 기술 파트너가 되기 위한 고민과 노력이 오늘도 계속되고 있습니다.

대한민국의 보이지 않는 결제 백본을 만들어가는 이 멋진 여정에 함께하고 싶다면 토스페이먼츠에 합류하세요. 20년 레거시를 개편한 엔지니어링 고수들과 함께 다음 10년을 만들어갈 분을 기다립니다.

✅ 이번 아티클은 아래 Toss Makers Conference 25의 세션을 바탕으로 재구성되었습니다.

댓글 0댓글 관련 문의: toss-tech@toss.im
㈜비바리퍼블리카 Copyright © Viva Republica, Inc. All Rights Reserved.