아메리칸 익스프레스는 매년 약 1조 5천억 달러 규모의 거래를 처리한다. 1초의 다운타임이 초래하는 비용은 개발자 투입 시간이 아니라, 실패한 결제, 발이 묶인 카드 소지자, 그리고 대륙을 넘어 복리처럼 불어나는 가맹점 손실로 측정된다. 따라서 이 회사가 실시간 결제 처리 인프라 전체를 한 번도 아닌 두 번이나 마이그레이션하기로 결정했을 때, 그 엔지니어링 과제는 단순히 기술적인 문제가 아니었다. 그것은 재무적인 문제였다.
그리고 그들은 단 한 건의 거래도 누락하지 않고 해냈다.
두 번의 전면 마이그레이션, 제로 다운타임: AmEx는 어떻게 글로벌 결제 네트워크를 재구축했나
이번 주 해커뉴스에 상세한 기술 논의가 올라오며 엔지니어링 커뮤니티의 뜨거운 관심을 받았다. "아메리칸 익스프레스 결제 네트워크 마이그레이션, 두 번(Migrating the American Express Payment Network, Twice)"이라는 제목의 이 글은, 세계 최대 규모의 실시간 금융 시스템 중 하나를 완전히 가동 상태로 유지하면서 이전하는 데 필요했던 방법론과 규율을 설명한다.
이것이 얼마나 까다로운 작업인지 이해하려면 제약 조건을 먼저 생각해봐야 한다. 결제 네트워크는 20분간 점검 페이지를 띄워두면 되는 웹앱이 아니다. 지연 시간을 밀리초 단위로 측정하는 상시 가동 시스템이며, 연말 쇼핑 피크 시즌에 잠깐의 장애만으로도 전 세계적으로 수백만 건의 카드 거절이 연쇄적으로 발생할 수 있다. 130개국에 걸친 네트워크에 "정기 점검 시간"이란 존재하지 않는다.
작동하는 시스템을 건드리는 전략적 판단
당연한 질문은, 왜 이미 잘 작동하는 결제 네트워크를 가진 회사가 굳이 손을 대려고 했느냐는 것이다. 대답은, 엔터프라이즈 인프라에서 늘 그렇듯이, 장기적인 비용과 역량에 있다.
대형 금융기관의 레거시 결제 시스템은 흔히 노후화된 메인프레임 아키텍처 위에서 돌아간다. 이 시스템들은 작동한다. 실전에서 검증되었다. 하지만 유지보수 비용이 비싸고, 인력 확보가 어렵고, 머신러닝 기반 실시간 사기 탐지, 즉시 국경간 정산, 적응형 리스크 스코어링 같은 현대적 기능으로 확장하기가 갈수록 힘들다. 기술 부채는 조용히 쌓여가다가, 마이그레이션을 하지 않는 비용이 마이그레이션의 무서운 리스크를 초과하는 시점에 이른다.
AmEx는 분명 그 교차점에 도달했다. 두 번이나.
해커뉴스 논의에 따르면, 두 번의 마이그레이션은 스택의 서로 다른 레이어를 다루었으며, 각각 제로 다운타임 전환을 위한 고유한 접근 방식이 필요했다. 이것은 클라우드 컨설턴트에게 맡기는 리프트 앤 시프트 작업이 아니다. 비행 중인 비행기의 엔진을 교체하는 것에 가깝다.
"빠르게 움직이고 부수라"가 한계에 부딪히는 곳
"빠르게 움직이고 부수라(Move fast and break things)"는 소셜 미디어와 SaaS의 성장기에 실리콘밸리의 비공식 모토가 되었다. 실패했을 때 뉴스피드가 깨지거나 검색 바가 잠깐 오작동하는 수준이라면 이 철학은 통한다. 하지만 실패의 결과가, 프랑스 시골 주유소에서 카드가 거절당해 발이 묶인 가족이라면, 이 철학은 무너진다.
AmEx 마이그레이션 사례가 보여주는 것은 근본적으로 다른 엔지니어링 문화다. 철저한 테스트, 점진적 롤아웃, 그리고 소비자 기술 기업이 좀처럼 투자하지 않는 수준의 편집증적 이중화를 최고 가치로 삼는 문화다. 해커뉴스의 여러 댓글 작성자들, 상당수가 금융기관 소속 엔지니어임을 밝혔는데, 이 마이그레이션 전략에는 거의 확실히 구시스템과 신시스템을 장기간 병렬로 운영하면서, 전환 전에 거래 건건을 비교 검증하는 과정이 포함되었을 것이라고 지적했다.
이 접근 방식은 비용이 많이 든다. 느리다. 팀들이 수개월 또는 수년간 두 시스템을 동시에 유지해야 한다. 하지만 대안이 결제 네트워크의 전면 중단이라면, 셈법은 간단하다.
조 달러 규모에서의 카나리 배포
핵심적인 역할을 했을 가능성이 높은 기술 패턴 중 하나는 카나리 또는 섀도우 배포다. 이 모델에서는 라이브 트래픽의 소량이 새 시스템으로 라우팅되는 동안, 기존 시스템이 실제 처리를 계속 담당한다. 새 시스템의 출력은 기존 시스템의 결과와 실시간으로 비교된다. 어떤 불일치든 경보를 발생시킨다. 불일치 제로 상태가 지속된 후에야 트래픽이 점진적으로 전환된다.
AmEx의 거래량에서는 0.001%의 오류율이라 해도 매일 수천 건의 거래에 영향을 미친다. 마이그레이션 버그에 대한 허용 오차는 사실상 제로다.
"진짜" 엔지니어링 이면의 보이지 않는 규율
AmEx 사례가 해커뉴스에서 공감을 얻은 이유는 기술적 감탄을 넘어서는 더 깊은 지점에 닿아 있다. 수년간 소프트웨어 산업에서 축적되어 온 긴장의 핵심을 찌른다.
스타트업 문화는 속도를 찬양한다. 일단 출시하고, 나중에 고치고, 반복하라. 이 철학은 특정 영역에서 막대한 가치를 창출해왔다. 하지만 동시에, 실패가 허용되지 않는 시스템에서 일해본 적이 없는 엔지니어 세대를 만들어냈다. "문제가 생기면 롤백하겠다"가 유효한 전략이 될 수 없는 시스템, 롤백 자체가 연쇄 장애를 유발할 수 있는 시스템 말이다.
금융 인프라, 의료 시스템, 항공 소프트웨어, 전력망 제어 시스템, 이런 영역들은 대부분의 소프트웨어 엔지니어링 조언을 무의미하게 만드는 제약 조건 하에서 운영된다. 결제 프로세서를 A/B 테스트할 수 없다. 심장 모니터에 피처 플래그를 걸 수 없다.
이 마이그레이션을 설계하고 실행한 엔지니어들은, 컨퍼런스 발표나 바이럴 블로그 포스트를 좀처럼 얻지 못하는 규율을 대표한다. 그들은 성공의 정의가 아무런 가시적인 일도 일어나지 않은 것인 환경에서 일한다.
병렬 시스템, 병렬 예산: 안전한 마이그레이션의 실제 비용
마이그레이션 기간 동안 병렬 시스템을 운영하는 것은 저렴하지 않다. AmEx는 이 마이그레이션을 안전하게 실행하기 위해 중복 인프라, 추가 엔지니어링 인력, 그리고 연장된 일정에 막대한 비용을 지출했을 것이다. 하지만 연간 1조 달러 이상을 처리하는 회사에게는, 마이그레이션에 수억 달러를 쓴다 해도 대규모 장애로 인한 위험 매출에 비하면 반올림 오차에 불과하다.
JP모건 체이스는 연간 기술 분야에 150억 달러 이상을 지출하는 것으로 알려져 있다. 비자의 기술 예산도 수십억 달러 규모에 달한다. 이 수치들은 금융 네트워크가 오래전부터 이해해온 현실을 반영한다: 기술은 비용 센터가 아니다. 기술이 곧 제품이다.
AmEx가 두 번의 마이그레이션을 기꺼이 단행하며 매번 그 비용과 리스크를 감수한 것은, 전략적 수익이 투자를 정당화했음을 시사한다. 그것이 현대적 인프라에서의 운영 비용 절감이든, 신제품 출시 속도 단축이든, 강화된 규제 준수 역량이든, 가만히 있는 것이 신중하게 움직이는 것보다 더 큰 비용을 초래한다는 판단이었다.
모든 것을 바꾸면서 아무것도 바뀌지 않은 것처럼 보이게 하는 조용한 승리
글로벌 실시간 결제 네트워크의 두 번에 걸친 전면 마이그레이션. 누락된 거래 건수 제로.
이것은 영리한 코드나 최첨단 도구에 관한 이야기가 아니다. 프로세스, 인내심, 그리고 신뢰성을 타협 불가능한 가치로 취급하는 엔지니어링 문화에 관한 이야기다. 속도를 점점 더 숭배하는 업계에서, AmEx 마이그레이션은 가장 어려운 엔지니어링 문제 중 일부는 빠르게 만드는 것이 아니라는 사실을 상기시켜 준다. 모든 것을 바꾸면서 아무것도 바뀌지 않은 것처럼 보이게 하는 것, 그것이 진짜 문제다.
더 넓은 기술 업계에 있어, 이 사례 연구는 현재 받고 있는 것보다 훨씬 더 많은 관심을 받을 자격이 있다. 더 많은 기업이 레거시 시스템을 현대적 아키텍처로 이전하고, AI 워크로드가 이미 부담이 큰 인프라에 새로운 압박을 가하는 지금, 여기서 보여준 규율은 단지 감탄할 만한 수준이 아니다. 이것이 바로 앞으로 10년간 엔지니어링이 요구할 기준이다.