PayPal의 실시간 혁신: 스트리밍 분석을 위해 Google Cloud로 마이그레이션
Varun Raju
Architect, Observability Platform, PayPal
Avi Baruch
Engineering Manager, Google Cloud
* 본 아티클의 원문은 2024년 12월 3일 Google Cloud 블로그(영문)에 게재되었습니다.
PayPal은 25년이 넘는 시간 동안 전 세계 상거래를 혁신하는 것을 주요 사명으로 삼고 달려왔습니다. PayPal은 약 200개 시장에서 재화의 이동, 판매, 쇼핑을 간소화하고 개인화하며 보호하는 혁신적인 경험을 만들어 소비자와 기업을 지원하고 있습니다. 따라서 판매자와 소비자 모두에게 제공되는 서비스의 가용성을 보장하는 것이 매우 중요합니다.
Dataflow와 함께한 PayPal의 여정은 성공적이었습니다. 스트리밍 분석 문제를 해결하고, 새로운 기회를 활용할 뿐 아니라, 보다 안정적이고 효율적이며 확장 가능한 모니터링 가능성 플랫폼을 구축할 수 있었습니다.
PayPal의 모니터링 가능성 플랫폼팀은 개발자, 기술 계정팀, 제품 관리자를 위한 원격 분석 플랫폼을 제공하는 업무를 맡고 있습니다. 이 팀에서는 측정항목과 trace를 수신, 처리하고 백엔드로 내보내는 데 SDK, 개방형 원격 분석 수집기, 데이터 스트리밍 파이프라인을 사용합니다. PayPal 개발자들은 이 모니터링 가능성 플랫폼을 사용하여 원격 분석 데이터로 최단 시간 내에 문제를 감지하고 해결합니다. Java, Go, Node.js와 같은 다양한 스택에서 실행되는 애플리케이션에서 하루 약 3페타바이트의 로그가 생성되기 때문에 로그 기반 측정항목과 trace를 생성하려면 처리량이 많고 지연 시간이 짧은 강력한 데이터 스트리밍 솔루션이 필수적입니다.
2023년까지는 PayPal의 모니터링 가능성 플랫폼에서 자체 관리형 Apache Flink 기반 인프라를 사용해 측정항목 및 스팬을 생성하는 로그 기반 파이프라인을 스트리밍했습니다. 하지만, 이 솔루션에는 여러 가지 문제가 있었습니다.
-
안정성: 대부분의 파이프라인에 체크포인트가 없어서 재시작 중에 데이터가 손실되는 등 시스템의 안정성이 매우 낮았습니다.
-
효율성: 시스템 관리에 비용이 많이 들고 관리가 비효율적이었습니다. 또한 드물게 발생하더라도 최대 부하에 대비하여 파이프라인을 계획해야 했습니다.
-
보안: 배포의 보안 가이드라인 준수 수준이 충분하지 않았습니다.
-
클러스터 관리: 클러스터 생성 및 유지보수가 수작업으로 이루어져 엔지니어링에 상당히 많은 시간이 들었습니다.
-
커뮤니티 지원: 독점 솔루션이었기 때문에 커뮤니티 지원과 협업이 제한적이었습니다.
-
소프트웨어 업그레이드: 맞춤설정을 위해서는 바이너리를 업데이트해야 했지만, 더 이상 지원되지 않았습니다.
-
장기적인 지원: 이 솔루션은 판매 종료된 제품이었기 때문에 비즈니스 연속성에 대한 리스크가 있었습니다.
PayPal은 이 같은 문제를 해결하고 새로운 기회를 창출할 수 있는 클라우드 네이티브 솔루션이 필요했습니다. 주요 요구사항은 다음과 같았습니다.
-
손쉬운 확장성: 자동 확장 및 리소스 최적화를 통해 방대한 양의 데이터와 변동하는 워크로드를 처리할 수 있어야 합니다.
-
비용 절감: 리소스 사용률을 최적화하고, 비용이 많이 드는 인프라 관리 부담이 없어야 합니다.
-
원활한 통합: PayPal 생태계 내에서 다른 데이터 및 AI 도구와 연결할 수 있어야 합니다.
-
실시간 AI/ML 지원: 데이터 보강, 모델 학습, 실시간 추론에 고급 스트리밍 ML 기능을 활용할 수 있어야 합니다.
광범위한 조사와 성공적인 개념 증명 끝에 PayPal은 Google Cloud의 Dataflow로 마이그레이션하기로 결정했습니다. Dataflow는 Apache Beam을 기반으로 한 완전 관리형 서버리스 스트리밍 분석 플랫폼으로서 뛰어난 확장성, 유연성, 비용 효율성을 제공합니다.
마이그레이션 프로세스는 다음을 포함하는 몇 가지 주요 단계로 이루어졌습니다.
-
초기 POC: PayPal에서 Dataflow의 기능이 특정 요구사항을 충족하는지 테스트하고 검증했습니다.
-
수집 계층 전환: Dataflow와의 원활한 통합을 위해 Apache Pulsar에서 Apache Kafka로 전환했습니다.
파이프라인 최적화: PayPal은 Google Cloud 전문가와 협업하여 파티셔닝 스키마를 재설계하고 데이터 셔플링을 최적화하는 등 효율성이 극대화되도록 파이프라인을 세부 조정했습니다.
기술적 이점
Dataflow의 자동 확장 기능은 실시간 데이터 수요에 따라 리소스를 동적으로 조정하여 일관된 성능과 비용 효율성을 보장합니다. 강력한 상태 관리 기능으로 복잡한 스트리밍 작업에서 신뢰할 수 있는 정확한 실시간 인사이트를 수집하는 한편, 데이터를 처리할 때 지연 시간을 최소화하여 더 빠른 의사 결정에 도움이 되는 최신 인사이트를 확보할 수 있습니다. 또한 Dataflow의 포괄적인 모니터링 도구, 다른 Google Cloud 서비스와의 통합으로 문제 해결 및 성능 최적화가 간소화됩니다.
그림 2. 시간에 따른 단계별 데이터의 최신성을 보여주는 실행 세부정보 탭과 데이터 최신성에 대한 이상치 경고가 표시된 예시 이미지
비즈니스 이점
Dataflow의 서버리스 아키텍처와 동적 리소스 할당으로 인해 PayPal의 인프라 및 운영 비용이 크게 절감되었습니다. 중요한 스트리밍 파이프라인의 안정성과 업타임이 향상되어 비즈니스 연속성도 커졌습니다. 또한 Dataflow의 간소화된 프로그래밍 모델과 풍부한 도구로 개발 및 배포 주기가 가속화되어 개발자 생산성이 개선되었습니다.
비즈니스, 개발자, 커맨드 센터팀에 높은 카디널리티 분석을 제공하기 위해서는 처리량이 많고 지연 시간이 짧은 스트리밍 플랫폼을 구현하는 것이 중요합니다. Dataflow 통합 덕분에 이제 엔지니어링팀은 paypal.com을 연중무휴 모니터링할 수 있는 강력한 플랫폼을 갖추게 되었으며, 이를 통해 PayPal은 소비자와 판매자에게 높은 가용성을 보장할 수 있게 되었습니다.
Varun Raju, PayPal 모니터링 가능성 플랫폼 부문 설계자
혁신 지원
무엇보다도 Dataflow 덕분에 PayPal은 당사의 엔지니어링 리소스를 가치가 더 큰 이니셔티브에 집중할 수 있게 되었습니다. 예를 들면 실패한 커스텀 상호작용(FCI)의 실시간 분석을 위해 Google BigQuery와 통합하여 사이트 안정성 엔지니어링팀에 즉각적인 인사이트를 제공하고 있습니다. 또한 실시간 판매자 모니터링을 구현하여 높은 카디널리티 판매자 API 트래픽을 분석해 인사이트 및 리스크 관리를 강화하고 있습니다.
PayPal은 계속해서 Dataflow의 기능을 탐구하고 활용하여 혁신을 주도하고 고객에게 탁월한 경험을 제공할 계획입니다.
Google Cloud Dataflow 시작 방법 자세히 알아보기