APISIX, 리스크 관리 기업의 시스템 성능 향상

Jing Yan

Jing Yan

January 23, 2024

Case Study

개요

DataVisor 소개

DataVisor는 사기 및 리스크 관리 플랫폼 전문 기업으로, 조직이 진화하는 사기 공격에 동적으로 대응하고 실시간으로 리스크를 사전에 관리할 수 있도록 지원합니다. 이 회사의 광범위한 솔루션 제품군은 특허 받은 머신 러닝 기술, 네이티브 디바이스 인텔리전스, 강력한 의사 결정 엔진을 통합하여 다양한 산업과 사용 사례에 걸쳐 전체 고객 생애주기 동안 보호를 보장합니다. DataVisor는 업계에서 선도적인 위치를 차지하고 있으며 전 세계 Fortune 500 기업들에 의해 널리 채택되고 있습니다.

도전 과제

  • DataVisor는 잠재적 리스크를 방지하기 위해 리스크 제어 계산의 효율적인 실행을 보장하는 중요한 과제에 직면해 있습니다.

  • 보안과 우수한 사용자 경험을 유지하는 균형을 맞추는 것은 DataVisor에게 도전적인 과제입니다.

  • 안정적이고 낮은 지연 시간을 가진 API 게이트웨이 도구 선택은 DataVisor가 시스템 운영을 원활하게 유지하는 데 중요합니다.

결과

  • APISIX를 활용함으로써, DataVisor는 특정 플러그인 패키징을 통해 향상된 유연성을 달성하며 운영을 간소화했습니다.

  • APISIX는 DataVisor의 지연 시간을 크게 줄이는 능력으로 두드러져, 사용자 요청 처리 시간을 단축했습니다.

  • DataVisor는 APISIX를 통해 대규모 요청을 성공적으로 처리하며, 높은 부하에서도 시스템 안정성과 신뢰성을 보장하여 사용자 트래픽 급증을 관리할 수 있는 견고한 기반을 제공했습니다.

배경

리스크 관리 분야는 방대한 양의 민감한 데이터와 거래 정보를 다루며, 잠재적인 사이버 공격과 데이터 유출을 방지하기 위해 강화된 보안 조치가 필요합니다. 따라서 대부분의 리스크 관리 기업과 마찬가지로, DataVisor는 보안과 효율성을 보장하기 위한 게이트웨이 관리 솔루션이 필요했습니다.

제품 개발에서 DataVisor는 게이트웨이와 인증을 위한 포괄적인 솔루션을 채택했습니다. APISIX는 제품 생태계 내에서 독립적인 구성 요소일 뿐만 아니라, AWS API Gateway, Application Load Balancer (ALB), Imperva, 통합 OAuth 인증 메커니즘과 같은 다른 제품들과 협력합니다. 이러한 도구들은 각각 게이트웨이 기능을 갖추고 있어 DataVisor 시스템 내에서 트래픽 접근을 원활하게 합니다.

APISIX_Datavisor

APISIX 사용 전의 문제점

APISIX 도입 전, DataVisor는 리스크 제어 산업에서 중요한 도전 과제에 직면했으며, 효율성과 탄력성을 향상시키기 위한 혁신적인 솔루션의 필요성이 강조되었습니다.

  • 성능 압박: 리스크 제어 산업에서 성능 지표는 매우 중요하며, DataVisor는 리스크 제어 계산의 적시적이고 효율적인 실행을 보장해야 하는 도전에 직면했습니다. 이러한 계산의 지연은 경쟁적이고 리스크가 높은 환경에서 잠재적 리스크에 대한 통제력을 상실할 수 있습니다.

  • 보안과 사용자 경험의 균형: 리스크 제어 작업의 주요 목표는 잠재적으로 유해한 사용자 행동을 차단하면서도 원활한 사용자 경험을 유지하는 것입니다. DataVisor의 시스템은 사용자 상호작용의 자연스러운 흐름을 저해하지 않으면서 사용자 안전을 보장해야 합니다.

  • 게이트웨이 도구 요구 사항 충족의 어려움: 시장의 많은 API 게이트웨이 도구들은 높은 지연 시간이나 불안정한 성능과 같은 문제를 겪습니다. 이러한 문제는 특히 비즈니스 트래픽을 효율적으로 관리하는 것이 중요한 DataVisor 시스템의 안정성과 가용성에 영향을 미칠 수 있습니다. 따라서 안정적이고 낮은 지연 시간을 가진 API 게이트웨이 도구 선택은 시스템의 원활한 운영을 유지하는 데 중요합니다.

APISIX 선택 이유

회사의 생산 환경 설정을 위한 솔루션을 결정할 때, DataVisor는 여러 옵션을 신중하게 비교한 후 APISIX를 선택했습니다. 그 이유는 다음과 같습니다:

  1. 비용 효율성: 클라우드 제공업체의 기본 애플리케이션 게이트웨이(예: ALB)와 비교하여, APISIX는 운영 비용을 크게 절감할 수 있습니다.

  2. 높은 성능, 낮은 지연 시간: APISIX는 뛰어난 성능으로 두드러집니다. 다른 API 게이트웨이 도구와 달리, APISIX는 눈에 띄는 지연 없이 성능을 유지하며, P99 또는 P9999와 같은 성능 급증에도 덜 취약합니다.

  3. 산업 특화: 리스크 제어 분야에서, 우리의 비즈니스 시스템은 50밀리초 이내의 빠른 리스크 제어 계산 시간을 요구합니다. 이 계산을 제때 완료하지 못하면 리스크 제어 결과가 즉시 무효화됩니다. 리스크 제어의 주요 목표는 잠재적으로 유해한 사용자 행동을 차단하면서도 정상적인 활동을 방해하지 않는 것입니다.

APISIX 구현

현재, DataVisor는 점점 더 많은 비즈니스 시나리오에서 APISIX 사용을 확대하고 있습니다.

DataVisor는 직접적인 비즈니스 활동을 하지 않고 주로 다양한 벤더들이 우리의 서비스를 호출하는 방식으로 운영되기 때문에, APISIX는 공용 네트워크에 배포된 트래픽의 게이트웨이 역할을 합니다. 이러한 배포 방식은 실제 시나리오에서는 다소 비전통적으로 보일 수 있습니다. 일반적으로 APISIX는 인트라넷이나 공용 네트워크 아래 한 층에 위치할 수 있습니다. 그러나 회사는 이를 공용 네트워크에 직접 배포함으로써 다양한 비즈니스 채널에서 발생하는 트래픽을 효율적으로 관리할 수 있게 했습니다.

APISIX_Datavisor_process

우리의 생산 환경에서 APISIX를 어떻게 구현하는지 더 구체적으로 이해하기 위해, 일반적인 사용 사례를 아래에 제공합니다.

고객 A는 빨간 경로를 통해 우리 시스템에 접근하여 권한 액세스 토큰을 획득합니다. 이후, DataVisor의 내부 인증 서버와 상호작용하거나 널리 사용되는 Okta와 같은 다른 인증 서버에 APISIX를 통해 연결합니다. 회사의 주요 인증 메커니즘은 모든 트래픽을 Okta로 라우팅하여 초기 인증 과정을 수행하는 것입니다.

고객이 다양한 토큰을 획득한 후, APISIX의 라우팅 기능은 이 인증된 트래픽을 다양한 Kubernetes 클러스터로 전달합니다. 현재, DataVisor는 활성-활성 Kubernetes 클러스터를 배포했으며, 트래픽은 클러스터 A 또는 클러스터 B로 라우팅됩니다. 일반적으로 트래픽은 하나의 Kubernetes 클러스터로 전달되며, 다른 클러스터는 대규모 업그레이드나 클러스터 업데이트 시에만 트래픽을 처리합니다.

APISIX_Datavisor_server

게이트웨이 사용에 대해, DataVisor는 비교적 간단하고 표준적인 배포 방식을 선택했습니다. 흥미로운 점은 DataVisor가 APISIX를 Kubernetes 클러스터 외부에 배치할 수 있다는 것입니다. 이는 APISIX의 뛰어난 성능 덕분에 가능하며, 최소한의 CPU 리소스만 필요로 합니다. 클러스터 외부에 작은 인스턴스를 사용하여 APISIX를 배포하는 것은 상당한 네트워크 트래�을 처리하는 데 효과적임이 입증되었습니다.

DataVisor의 생산 환경에서, 회사는 세 개의 APISIX 노드를 배포했으며, 각 노드는 두 개의 코어만으로 구성될 수 있습니다. 또한 2G 또는 4G 메모리를 가진 미니 컴퓨터를 사용하여 트래픽 부하를 관리했습니다. DataVisor의 개발자에 따르면, APISIX의 성능은 NGINX와 OpenResty와 비슷하며, 초기 기대를 뛰어넘을 수도 있다고 합니다.

APISIX의 맞춤화

특권 프로세스 강화

NGINX에는 특권 프로세스라는 개념이 없지만, OpenResty에는 존재하며, 이는 작업자 프로세스와 동일한 수준에 있습니다. 이 프로세스는 들어오는 네트워크 트래픽을 처리하지 않기 때문에 특별합니다—어떤 포트도 리스닝하지 않습니다. 그러나 다양한 계산 및 데이터 수집 작업을 수행할 수 있습니다. 결과적으로, DataVisor는 이 특권 프로세스를 확장하여 특정 요구 사항을 충족시켰습니다.

APISIX_Datavisor_backend

위 다이어그램은 APISIX와 DataVisor의 백엔드 서비스 간의 관계를 명확히 보여줍니다. 회사는 주로 트래픽 수신 및 분배를 위해 APISIX를 사용합니다.

게이트웨이 수준에서, APISIX는 트래픽이 들어가기 전에 전처리를 수행합니다. DataVisor의 구성이 독특한 점은 APISIX 레이어에 작은 프로세스를 도입했다는 것입니다. 이 프로세스는 Sidecar처럼 작동하며, APISIX 프로세스와 동시에 실행됩니다. 이 단계 이후, 수집된 데이터를 APISIX로 전달하며, APISIX는 이를 시스템의 상위 레이어로 전달하여 특정 비즈니스 규칙을 수행합니다. 이러한 사용 패턴은 비교적 드물며, 일반적인 비즈니스 시나리오에서는 접하기 어려울 수 있지만, 리스크 제어에서는 적용 가능할 수 있습니다.

APISIX_Datavisor_worker

특권 프로세스의 구현은 어떻게 처리되나요? DataVisor의 모델은 일반적으로 마스터-작업자 구조를 따르며, 작업자 프로세스는 비즈니스 트래픽을 관리하고 마스터 프로세스는 고유한 특권 프로세스를 포크합니다. 개발 과정에서, 그들은 특권 프로세스를 하나로 제한했습니다. 따라서 DataVisor는 특권 프로세스 내에서 추가 작업을 처리하기 위해 또 다른 프로세스를 포크하는 독특한 전략을 고안했습니다. 이를 통해 특권 프로세스의 중요한 책임을 방해하지 않도록 합니다.

데이터 수집을 위해, 특권 프로세스와 작업자 프로세스 간의 통신은 공유 딕셔너리를 통해 이루어집니다. 공유 딕셔너리의 성능은 매우 강력하며, 대부분의 시나리오의 요구를 충족합니다.

플러그인 개발

APISIX_Datavisor_plugin

DataVisor가 APISIX를 수정한 결과, 패키지된 제품의 많은 기능이 프로젝트 내부에 깊숙이 내장되어 있어 동적 조정이 어렵습니다. 따라서 DataVisor는 특정 플러그인을 패키징하여 APISIX 프로젝트에 통합한 후, Dashboard를 사용하여 수정하기로 결정했습니다.

APISIX를 사용한 플러그인 개발은 매우 편리하며, 고성능 플러그인을 쉽게 생성할 수 있습니다. 현재, APISIX는 Lua를 지원하며, Java, Go, Python과 같은 여러 프로그래밍 언어를 지원합니다. 이러한 다양성은 사용자가 다양한 기능을 구현할 수 있도록 합니다.

APISIX 사용 후의 성과

APISIX의 배포는 DataVisor 시스템의 전반적인 성능 향상을 가져왔으며, 탁월한 생산 결과를 달성했습니다.

  • 지연 시간 감소: APISIX의 두드러진 특징 중 하나는 지연 시간을 크게 줄이는 능력입니다. 대체 솔루션과 비교하여, DataVisor는 사용자 요청 처리 시간이 단축되었으며, 이는 더 나은 사용자 경험을 제공하는 데 중요한 요소입니다.

  • 처리량 증가: APISIX의 도입은 처리량의 상당한 증가를 가져왔으며, 시스템이 동시 요청을 더 효율적으로 처리할 수 있게 했습니다. 다른 API 게이트웨이 제품을 사용하는 것과 달리, DataVisor는 APISIX를 통해 대규모 요청 처리를 성공적으로 달성했으며, 높은 부하에서도 시스템의 안정성과 신뢰성을 보장했습니다. 이 결과는 사용자 트래픽 급증을 관리할 수 있는 견고한 기반을 제공합니다.

APISIX_Datavisor_effect

  • 쉬운, 다국어 플러그인 마스터리: APISIX를 사용한 플러그인 개발은 매우 사용자 친화적이며, 고성능 플러그인을 쉽게 생성할 수 있습니다. 또한, APISIX는 Lua를 지원하며, Java, Go, Python과 같은 다양한 프로그래밍 언어를 지원합니다. 이러한 다양성은 사용자가 다양한 기능을 구현할 수 있도록 하며, DataVisor의 개발 경험을 향상시키고 사용자가 기존 전문 지식을 활용할 수 있게 합니다.

요약

요약하자면, DataVisor의 APISIX 적용 경험은 주목할 만합니다. APISIX를 사용함으로써, DataVisor는 운영을 간소화하고 대규모 요청에 대한 시스템 안정성과 빠른 처리 시간을 보장했습니다. 또한, APISIX는 DataVisor에게 개발자 친화적인 환경을 제공하여 고성능 플러그인을 쉽게 생성, 맞춤화, 최적화할 수 있게 했습니다. 이러한 경험은 기술적 구현과 견고한 기반 구축 모두에서 성공적이며, 리스크 제어 산업에서 DataVisor의 탄력성을 강화하는 데 기여합니다.

Tags: