APISIX 提升风险管理企业的系统性能

Jing Yan

Jing Yan

January 23, 2024

Case Study

概要

DataVisorについて

DataVisorは、不正行為やリスク管理プラットフォームの専門家であり、組織が進化する不正攻撃に対抗し、リアルタイムでリスクを積極的に管理することを可能にします。その広範なソリューションスイートは、特許取得済みの機械学習技術、ネイティブデバイスインテリジェンス、堅牢な意思決定エンジンを統合し、さまざまな業界やユースケースにわたる顧客ライフサイクル全体を通じて保護を確保します。DataVisorは業界で重要な地位を占めており、世界中のフォーチュン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 Gatewayツールとは異なり、APISIXは顕著な遅延を避けるだけでなく、P99やP9999などのパフォーマンススパイクも少なく、重要な遅延問題なしにスムーズな体験を提供します。

  3. 業界特化: リスク管理の分野では、ビジネスシステムは50ミリ秒以内の迅速なリスク管理計算を必要とします。この計算を迅速に完了できない場合、リスク管理結果は即座に破棄されます。リスク管理の主な目的は、潜在的に有害なユーザーアクションを阻止しながら、通常の活動を妨げないことです。

APISIXの実装

現在、DataVisorはAPISIXの使用を拡大し、増え続けるビジネスシナリオに適用しています。

DataVisorは直接的なビジネス活動を行わず、主にさまざまなベンダーがサービスを呼び出すため、APISIXはパブリックネットワークにデプロイされたトラフィックのゲートウェイとして機能します。このデプロイメントアプローチは、実際のシナリオではやや非典型的かもしれません。通常、APISIXはイントラネットまたはパブリックネットワークの1層下に配置されることがあります。しかし、会社の戦略として、APISIXを直接パブリックネットワークにデプロイすることで、さまざまなビジネスチャネルからのトラフィックを効率的に管理できます。

APISIX_Datavisor_process

生産環境でのAPISIXの実装をより具体的に理解するために、典型的なユースケースを以下に示します。

顧客Aは、認証アクセストークンを取得するために赤いルートを介してシステムにアクセスを開始します。その後、DataVisorの内部認証サーバーと対話するか、広く使用されているOktaなどの他の認証サーバーにAPISIXを介して接続します。会社の主要な認証メカニズムは、すべてのトラフィックをOktaにルーティングして初期認証プロセスを実行することです。

顧客が異なるトークンを取得すると、APISIXのルーティング機能により、この認証済みトラフィックはさまざまなKubernetesクラスターに転送されます。現在、DataVisorはアクティブ-アクティブのKubernetesクラスターをデプロイしており、トラフィックはクラスターAまたはクラスターBにルーティングされます。通常、トラフィックは1つのKubernetesクラスターにルーティングされ、もう1つは予備として、大規模なアップグレードやクラスター更新時にのみトラフィックを処理します。

APISIX_Datavisor_server

ゲートウェイの使用に関して、DataVisorは比較的シンプルで標準的なデプロイメントアプローチを選択しました。興味深い観察点は、DataVisorがAPISIXをKubernetesクラスターの外に配置できることです。このステップは、APISIXの優れたパフォーマンスにより、最小限のCPUリソースしか必要としないため可能です。クラスター外の小さなインスタンスを使用してAPISIXをデプロイすることで、重要なネットワークトラフィックを効果的に処理できます。

DataVisorの生産環境では、会社は3つのAPISIXノードをデプロイしており、それぞれが2コアのみで構成されている可能性があります。また、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のモデルは通常、マスター-ワーカー構造に従い、ワーカープロセスがビジネストラフィックを管理し、マスタープロセスが特権プロセスをフォークします。開発において、特権プロセスは1つに制限されています。したがって、DataVisorは特権プロセス内で別のプロセスをフォークして追加のタスクを処理し、特権プロセスの要求の厳しい責任を妨げないようにする独自の戦略を考案しました。

データ収集に関しては、特権プロセスとワーカープロセス間の通信は共有ディクショナリを介して行われます。共有ディクショナリのパフォーマンスは非常に堅牢で、ほとんどのシナリオの要求を満たします。

プラグインの開発

APISIX_Datavisor_plugin

DataVisorがAPISIXに加えた変更の結果、パッケージ化された製品の多くの機能はプロジェクト内に深く埋め込まれており、動的な調整が困難です。したがって、DataVisorは特定のプラグインをパッケージ化し、APISIXプロジェクトに統合し、Dashboardを使用して変更を行うことを選択しました。

APISIXを使用したプラグインの開発プロセスは非常に便利で、高性能なプラグインを簡単に作成できます。現在、APISIXはLuaでのプラグイン開発をサポートしており、Java、Go、Pythonなどの複数のプログラミング言語もサポートしています。この多様性により、ユーザーはさまざまな機能を実装できます。

APISIX使用後の成果

APISIXのデプロイメントにより、DataVisorシステムのパフォーマンスが全体的に向上し、優れた生産成果が得られました。

  • 遅延の削減: APISIXの際立った特徴の1つは、遅延を大幅に削減する能力です。他のソリューションと比較して、Datavisorはユーザーリクエストの処理時間が短縮され、ユーザー体験の向上に重要な要素です。

  • スループットの向上: APISIXの導入により、スループットが大幅に増加し、システムが同時リクエストをより効率的に処理できるようになりました。他のAPIゲートウェイ製品を使用する場合とは異なり、Datavisorは大規模なリクエスト処理に成功し、APISIXを使用して高負荷下でのシステムの安定性と信頼性を確保しました。この結果、ユーザートラフィックの急増を管理するための信頼性の高い基盤が確立されました。

APISIX_Datavisor_effect

  • 簡単で多言語対応のプラグイン習得: APISIXを使用したプラグインの開発は非常にユーザーフレンドリーで、高性能なプラグインを簡単に作成できます。また、APISIXはLuaでのプラグイン開発をサポートしており、Java、Go、Pythonなどの複数のプログラミング言語もサポートしています。この多様性により、ユーザーはさまざまな機能を実装でき、DataVisorの開発体験を向上させ、既存の専門知識を活用できるようになりました。

まとめ

まとめると、DataVisorのAPISIXの適用経験は注目に値します。APISIXを使用することで、DataVisorは操作を合理化し、大規模なリクエストの処理時間を短縮し、システムの安定性を確保しました。さらに、APISIXはDataVisorに、高性能なプラグインを簡単に作成、カスタマイズ、最適化するための開発者フレンドリーな環境を提供しました。これらの経験は、技術的な実装と堅牢な基盤の確立の両方で成功し、リスク管理業界でのDataVisorの回復力に貢献しています。

Tags: