본문 바로가기

[기고] 우려를 혁신으로 바꾼 '토스뱅크, 오픈소스 스토리'

토스뱅크 박준하 CTO

토스뱅크는 2021년 10월 대고객 서비스를 오픈했다. 약 3년이 지난 지금 1,100만 명이 넘는 고객들이 있으며, 매일 사용하는 고객들도 300만 명이 훌쩍 넘는다. 토스뱅크는 토스앱 안에서 서비스를 제공하며, 토스앱의 월간 사용자 수는 1,900만명을 넘는다. 토스뱅크는 많은 트래픽을 안정적으로 처리하며, ‘지금 이자 받기’, ‘먼저 이자 받는 예금’, ‘무료 환전’ 같은 혁신적인 서비스를 제공한다.

이 모든 것들을 스마트폰 안의 하나의 앱에서 제공하고 있다. 인터넷 은행이라 비대면 지점을 운영할 수 없는 제약이 있기도 하지만, 스마트폰 하나로 거의 모든 것을 해결할 수 있는 세상이다. 그렇기에 모바일 사용은 점점 늘어나고 사람들도 그 안에서 많은 것을 해결하려고 한다. 그러다 보니 모바일 서비스 사용자도 늘고, 비대면 서비스는 자연스러운 흐름이다.

모바일과 비대면 서비스의 확산은 제품 자체의 경쟁력이 굉장히 중요하다. 아무리 오래 사용한 서비스라도, 더 좋은 서비스가 나오면 새로운 앱을 설치해 실행하면된다. 이런 상황이다보니 제품 자체의 경쟁력은 필수적이다. 여기서 문제는 제품의 뛰어난 경쟁력을 위해 어떻게 하면 될지 정답이 있지 않다는 것이다. 정답을 알지 못하기 때문에 여러 시도를 해보고 고객의 반응을 분석하고 방향을 정하는 그 과정을 반복하는 것이 너무 중요해졌다. 인터넷 포털 회사를 비롯한 많은 빅테크 회사들은 이 과정을 “실험”이라 부르고 있고, 이 실험을 빠른 속도로 다양하게 할 수 있는 것이 중요하게 되었다.

여기서 IT의 발전 방향은 크게 바뀌었다. 이전에는 주어진 요건들을 효율적이고 안정적으로 잘 동작하도록 만드는 것이 굉장히 중요했다. 하지만 이제는 변화에 유연하게 만드는 것이 너무 중요하다. 빠른 변화를 지속적으로 만들고, 고객이 사용할 수 있도록 배포하고, 그로부터 의미있는 데이터를 뽑아낼 수 있는 환경이 중요하다. 그리고 이 과정에서 빠르게 변화할 수 있고 생산성 높은 방법들이 크게 중요하게 되었다.

반면 은행은 굉장히 보수적인 산업이다. 변화가 나라의 경제에 큰 영향을 미칠 수도 있고, 혹시라도 일부 시스템에 문제가 생긴다면 그건 국가적 영향을 줄 수도 있다. 특히 돈을 다룬다는 특성상, 1원의 오차도 허용되지 않는 민감한 분야다. 그리고 20여년 전만 하더라도 은행 계좌를 만들거나 대출을 받기 위해서는 부근에 있는 은행 지점들을 찾아가야 했다. 그러다보니 사람들은 내 생활 반경 가까이 있는 은행 지점이 어디인지에 따라 사용하는 은행을 선택하는 경우가 많았다. 이런 상황이다보니 큰 변화가 있기 힘들고, 그 안에 보수적인 문화도 자리 잡았다.

하지만 이제 시대가 바뀌었다. 모바일과 비대면 서비스가 매우 중요한 시대가 되었고, 나 역시 지금 당장 스마트폰을 꺼내 앱을 설치하고 은행 계좌를 바꿔서 모든 자산을 옮길 수 있다. IT서비스와 마찬가지로, 은행 역시 제품의 경쟁력이 매우 중요한 시대가 되었다. 이러한 환경에서 IT 분야의 변화를 자연스럽게 수용할 수밖에 없는 상황이 되었다.

토스는 은행을 포함한 여러 금융 서비스를 모아서 제공하는 금융 플랫폼 앱이다. 핀테크라 불리는 만큼 Finance에 뛰어난 IT기술을 접목하여 사용자 친화적인 서비스를 만들고 있다. 사람들은 기존에 불편했던 금융 서비스와 달리 사용자 친화적인 쉬운 서비스를 보고 굉장히 열광하며 많이 사용하고 있다. 이런 서비스를 만드는 과정은 빅테크 회사가 그러하듯 고객이 좋아하는 서비스를 찾기 위해 굉장히 많은 실험 과정에서 진화한 모습이다. 토스는 정말 실험을 많이 하는 회사로 유명하다.

토스에서 이런 실험을 많이 하기 위해서는 많은 기술들을 사용해야 했는데, 대부분 오픈소스를 사용하고 있다. 그리고 대부분의 빅테크 IT회사들 역시 오픈소스를 굉장히 많이 활용하고 있다. 이것은 어찌보면 선택이 아니라 필수적인 선택이었다. 그 이유는 오픈소스만큼 기술이 빠르게 진화하는 환경이 없기 때문이다. 이미 완성된 기술은 별로 없다. 항상 문제나 개선할 점이 발견되는데 그것을 빠르게 바꿔서 배포할 수 있는 생태계가 오픈소스인 것이다. 토스는 핀테크 앱으로서 많은 금융기관과 연동하면서 안정적이고 빠른 변화를 오픈소스 기반으로 성공적으로 만들어왔다.

토스뱅크에서 은행 시스템을 만들 때 처음부터 모든 것을 다 새로 만들 수는 없었다. 토스가 개발을 아주 잘 하는 회사이긴 하지만, 은행을 만들어야 했을 때 어떤 요건으로 은행을 만들어야 하는지 모든 것을 알 수 없었다. 그래서 처음에는 시중은행을 만들어본 곳의 도움을 얻었고, 외부의 은행 시스템을 사와서 토스뱅크에 맞게 수정하는 작업을 거쳤다. 그 은행 시스템과 연동하여 모바일 서비스를 만드는 것은 우리가 가장 잘 한다고 생각하여 모바일 시스템은 처음부터 새로 다 만들었다. 물론 그 과정에서 토스에서 겪었던 많은 경험들을 고려하여 개발하게 되었다. 최초 구축이 끝난 이후는 토스뱅크 자체적으로 모든 개발과 운영을 내부에서 다 진행하고 있다. 이런 이유가 있다보니 토스뱅크 안에는 기존 은행 시스템과 빅테크 IT의 모습이 같이 있게 되었다.

우리는 시중은행과 빅테크의 시스템이 굉장히 다른 모습인 것을 알 수 있었는데, 시중은행의 경우 대부분 솔루션 기반으로 운영되고 있었고, 빅테크 시스템은 오픈소스 기반으로 운영되는 것을 알 수 있었다. 솔루션 기반이라 하면 원하는 기능을 제공하는 외부 제품을 찾고, 그 제품을 공급받아 내부 시스템에 적용하는 것이다. 해당 제품의 기능을 개선하거나 문제를 해결하려고 한다면 대부분 솔루션 회사의 도움을 얻어야 한다. 반면 오픈소스는 그것을 자체적으로 적용하고 운영해야 한다. 기술적인 난이도는 있지만, 제품의 기능을 개선하거나 문제 해결하는 것은 내부의 역량에 따라 직접 진행할 수 있다.

토스뱅크는 이 안에서 오픈소스를 채택하였고, 솔루션 기반으로 되어 있는 한 쪽의 기존 시스템 역시 바꿔가는 과정을 진행하고 있다. 이렇게 오픈소스를 채택한 이유는 크게 세 가지가 있다.

첫번째로, 변화를 빠르게 만들어갈 수 있다. 토스뱅크 안에서도 솔루션을 사용하는 부분을 개선할 아이디어가 굉장히 많이 있었다. 하지만 이 부분을 바꾸기 위해서는 솔루션 제공 회사에 요청을 해야 한다. 이 과정에서 비용이 추가로 요구될 뿐만 아니라, 우리가 원하는 일정 내에 작업을 완료하기도 매우 어렵다. 솔루션 자체의 개발 방향이 있을텐데 우리의 요구사항을 다 들어주기도 힘들고, 적용하기로 결정하더라도 그 내부 인력 상황 등의 많은 이슈가 존재한다. 토스뱅크 내부에서 비슷한 작업을 오픈소스 기반으로는 어떤 경우 몇 분 안에도 바꾸고 적용할 수 있는 부분을 솔루션 기반에서는 몇 개월이 걸리는 경우도 많다. 모바일과 비대면의 환경 안에서 빠른 개선을 통해 변화를 가져가기에는 너무 오래 걸리는 상황이다.

두번째는 오픈소스의 발전 속도이다. IT분야는 학계 이상으로 산업에서의 발전이 빠른 분야이다. 이 안에서 메이저 놀이터된 코드를 가지고 굉장히 많은 개발자들이 같이 논의하며 발전시켜가고 있다. 그리고 이것을 제품화하기 위해 패키징하는 과정이나 도입을 위해서 따로 작업해야 하는 부분도 거의 없다. 해당 코드와 기능을 이해하고 자체적으로 검증과 테스트를 할 수 있다면 오픈소스는 언제든 도입을 할 수 있다. 그렇기에 더 좋은 효율과 안정성을 가진 제품들을 빠르게 적용할 수 있다.

세번째는 역량이 뛰어난 개발자를 모시기에도 좋다. IT서비스를 만드는 것에는 개발자의 역량이 너무 중요하고, 개발자는 무엇보다 개발을 잘 해야 한다. 개발을 잘 하는 것은 논리적인 사고와 전반적인 컴퓨터 공학 지식이 중요하지만, 또 하나는 사용하는 기술을 깊게 이해하고 익히고 있는 것이다. 이때 IT회사와 빅테크에서 통용되는 기술들이 대부분 오픈소스 기반이고, 그 경험을 가지고 있는 개발자는 훨씬 많다. 적어도 특정 회사에서 만든 기술을 사용할 줄 아는 사람들보다는 많을 수 밖에 없다. 그리고 같은 기술을 사용하는 회사들 안에서는 그동안 쌓인 능력을 다른 회사에서도 충분히 활용할 수 있다. 반대로 토스뱅크에서 뛰어난 기술을 익힌 개발자분들 역시 나중에 다른 회사에 가더라도 그 곳에서 뛰어난 실력을 겸비한 채로 또 큰 활약을 할 수 있을 것이다. 이런 것은 토스뱅크가 IT산업 전반에도 좋은 영향을 줄 수 있을 것으로 기대한다.

토스뱅크가 처음 외부에서 도입한 시스템은 대부분 솔루션 기반이었고, 특정 회사 제품에 의존한 시스템도 있었다. 이미 금융권에서는 많이 사용되고 굉장히 안정적인 제품들이었다. 하지만 내가 볼 때는 비효율적인 부분들이 많았고, IT가 빠르게 발전한 속도를 최소한 금융IT에서는 따라오지 못하고 있다고 느꼈다. 그래서 도입한 특정 시스템에 오픈소스 도입을 주장하였다. 하나의 사례는 은행 계정계 시스템에 오픈소스인 KAFKA를 도입하자고 한 것이었다. KAFKA는 이미 많은 IT회사에서 사용하고 있었으며, 굉장히 큰 트래픽을 다루는 곳에서도 안정적으로 잘 운영을 하고 있었다. 나 역시 토스에서 이미 운영한 경험이 있었고 전혀 문제 없이 적용할 수 있었다. 그래서 이 주장은 아무런 반대가 없을 줄 알았다. 하지만 그 이후 시스템을 구축하는 외부 회사와 여러 회의가 잡혔고 그 내용은 은행 계정계 시스템에 KAFKA를 도입할 수 없다는 것이었다. 몇몇 반대 주장이 있었지만 대부분 논리적인 근거가 없어 설득이 가능했다. 하지만 마지막으로 남은 문제는 “은행 시스템에 KAFKA를 도입한 레퍼런스가 없다”는 것이었다.

시스템의 개선과 도입은 안정성을 위해, 어느 방법이 더 효율적이고 변화에 유연한 시스템인지를 판단해야 한다. 이때는 기술적인 장단점을 따져보고 검증해서 도입하면 된다. 물론 레퍼런스가 있다면 그 경험을 바탕으로 여러 고민할 점들을 미리 대응할 수 있을 것이다. 하지만 금융권 특성상, 레퍼런스가 없다는 이유로 새로운 기술 도입을 꺼리는 경우가 많다.

이런 금융권의 보수적 성향 속에서도, 토스뱅크는 오픈소스를 적극적으로 도입하며 변화와 혁신을 만들어냈다. 특히 안정성과 유연성을 동시에 충족시켜야 하는 어려운 과제 속에서도 과감한 도전을 이어갔다. 예를 들어, 은행 계정계 시스템에 오픈소스 기술인 KAFKA를 도입하는 과정은 이러한 혁신의 대표적인 사례다.

은행 시스템에 도입한 레퍼런스가 없다는 주장에 대해서, 결국은 문제에 대한 책임은 내가 다 지는 것으로 외부 업체를 설득하고 나서야 그 일을 진행할 수 있었다. 그 분들이 우려하며 주장하는 태도 역시 너무 진중해서 진정성은 느껴졌지만, 나의 논리를 설득하진 못했다. 그렇게 토스뱅크 계정계 시스템에 도입한 KAFKA는 토스뱅크 오픈 후 만 3년이 지나, 굉장히 많은 고객이 사용하는 지금도 매우 안정적으로 잘 운영되고 있다. 특히 기존에 있던 방식보다는 훨씬 효율적이고 안정적인 상황을 유지하고 있다. 많은 분들이 우려했던 그 일은, 만 3년이 지난 지금도 일어나지 않았다.

한번씩 그때의 상황이 생각난다. 금융권 레퍼런스가 없어서 오픈소스를 도입할 수 없다는 얘기를 하는 그 분들은 진심이었다. 나도 그때 레퍼런스가 있었으면 훨씬 쉽게 설득하고 시도할 수 있지 않았을까? 지금 토스뱅크는 정말 많은 오픈소스를 도입해 운영하고 있으며, 대부분의 모습이 IT회사나 빅테크회사와 유사하다. Kotlin, Spring Boot, JPA, Redis, Mysql, Mongo, Kafka, Kubernetes 등 너무 많은 오픈소스 기반 기술들을 사용하고 있다. 이 정도면 토스뱅크는 금융권에서 오픈소스를 활용한 레퍼런스로는 충분하지 않을까?

혹시라도 금융권에서 오픈소스 도입이 어려운 곳이라면 토스뱅크에 연락해주시면 좋겠다. 특히 레퍼런스 부족으로 어려움을 겪는다면 토스뱅크가 해결책이 될 수 있다.

토스뱅크는 “이전으로 돌아갈 수 없는 새로운 은행 경험을 제공한다” 는 비전을 실현하기 위해 노력하고 있다. 또한 토스뱅크의 뛰어난 엔지니어들은 대한민국 금융IT의 수준을 글로벌 빅테크 수준으로 올리자는 생각도 가지고 있다. 이를 통해 대한민국 금융IT가 더 발전하고, 효율적으로 동작하면서 더 좋은 금융서비스를 같이 만들어가면 좋겠다. 많은 우려가 있었지만, 토스뱅크의 선택은 금융 IT의 혁신으로 이어졌고, 현재까지 큰 문제 없이 성공적으로 운영되고 있다.

메이저 놀이터 박준하 CTO 토스뱅크 박준하 CTO

~ 현재 토스뱅크 최고기술책임자
- 2019년 토스혁신준비법인 최고기술책임자
- 2017년 비바리퍼블리카(토스)
- 2015년 플레이독소프트
- 2013년 파이낸시스 이사, 열두시 개발 총괄 이사

맨 위로
맨 위로