Airwallex가 Apache APISIX를 활용하여 글로벌 결제를 강화하는 방법

Yang Li

November 3, 2021

Case Study

개요

도전 과제

  • Airwallex의 비즈니스가 전 세계로 확장됨에 따라 데이터 거버넌스에서의 중요한 도전 과제
  • 다양한 시스템과 상호 연결의 복잡한 관리로 인해 한 시스템에서 문제가 발생하면 다른 시스템에도 문제가 발생

결과

  • 15개월 동안의 프로덕션 환경 운영에서 안정적인 성능
  • 동적 라우팅, 멀티 테넌트 속도 제한, 멀티 테넌트 IP 화이트리스트, 인증 및 권한 부여가 활성화된 상태에서 **99%**의 응답 지연이 23ms 이내
  • 130개 이상의 국가와 지역에서 50개 이상의 통화를 포함한 데이터 주권을 안전하고 효율적으로 지원

Airwallex 소개

글로벌 핀테크 기업인 Airwallex는 전 세계 130개 이상의 국가와 지역에서 50개 이상의 통화를 커버하는 글로벌 결제 네트워크를 구축하고 있으며, 기업을 위한 디지털 핀테크 제품을 제공합니다.

Airwallex 비즈니스

이 글은 Apache APISIX의 Committer이자 Airwallex의 기술 플랫폼 리드인 Yang Li 박사와의 인터뷰에서 나온 것입니다. Yang Li 박사는 Airwallex의 기술 플랫폼 진화를 담당하고 있습니다.

데이터 주권이 Airwallex에 도전 과제를 제시

데이터 주권은 사이버 공간 데이터 거버넌스에서 점점 더 중요해지고 있습니다. Airwallex는 다양한 지역의 사용자를 서비스하므로 자연스럽게 데이터 주권 문제가 발생합니다.

이전에는 데이터 주권 요구 사항이 없었기 때문에 데이터를 유럽에 배치하고 아시아 또는 전 세계의 어떤 데이터 센터로도 동기화할 수 있었습니다. 데이터 상호 작용 다이어그램은 다음과 같습니다:

다중 클러스터 상호 작용

그러나 데이터 주권이 중요시되는 시대에는 데이터가 통제되며, 이전의 아키텍처를 채택할 수 없습니다. 유럽에서는 유럽 데이터만 처리할 수 있고, 아시아에서는 아시아 데이터만 처리할 수 있습니다. 데이터 상호 작용 변화는 다음과 같습니다.

데이터 주권 환경에서의 상호 작용

결과적으로, 데이터 주권은 Airwallex의 글로벌 비즈니스에 상당한 도전 과제를 제시합니다. Airwallex는 유럽에서 다른 지역으로 데이터를 마이그레이션하려고 하며, EU의 데이터 주권 요구 사항과 일치하도록 해야 합니다.

Airwallex가 APISIX를 선택한 이유

API 게이트웨이를 선택할 때, Airwallex는 주로 여섯 가지 차원에서 주요 게이트웨이 제품을 비교했습니다:

  • 안정성: Airwallex는 API 게이트웨이의 안정성을 보장하는 데 큰 중점을 둡니다. 전 세계 상위 1000개 웹사이트 중 62.1%가 NGINX 기반이며, 이는 NGINX 기반 웹 서버가 프로덕션 환경에서 복잡하고 다양한 시나리오를 통과했음을 보여줍니다. Apache APISIX는 NGINX 기반입니다. 또한, Apache APISIX의 완전 동적 기능 설계는 클라이언트의 장기 연결을 유지하면서도 재로드 없이 경로를 수정할 수 있게 합니다. 또한, Airwallex는 Apache APISIX에 대한 스트레스 테스트를 수행했으며, CPU 사용률이 70% 이상일 때도 안정적으로 실행될 수 있음을 확인했습니다.

  • 성능: 모든 API 요청은 API 게이트웨이를 통과합니다. 게이트웨이의 성능 손실을 줄이면 Airwallex의 전체 API 응답 시간을 크게 줄일 수 있습니다.

    "PoC에서 주요 게이트웨이 제품을 비교했을 때, Apache APISIX의 응답 지연은 다른 게이트웨이보다 50% 이상 낮았습니다. 또한, Apache APISIX의 독립적인 데이터 플레인은 클러스터 내에서 독립적인 인스턴스를 가능하게 하여 수평 확장을 본질적으로 지원합니다."라고 Li는 말했습니다.

  • 확장성: Airwallex는 복잡한 인증, 권한 제어, 서비스 발견, 속도 제한, 다운그레이드, 로드 밸런싱, 화이트리스트, 동적 라우팅을 지원하는 API 게이트웨이로 APISIX가 작동해야 합니다.

  • 활발한 커뮤니티: 활발한 커뮤니티는 API 게이트웨이가 기술 진화의 속도를 따라잡는 데 핵심입니다.

    Apache APISIX의 커뮤니티는 아파치 인큐베이션 프로젝트였을 때부터 활발했으며, 기여자 수, 이슈 응답 시간, Pull Request 수로 판단할 수 있습니다. Li는 공유했습니다.

  • 프라이빗 배포: API 게이트웨이는 Airwallex의 핵심 기술 아키텍처 구성 요소이며, 자체 프라이빗 네트워크의 에지에 API 게이트웨이를 배포합니다. Apache APISIX는 다양한 환경, 클라우드 컴퓨팅 플랫폼을 포함한 환경에 쉽게 배포할 수 있는 우수한 환경 적응력을 가지고 있습니다.

  • 비즈니스 친화적인 오픈소스 라이선스: Apache 2.0 라이선스는 Airwallex가 APISIX의 코드를 수정하고 상업화할 수 있게 하며, 벤더 락인에 대한 걱정 없이 사용할 수 있습니다.

Apache APISIX의 지능형 라우팅 솔루션

Airwallex는 Apache APISIX를 선택하여 지능형 라우팅 솔루션을 만들었으며, 데이터를 어디에서 처리할지 결정하는 것은 Apache APISIX 게이트웨이입니다.

Airwallex의 두 층 게이트웨이

게이트웨이는 두 층으로 구성됩니다. 첫 번째 층은 요청을 라우팅하고, 조건에 따라 요청이 도달해야 할 데이터 센터를 결정합니다. 두 번째 층은 트래픽 전달을 담당합니다.

또한, Airwallex는 주요 기능을 사용자 정의 플러그인으로 구현하여 언제든지 Apache APISIX의 새 버전으로 업그레이드할 수 있습니다. 이렇게 하면 Airwallex의 코드 라이브러리와 Apache APISIX의 주요 저장소의 핵심 코드 간에 경쟁 조건이 발생하지 않습니다. 그러나 때로는 핵심 코드를 수정해야 할 때도 있습니다. 이때 Li는 가능한 한 이러한 기능을 오픈소스 커뮤니티에서 구현하려고 노력합니다. 커뮤니티의 기여자들은 기능 구현에 대해 매우 열정적으로 논의하며, 대부분의 경우 빠르게 사용 가능한 솔루션을 제공할 수 있습니다.

Airwallex가 APISIX 사용으로 얻는 이점

아래는 Airwallex와 APISIX의 통합을 보여주는 다이어그램입니다.

Airwallex와 APISIX의 통합 다이어그램

Airwallex는 Apache APISIX를 마이크로서비스 게이트웨이 모델의 핵심 구성 요소로 사용합니다. 이는 네트워크의 에지에 배포되며 Airwallex로 들어오는 모든 트래픽에 대해 일반적인 게이트웨이 기능을 제공합니다. 이로써 해결하는 문제는 다음과 같습니다:

  • 데이터 주권: 국경을 넘나드는 금융 인프라의 경우, 데이터 주권은 중요한 규제 요구 사항입니다. 이를 위해, Airwallex는 Apache APISIX의 동적 업스트림 선택 기능을 활용하여 규제 준수 동적 라우팅 플러그인을 개발했습니다. 동적 라우팅은 사용자 요청의 특성에 따라 업스트림을 지능적으로 선택하여 요청을 분배할 수 있으며, 복잡한 다중 데이터 센터 협업 문제를 서비스 계층에서 게이트웨이 계층으로 추상화합니다. 동적 라우팅의 본질은 두 가지 질문에 답하는 것입니다: 업스트림을 어떻게 그룹화할 것인가, 그리고 요청과 그룹을 어떻게 매칭할 것인가.

  • 마이크로서비스의 격리: Airwallex는 각 마이크로서비스의 엔지니어링 팀이 자체 서비스를 독립적으로 제어할 수 있기를 원하며, 이는 커뮤니케이션 및 조정 비용을 효과적으로 줄이고 엔지니어링 효율성을 향상시킵니다. 이러한 아키텍처 개념은 API 게이트웨이와 같은 다양한 팀이 공유하는 인프라 구성 요소가 테넌트 격리를 지원할 수 있어야 합니다. APISIX는 테넌트 격리를 만족시키기에 완벽합니다. 전체 시스템의 견고성과 비용 통제를 보장하면서도, APISIX는 비즈니스 팀이 자체 요구에 따라 게이트웨이 기능을 구성하고 확장할 수 있게 하여 마이크로서비스 팀과 서비스의 독립성을 유지합니다.

  • 멀티 테넌트 속도 제한: 멀티 테넌트 환경에서 각 테넌트의 트래픽 특성은 다릅니다. 다른 테넌트에 동일한 속도 제한을 적용하는 것은 상업적 요구를 충족시킬 수 없습니다. 멀티 테넌트 속도 제한은 사용자 특성에 따라 더 적절할 수 있습니다.

  • 멀티 테넌트 IP 화이트리스트: 멀티 테넌트 환경에서 각 테넌트의 접근 IP는 다양합니다. 멀티 테넌트 IP 화이트리스트는 각 테넌트가 자체 화이트리스트를 제어할 수 있게 하여 다른 사용자의 자원 침입을 걱정하지 않아도 됩니다.

  • 인증: 빈번한 키 업데이트는 사용자 자원의 보안을 보장하는 중요한 요소입니다. APISIX는 요청 인증뿐만 아니라 동적 키 업데이트도 지원합니다.

  • 권한 부여: 기업 애플리케이션의 권한 관리는 매우 복잡하며, 다른 애플리케이션 시나리오는 완전히 다른 권한 관리 모델을 가지고 있습니다. APISIX는 라우팅 구성에 따라 요청 사용자가 인터페이스에 접근할 충분한 권한이 있는지 확인하고, 불법 트래픽을 처음부터 차단할 수 있습니다.

Airwallex의 프로덕션 환경은 15개월 동안 운영되었으며, 전체 성능은 매우 안정적입니다. 동적 라우팅, 멀티 테넌트 속도 제한, 멀티 테넌트 IP 화이트리스트, 인증, 권한 부여 및 기타 기능이 활성화된 상태에서 99%의 응답 지연이 23ms 이내입니다.

Apache APISIX의 우수한 플러그인 메커니즘 덕분에, Airwallex는 핵심 코드를 수정하지 않고도 비즈니스 요구를 충족하는 프라이빗 플러그인을 추가할 수 있습니다. 완전한 테스트 시스템은 소프트웨어 품질을 추가로 보장하며, 원래의 핵심 로직이 손상되지 않으면서도 플러그인의 개인화된 요구 사항을 안전하게 추가할 수 있습니다.

향후 계획

Airwallex의 향후 계획은 주로 세 가지 측면을 포함합니다:

  1. 다층 네트워크를 사용하여 게이트웨이 로직을 다른 층으로 분할합니다. 예를 들어, 데이터 주권 또는 기타 게이트웨이 로직에 따라 트래픽을 분배합니다.

  2. 읽기 쉽고 사용하기 쉬운 라우팅 관리는 API 게이트웨이의 성공에 중요합니다. 라우팅 관리는 개발자에게 친화적이어야 하며, 개발자가 게이트웨이가 무엇을 할 수 있는지, 어떻게 구성하고 게시할 수 있는지 쉽게 이해할 수 있어야 합니다.

  3. 색상 코드 요청을 사용하여 프로덕션 환경 테스트를 구현합니다. API 게이트웨이의 색상 코드 요청을 사용하여 프로덕션 환경 테스트를 구현하면 더 많은 유연성과 사용 편의성을 제공할 수 있습니다.

APISIX 지원을 찾고 계신가요?

Apache APISIX는 모든 API와 마이크로서비스를 위한 오픈소스, 동적, 확장 가능하며 고성능의 클라우드 네이티브 API 게이트웨이입니다. API7.ai가 아파치 소프트웨어 재단에 기부한 APISIX는 이제 최상위 오픈소스 아파치 프로젝트로 성장했습니다.

Airwallex처럼 자신감을 가지고 개발을 가속화하고 싶으신가요? APISIX 지원을 극대화하려면 API7이 필요합니다. 우리는 귀하의 요구에 따라 APISIX 및 API 관리 솔루션에 대한 심층적인 지원을 제공합니다!

지금 문의하세요: https://api7.ai/contact.

인터뷰 대상자에 대한 더 많은 정보:

Yang Li, Airwallex

Tags: