본문 바로가기
개인글

네이버페이 주문서 시스템 전환 완료

by ybs 2023. 11. 25.
반응형

길고 길었던(월 거래액 5조가 넘는 주문/결제 시스템 전환은 정말 오래걸렸다) 신주문서 프로젝트가 드디어 끝났다. 아직 남은 작업들이 존재 하지만 중요한 작업들은 모두 마쳤다. 6월에 8부능선 넘었다고 글을 썼는데 최종 전환까지의 과정은 순탄치 않았다. 다양한 문제가 발생해서 하루에도 몇번씩 운영 배포 하고 모니터링을 계속했다.

 

눈앞에 결승점이 보이는데 자꾸 넘어져서 앞으로 못간다는 느낌을 많이 받았다. 그래도 그 힘든 과정을 다 이겨내고 끝을 맺을수 있어서 행복하다.

신주문서TF 해산 파티

 

 

개인적으로 신주문서TF 로 온건 정말 잘한 선택이었다. 더 큰 세상을 경험할 수 있었고 그만큼 나도 더 강해졌다. 그전까지는 5년 정도 플랫폼 조직에서 개발했다(어느덧 벌써 8년차). 플랫폼을 개발 한다는건 아래 그림과 같은 느낌이다. 후방에서 네이버 서비스 조직 개발자들을 서포트 하는 역할이다. 나는 맡은 프로젝트가 끝나면 코드 재정비 시간을 가질 수 있었고 미진한 부분을 채울 수 있는 여유도 있었다.

 

 

신주문서TF 로 오면서 비로소 서비스 개발을 경험했는데 아래와 같은 느낌이었다. 코드 재정비는 사치였고 쏟아지는 사업/기획 비지니스 스펙 개발 하늬라 정신이 없었다. 항상 '돈버는 조직 부럽다 부럽다' 했었는데 그 무게가 장난 아니었다. 

출처: 고지전

 

네이버페이 서비스를 위해 고군분투하는 분들을 보며 나도 ownership 을 갖고 신주문서 개발에 임했다. Plasma 팀이 그동안 쌓아올린 신뢰를 무너뜨리고 싶지 않았고 네이버페이 사업에 피해 주고 싶지 않았다.

 

또한 우리가 만든 신주문서 시스템을 언젠간 네이버파이낸셜 주문형페이 개발팀에서 이어받아 개발해야 되기 때문에 코드를 작성할 때 신경을 많이 썼다. 그럼에도 스스로 부족하다고 느낀 부분이 많았다. 그래서 주문형페이 개발팀에서 신주문서 개발하도록 인력 투입 할 때마다 스터디를 진행했었다. 우리가 만든 구조가 이해되는지 계속 확인하고, 과거 히스토리들을 찾아 우리가 왜 이렇게 개발했는지 설명했다.

 

또한 리팩토링할 부분도 같이 살펴보고 공감대가 형성되면 진행했다.

 

기존 시스템과 신주문서는 기술스택이 많이 달랐고 자바 버전 차이도 컸다. 그래서 나는 주문형페이 분들이 빨리 적응할 수 있게 서포트했다(하지만 주문형페이 분들은 내 생각보다 훨씬 빨리 적응했고 새로운 기술도 금새 익혔기 때문에 내가 큰 도움을 준건 아녔다).


 

% 단위로 트래픽을 조절해 신주문서 전환을 했기 때문에 안정적으로 전환할 수 있을줄 알았다. 실제로 8부 능선까지는 그랬다. 하지만 아래 그림과 같이 신주문서가 만들어낸 잘못된 주문/결제 데이터가 DB 에 들어가는 경우가 문제였다. 시스템 상 에러는 발생하지 않으니까 모니터링 해도 문제를 인지할 수 없었다.

 

몇일 뒤 유관부서에서 데이터 정합성이 안맞다거나 결과가 이상하다고 연락 오면, 그 순간 트래픽을 0% 로 돌리지만 이미 저장된 잘못된 데이터들을 보정 해야된다. 늦게 발견 될수록 문제가 커지고 할 일도 많아진다. 이런 작업은 신주문서를 개발했던 우리가 처리할 수 없다. 주문형페이개발 분들이 데이터 추출하고 보정처리를 진행해주셨다. 많이 죄송하고 미안한 마음이었다.

 

이때 내가 할 수 있는건 또 문제가 될만한 것들을 미리 찾아보는것 뿐이었다. 하지만 시스템 전체를 새로 만들었기 때문에 어디에 구멍이 있는지 하나씩 찾기엔 시간이 부족했다.

 

그래서 문제가 생겼을 때 가장 크리티컬한 서비스들을 중심으로 재점검했다. 외부 물류사와 엮여있는 도착보장 서비스, 이마트/홈플러스 등과 협업하는 장보기 서비스는 문제가 생기면 절대 안됐다. 나는 담당자들을 모두 초대해 전환 과정을 이해시키고 합의를 이끌어냈다. 갑작스럽게 모인 회의에 임원은 3~4명이었고 실무자들은 수십명이었기에 이 과정 또한 어려웠다. 하지만 내 선에서 뚫어낼 수 없을때마다 리더님이 적극적으로 나서주셔서 잘 마무리 됐다. 감사하게 생각한다.

 

유비무환이라는 말이 딱 맞는거 같다. 우리는 신주문서를 개발할 때, 신주문서가 만들어내는 데이터를 누가 가져다 쓰는지 미리 파악하는걸 놓쳤다. 그부분이 아쉽다. 문제가 생겼을 때 바로 인지만 할 수 있어도 피해를 최소화 시킬수 있기 때문이다.

 

 

프로젝트가 마무리 되가는 지금 나는 기획자들을 대상으로 신주문서 스터디를 진행하고 있다. EDA 로 인해 쌓이는 Event 들을 어떻게 활용할 수 있을지는 기획에서 요구해야 되기 때문이다. 그분들도 Event 에 대해서 잘 알아야 한다.

 

 

마지막으로 좋은 동료들이 있었기에 신주문서 프로젝트를 성공으로 끝마칠 수 있었다. 새로운 기술, 문화에 대해 많이 배울 수 있었고 힘들때 의지도 많이했다. 주니어 시니어 할거 없이 모두 최선을 다했고 고통을 이겨냈다.

초상권 보호를 위해 팀원들은 모자이크 처리

반응형