▲ 박준하 토스뱅크 최고기술책임자(CTO)가 18일 서울 중구 대한상공회의소에서 열린 IT서비스학회 2022 춘계학술대회에 연사로 나서 발표하고 있다.
▲ 박준하 토스뱅크 최고기술책임자(CTO)가 18일 서울 중구 대한상공회의소에서 열린 IT서비스학회 2022 춘계학술대회에 연사로 나서 발표하고 있다.

"현재 대부분의 은행들은 굉장히 큰 모놀리틱(monolithic·한 덩어리, 단일체) 시스템을 운영하며 거의 20, 30년전의 모습을 그대로 가지고 있다. 하지만 IT서비스 기반의 회사들은 그렇지 않다. 토스뱅크가 기존 은행들과 다른 이유다."

박준하 토스뱅크 최고기술책임자(CTO)는 18일 서울 중구 대한상공회의소에서 열린 IT서비스학회 2022 춘계학술대회에 연사로 나서 기존 은행과 '디지털뱅크'의 차이점을 이 같이 밝혔다.

박 CTO는 IT 서비스 아키텍처 변화와 은행 시스템 혁신 방안을 주제로 발표했다. 토스뱅크가 고객들에게 뱅킹 서비스를 끊김없이, 또 효율적으로 제공하기 위해 내부적으로 시스템을 어떻게 애자일하게 변화시켜 왔는지 설명했다.

토스뱅크가 활용하고 있는 시스템은 MSA, 소위 마이크로 서비스 아키텍처라고 불리는 체계다. 전통적인 금융권이 갖추고 있는 모놀리틱 시스템과 달리, 각각이 서비스별로 쪼개지는 구조를 갖추고 있다. 이로 인해 토스뱅크의 경우 여신 수신 카드 서비스는 서버와 데이터베이스가 별도로 분리되며, 시스템의 직접적인 참조 대신 HTTP API 등의 통신을 통해서만 참조를 진행한다.

박 CTO는 이를 두고 "기존 모놀리틱 시스템에 비해 매우 슬림해진 구조를 갖출 수 있게 됐다"고 설명했다. 그러면서 "쪼개지는 서비스가 많아졌지만 리소스 낭비 등의 문제는 기술 발전으로 대부분 해결된 상황"이라고 덧붙였다. 가상화 기술이 발전함에 따라 물리적인 리소스를 유연하게 사용할 수 있게 돼 서비스를 쪼개는 과정이 낭비로 이어지지 않게 됐다는 논지다.

기존 금융권이 제기하는 각 모듈간 정보 공유의 단절 문제, 네트워크간 빈번한 호출에 따른 레이턴시 영향 극대화 문제 등도 상당 부분 해결했다. 동시에 유연한 변경과 새로운 서비스의 배포가 가능하다는 장점을 더해 고객 맞춤형 서비스를 구현한다.

토스뱅크가 기존 은행과 가장 큰 차이점은 채널계가 전달자 역할에 그치는 것이 아니라, 실제로 수행자의 역할을 하고 있다는 점이다. 이는 모놀리틱 시스템인 계정계가 더 커지는 것을 방지하고, 테스트 자동화, 서비스 배포 시점의 문제 인지 및 빠른 롤백 등의 시스템을 구축하는 결과로 이어지고 있다.

박 CTO는 "토스뱅크도 계정계는 은행 서비스를 빠르게 구축하는 과정에서 아직은 과도기적으로 기존 금융사의 것을 유지하고 있으며 이 또한 점차 토스뱅크만의 모습으로 구축해 나갈 계획"이라며 "현재 추가되는 서비스는 채널계 서버에 반영해 빠르고 유연하게 대처해 나가고 있다"고 피력했다. 

그는 "기존 은행서비스는 텔러 중심의 서비스이다 보니 시스템의 구조 또한 고착화될 수밖에 없었다"며 "반면 IT 서비스 회사들은 고객과의 접점 속에 많은 발전을 이뤄왔고, 은행서비스도 고객에게 매우 밀접한 서비스로 커가기 위해서는 IT 서비스에서 해법을 찾아야 한다"고 강조했다. "토스뱅크가 그 혁신을 계속 이끌 것이고, 시장에 적극적으로 공유해가겠다"고 덧붙였다.

다음 연사로 나선 민재슬 개발자는 토스뱅크의 완전히 새로운 대출 시스템을 주제로 발표하며, 토스뱅크가 직접 내재화한 시스템, 전통적인 금융 시스템과의 연계를 새롭게 디자인한 측면을 강조했다.

특히 대출 심사 과정에서 관계 기관들이 트래픽양을 감당하지 못해 마비되는 문제를 언급하며, 이를 해결하는 방법을 사례로 소개했다. 민 개발자는 "사용자수가 갑자기 증가해 대외기관이 처리할 수 있는 트래픽의 양보다 많은 요청을 동시에 보내면 결국 상대 대외기관이 마비될 수밖에 없다"며 "토스뱅크는 대외 기관이 견딜 수 있을 만큼의 트래픽을 처리할 수 있도록 유량 제어 시스템을 도입했다"고 말했다.

갑자기 많은 사용자가 토스뱅크에 진입하더라도 사용자는 안정적으로 대출심사를 받아볼 수 있도록 시스템을 설계한 것이다. 비즈니스 로직을 처리하기위한 관계형 데이터베이스로 마이SQL(MYSQL), 이벤트 처리를 위한 메시지 서비스로는 카프카(KAFKA) 그리고 유량제어와 캐시 처리를 위해서 레디스(REDIS)가 쓰였다. 전통적인 금융시스템과 달리, 독립된 서비스마다 필요에 따라 비즈니스 문제를 해결하는 구조를 취한다.  

일반적으로 은행시스템은 고전적인 아키텍쳐로 구성돼 변화에 수동적인 것으로 인식되는 경우가 많다. 하지만 토스뱅크의 여신시스템은 구축 초기부터 변화에 빠르고 안정적으로 대응할 수 있도록 구축됐다. 대출이 실행되기까지 다양한 정보가 필요하고 각 비즈니스 로직에서 구축된 데이터베이스 정보와 더불어 코어뱅킹에서 제공하는 정보를 적절하게 활용할 수 있도록 설계된 덕분이다.

민 개발자는 "올해 1월 토스뱅크 대출 재개와 함께 많은 고객들이 몰리면서 유량제어시스템이 가동됐다"며 "대외기관과의 파이프라인을 구축해 놓은 덕분에 토스뱅크의 트래픽이 대외기관에 전달되지 않을 수 있었고, 많은 고객들이 원하는 대출 실행 결과를 받아볼 수 있었다"고 밝혔다. "토스뱅크의 모든 시스템이 가동돼 유연하게 상황에 대처한 것이 문제 해결로 이어진 것"이라고 자부했다.

저작권자 © 블로터 무단전재 및 재배포 금지