카카오페이 서비스플랫폼실을 소개합니다

하나가 아닌 ‘전체’를 보는 시스템 설계,
극한의 트래픽을 다루는 플랫폼이 궁금하다면?

카카오페이의 편리하고 안정적인 서비스 뒤에는, 보이지 않는 곳에서 든든하게 시스템을 받쳐주는 서비스플랫폼실이 있어요 🧑🏻‍💻

서비스플랫폼실에서는 정확히 어떤 일을 하는지 궁금하셨을 많은 분들을 위해, 카카오페이의 핵심 플랫폼을 만들어 가는 크루 Sun, Dealle, Felix 세 분을 모시고 어떤 멋진 일을 하고 있는지 직접 들어봤어요!


어떤 일을 하고 있나요?

카카오페이 서비스플랫폼실 크루 Sun, Dealle, Felix

🙋‍♀️ Sun : 카카오페이 사용자와 ‘서비스를 만드는 내부 담당자’, 이 두 고객을 모두 만족시켜야 하는 특별한 역할을 맡고 있어요.

사용자에게는 회원가입, 약관 동의, 탈퇴 같은 꼭 필요한 계정 기능을 제공하고, 혹시 모를 도용 걱정 없이 안심하고 쓰실 수 있도록 매 순간 계정 유효성을 항상 체크하고 있어요. 가끔은 ‘너 내가 알던 춘식이 맞아?’ 하고 본인확인 절차를 요구하기도 하죠.

동시에 서비스에 계정 정보를 빠르고 안정적으로 제공하는 것도 중요한 역할인데요, 서비스가 필요로 하는 정보라면 없던 API도 뚝딱 만들어 제공하기도 해요. 이런 일들을 하기 위해 주로 java/kotlin, Spring framework, thrift, MySQL, Kafka, Redis, Arcus 같은 기술들을 사용하고 있어요.

🙋‍♂️ Dealle : 수천만 사용자들이 카카오페이를 안전하고 편리하게 쓸 수 있도록 돕는 세 가지의 플랫폼을 담당하고 있어요.

API Gateway는 사용자가 카카오페이를 만나는 가장 첫 관문이에요. 모든 요청을 안정적으로 적절한 서비스로 보내주고, 공통 정책 적용 같은 역할을 하죠. 빠르고 안정적인 처리로 서비스 전체 흐름을 매끄럽게 만드는 게 목표예요. 주로 Spring Cloud Gateway, webflux, mysql을 사용해요.

인증플랫폼은 다양한 인증 방식으로 사용자의 안전한 서비스 이용을 돕는 곳이에요. 보안 요건에 따라 유연하게 인증 수단을 선택할 수 있고, 인증 과정 추적이나 분석도 쉽게 만들었죠. 여기서는 SpringBoot, Kotlin, Arcus, MongoDB, Mysql, Kafka 등을 사용하고요.

마지막으로 메시지플랫폼은 카카오페이와 사용자 사이의 소통을 담당해요. 서비스 이용 과정에서 발생하는 각종 안내, 알림, 인증 메시지를 제때 안정적으로 받아볼 수 있도록, 다양한 전송 채널을 관리하는 기반 역할을 하고 있답니다. 이 플랫폼에서는 SpringBoot, Kotlin, Arcus, Redis, Kafka, Mysql, MongoDB 등을 활용해요.

🙋‍♂️ Felix : 카카오페이 개발자센터와 외부 회사 연동에 사용되는 중요한 API Gateway를 만들고 제공하는 일을 하고 있어요. 카카오페이가 외부와 주고 받는 모든 통신이 저희 플랫폼을 거쳐 안전하게 이루어지도록 하는 게 팀의 가장 큰 목표예요.

아무래도 카카오페이 전체의 공용 플랫폼이고 외부와 직접 연결되다 보니, 다양한 서비스에 사용되면서 생기는 여러 문제들을 해결해야 하는데요. 그래서 DevOps, 인프라, 보안 담당자분들과 정말 긴밀하게 협력하면서 장애 없는 플랫폼을 만들기 위해 노력하고 있어요.

성능과 안정성을 위해 주로 Kotlin, Spring Boot, Spring Cloud Gateway, Spring Batch, Kubernetes, DB(MySQL, MongoDB), Redis, nginx, Kafka 같이 안정성이 검증되고 카카오페이 내에서 사용하기 편한 기술 스택을 활용하지만, 문제 해결에 꼭 필요할 때는 비주류 기술도 과감히 활용하고 있어요.


플랫폼 개발의 매력은 무엇일까요?

플랫폼 개발은 여러 서비스가 공통으로 사용하는 기능을 만들어 제공함으로써, 중복 작업을 피하고 사용자 만족에 집중할 수 있도록 돕는 핵심적인 역할을 해요. 특히 카카오페이 서비스플랫폼실에서는 이런 경험을 할 수 있어요.

⚙️ 재사용성과 확장성을 고려한 범용 설계 경험
플랫폼은 현재는 물론 미래에 생겨날 서비스까지 고려해서 범용적이고 유연한 구조로 설계되어야 해요. 따라서 자연스럽게 재사용성과 확장성을 깊이 고민하게 만들고, 단순히 기능을 구현하는 걸 넘어 미래의 문제까지 대비하는 설계 역량을 키울 수 있는 기회를 제공하죠.

⛑️ 대규모 트래픽 처리 및 안정성 확보 경험
모든 서비스의 요청을 처리하는 관문이기 때문에 대규모 트래픽을 다루는 경험은 플랫폼 개발의 중요한 특징이에요. 작은 장애도 전체 서비스에 영향을 미칠 수 있어서, 기능 구현 외에도 안정적이고 신뢰성 있는 시스템 운영에 대한 깊이 있는 고민과 기술적 깊이를 요구해요. 이런 점이 개발자로서 한 단계 더 성장하는 발판이 돼요.

🌱 다양한 요구사항 조율 및 협업을 통한 성장
플랫폼은 최종 사용자뿐 아니라 내부 서비스 개발팀이라는 또 다른 고객을 만족시켜야 해요. 여러 팀의 각기 다른 요구사항 속에서 공통 영역을 발굴하고 기능화하고, 이를 조율하고 협업하는 과정은 필수적이죠. 이 과정에서 다양한 도메인을 접하고 기술과 서비스의 균형 잡힌 시각을 기를 수 있고, 만들어낸 공통 기능이 잘 활용될 때 큰 보람을 느껴요.

플랫폼 개발은 기술적 깊이뿐만 아니라, 미래를 내다보는 설계 능력과 대규모 시스템 운영 경험, 그리고 다양한 이해관계자와의 조율 및 협업 능력까지 종합적으로 성장할 수 있는 매력적인 분야예요. 백엔드 개발자라면 언젠가 한 번쯤은 경험하고 싶은 분야 아닐까요?


카카오페이에서 일했던 시간, 어땠나요?

🙋‍♀️ Sun : 제가 카카오페이 계정플랫폼에 합류했을 때는 회사가 빠르게 성장하면서 핀테크 회사로서 안정성과 신뢰성이 화두가 되던 시기였어요. 계정플랫폼은 카카오페이의 모든 서비스가 사용하는 플랫폼이었기 때문에 더 높은 안정성이 요구되었죠. 빠르고 자유롭게 개발하던 분위기에서 갑자기 안정성을 최우선으로 생각해야 하는 변화에 적응하는 게 쉽지만은 않았어요.

하지만 돌이켜보면, 바로 그 과도기를 거치면서 개발자로서 한 단계 더 성장할 수 있었던 것 같아요. 안정적이면서도 유사시 빠른 회복력을 가진 플랫폼을 만들기 위해 깊이 고민하고 실행했던 시간들, 또 장애 알림만 떠도 심장이 쿵쾅거리고 전사 장애 공유 채널에 글 쓰는 것조차 무서워했던 제가 조금씩 단단해지는 걸 스스로 느꼈거든요.

🙋‍♂️ Dealle : 플랫폼 개발자로 일하면서 기술을 바라보는 시야가 자연스럽게 더 넓어지고 깊어지는 시간이라고 느끼고 있어요. 플랫폼 개발자는 여러 서비스가 플랫폼을 믿고 안심하고 쓸 수 있도록 만들고, 그 기반 위에서 더 좋은 서비스가 만들어질 수 있도록 든든하게 지원해야 한다고 생각하거든요.

그런 역할을 수행하기 위해서는 전체 시스템의 안정성, 확장성, 신뢰성이 전제되어야 하기 때문에 그만큼 더 많은 부분을 고민하게 되고, 또 담당하고 있는 플랫폼에 대해서는 더 깊은 전문성을 쌓아가는 시기라고 생각해요.

🙋‍♂️ Felix : 시니어 개발자로서 카카오페이 서비스 전반에 걸쳐 활용되는 핵심 플랫폼을 직접 기획하고 만들어 볼 수 있는 좋은 경험을 하고 있다고 생각해요. 플랫폼을 직접 만들고 운영하는 과정에 참여하다 보면 기술적인 성장은 물론이고 자연스럽게 플랫폼 자체에 대한 이해도가 깊어질 수밖에 없거든요. 이 과정에서 다른 플랫폼을 더 잘 활용할 수 있는 개발자로 성장하는 소중한 기회라고 생각해요.


마지막으로 전하고 싶은 한 마디!

직책이나 경험에 상관없이 누구나 자신의 생각을 자유롭게 이야기하고 동료의 의견에 진심으로 귀 기울이고 있어요. 이를 바탕으로 건강하면서도 솔직한 토론이 아주 자연스럽게 이루어지죠.

이런 문화 속에서 저희는 더 좋은 플랫폼을 만들고 함께 성장하기 위해 즐겁게 고민하고 노력하고 있어요. 기술적인 성장과 더불어 멋진 동료들과 수평적인 문화 속에서 함께하고 싶으신 분들이라면, 서비스플랫폼실 꼭 기억해 주세요!


서비스플랫폼실과 플랫폼 개발에 대한 이야기, 어떠셨나요?
카카오페이 서비스플랫폼실 크루들이 만들어 갈 더 나은 플랫폼과 서비스에 많은 기대와 응원 부탁드려요!

위의 포스트를 공유할 수 있어요

추천 컨텐츠