이 팀은 처음부터 모든 서비스를 Rust로 바꾸려 하지 않았다. 대신 중복 결제와 상태 꼬임이 자주 문제 되던 코어 경로만 골랐다.
Rust의 진짜 가치는 “더 빠르다”보다 “이 경로를 믿고 잠들 수 있다”는 감각에 있었다. 팀은 그 감각을 조금씩 넓혀 갔다.
점진적 이전 기록
1단계
가장 위험한 상태 전이만 분리했다
승인, 캡처, 취소가 엇갈리던 경로를 별도 모듈로 떼고 Rust에서 enum으로 다시 정의했다.
2단계
재시도 정책을 타입으로 고정했다
조건문에 숨어 있던 예외 규칙을 구조로 끌어올려 운영팀과 같은 언어로 보기 시작했다.
3단계
팀 리뷰 문화를 바꿨다
문법보다 소유권 경계와 실패 가능성 설명을 중심으로 코드를 읽는 문화가 자리 잡았다.
사업 현장에서 Rust가 통하는 이유
결제·정산 시스템은 새로운 기능보다 “절대 꼬이면 안 되는 상태”가 더 중요하다. Rust는 그 규칙을 언어 차원에서 단단하게 붙잡아 준다.
러닝 커브는 분명하지만, 장애 비용이 큰 도메인에서는 학습 비용을 상쇄하고도 남는 안정성을 주는 경우가 많다.
“Rust를 도입한 이유는 멋있어서가 아니라, 가장 비싼 장애를 줄이기 위해서였다.”
도입 뒤에 남은 기준
- Rust는 전체 재작성보다 위험 경로를 점진적으로 잠그는 방식이 현실적이다.
- 고신뢰 시스템일수록 학습 비용보다 장애 비용이 더 크다.
- 언어 도입은 문법 교육보다 리뷰 문화와 설명 방식까지 함께 바꾸는 일이 중요하다.