APISIXをAPIゲートウェイとして活用したクラウドネイティブ変革を促進する財務プラクティス

Yonghui Lu

January 13, 2023

Case Study

本記事は、2022年のApacheCon Asiaでの、エッセンシャル証券のAPIゲートウェイディレクターであるYonghui Lu氏の講演に基づいています。Yonghui氏は、Apache APISIXを基盤としたエッセンシャル証券のクラウドネイティブAPIゲートウェイの実践について共有しました。

概要

課題

  • 元の技術スタックが複雑で、NGINX、Spring Cloud Gateway、自社開発システムが混在していた
  • 統一された技術スタックがないため、システム管理が困難
  • 各ビジネスプロジェクトでの重複作業と高コスト

目標

  • クラウドネイティブで、エッセンシャル証券のビジネスシステムと容易に統合可能
  • デプロイ、監視、アラートの管理
  • 高性能でスケールアウト可能な能力
  • 機能のカスタマイズとシステムとの迅速な統合
  • トラフィックガバナンスセキュリティ、プロトコル変換、認可、認証などの強力で豊富な機能を有効化

結果

  • トラフィックガバナンスを促進し、バーストトラフィックを安全に管理
  • 研究開発の効率と利便性の向上
  • エッセンシャル証券のクラウドネイティブ開発を強化
  • 独立したドメインを確立することで、データセキュリティと権限管理を強化

エッセンシャル証券について

エッセンシャル証券株式会社(エッセンシャル証券)は、中国を代表する証券会社の一つです。2006年の設立以来、エッセンシャル証券は中国トップ15の証券会社の一つとして急速に成長し、民間および公共セクターに最高のサービスを提供する実績を築いてきました。全国25の主要な省に120以上の小売支店と4つの独立した子会社を有しています。

エッセンシャル証券の主要な事業は、証券ブローカー業務、証券投資コンサルティング、証券取引および投資に関連する財務アドバイザリーサービス、証券引受およびスポンサー業務、証券投資、資産管理、および中国証券監督管理委員会が承認したその他の事業です。

なぜAPISIXを選んだのか?

2021年以降、エッセンシャル証券はアプリケーションのクラウド移行を開始し、APIゲートウェイ計画を実施しました。2022年にはAPIゲートウェイの構築に着手し、慎重な比較の結果、エッセンシャル証券は多数のAPIゲートウェイソリューションの中からApache APISIXを選択しました。その理由は以下の重要な利点によるものです:

高性能

証券会社の特徴として、ピーク時にはトラフィックが急増します。Apache APISIXは、シングルコアで23,000 QPSを達成し、平均遅延はわずか0.6ミリ秒という最高性能のAPIゲートウェイです。

「APIゲートウェイがバーストトラフィックを処理し、次のボトルネックにならないことが必要でした。OpenRestyやその他の技術スタックに基づくいくつかのAPIゲートウェイを比較した結果、Apache APISIXはその高性能と競争力のある利点により、私たちのAPIゲートウェイの要件を満たすことができました。」とYonghui氏は述べました。

スケーラブルで開発者に優しい

APISIXは豊富な機能をサポートしています。エッセンシャル証券では、レートリミットサーキットブレーカー、認可と認証、カナリアリリースが最も広く使用されています。

これに対応するため、エッセンシャル証券はビジネスグループの内部ニーズを満たすためにいくつかのプラグインを自社開発しました。APISIXは公式にJavaGolangPython、Luaなど多くのプログラミング言語をサポートしています。 コミュニティとの一貫性を保つため、エッセンシャル証券はLuaを選択しました。その結果、開発プロセス全体が非常にスムーズでした。エッセンシャル証券は、自社開発のプラグインをコミュニティに貢献することも検討しています。

仮想マシンとコンテナのシナリオ

現在、アプリケーションのクラウド移行はエッセンシャル証券の重要な戦略です。しかし、仮想マシン上にデプロイされているシナリオも少なくありません。

APIゲートウェイを選択する際には、これらの2つの状態のアプリケーションの互換性を考慮する必要があります。私たちの計画はコンテナに重点を置いていますが、APISIXはシナリオの互換性において多くのサポートを提供しています。」とYonghui氏は述べました。

クラウドネイティブ開発の軌跡

Apache APISIXはクラウドネイティブシナリオのサポートにおいて優れており、エッセンシャル証券はクラウドネイティブのトレンドに合わせて進んでいます。APISIX、APISIX Ingress Controller、およびService Meshを使用することで、エッセンシャル証券はAPISIXの新たな進展と発展を期待しています。

活発なコミュニティ

オープンソースプロジェクトとして、APISIXはそのコミュニティで活発に活動しています。問題はタイムリーに議論され、解決されます。2022年には、APISIXコミュニティによる約40のオンラインおよびオフラインイベントが開催されました。APISIXに精通している人々は、これらの活動に興奮しています。

エッセンシャル証券はAPISIXの使用からどのような恩恵を受けているか?

以下は、エッセンシャル証券のマイクロサービスアーキテクチャで、クラウドネイティブシナリオでよく見られるものです。

fintech api examplesのアーキテクチャ

  • 権限と認証: APISIXを使用する前は、権限と認証が複数のマイクロサービスによって制御されていたため、多くの重複開発作業が発生していました。

  • トラフィックガバナンス: エッセンシャル証券はAPISIXとの統合によりトラフィックガバナンスを実現し、その中でも最も典型的なシナリオはレートリミットとカナリアリリースです。APISIXを使用する前は、これらの機能はNGINXによって実現されていましたが、confを変更しノードを再起動する必要がありました。対照的に、APISIXの可視化されたダッシュボードとホットリロード機能は、エッセンシャル証券のトラフィックガバナンスに大きな利便性をもたらしました。

  • カナリアリリース: APISIXはカナリアリリースにおいて柔軟で、リクエストヘッダー、リクエストパラメータ、クッキーなどの特性に基づいて部分的なリリースが可能です。 例えば、エッセンシャル証券はユーザーIDに基づいてユーザートラフィックをカナリアリリースバージョンのサーバーにプロキシする必要があります。

  • 可観測性: 以前は、エッセンシャル証券はメトリクス、トレーシング、ログによって可観測性管理を実現する必要がありました。多次元のガバナンスを実現するのは困難でした。しかし、APISIXを使用した後は、3つのプラグインを有効にするだけで同じ効果を達成できます。 これは驚くべき進歩です!

APISIXに基づくイノベーション

CASシングルサインオン

エッセンシャル証券は、CAS(Central Authentication Service)を標準の認証方法として使用しており、認証をゲートウェイに配置するのに適しています。

エッセンシャル証券はAPISIXを拡張し、CASシングルサインオンの新機能を追加しました。 これにはいくつかの利点があります。

ゲートウェイ層にCASを配置することで、CASにアクセスし、その機能を簡単に導入できます。例えば、ユーザー情報を取得するための統一認証サービスが存在します。

さらに、CASはユーザー情報をリクエストヘッダーに設定し、上流サービスに渡すことで、ユーザーのログイン状態を保存します。これにより、他のシステムに繰り返しログインする必要がなくなり、多くのユーザーの時間を節約し、利便性を向上させます。

エッセンシャル証券のシングルサインオンプラグイン

authz - casbin認証プラグイン

APISIXのauthz-casbin認証プラグインは、Lua Casbinに基づく認可プラグインです。このプラグインは、RBAC(ロールベースアクセス制御)モデルに基づく強力な認可シナリオをサポートします。

CSVファイルの保存、APISIXプラグイン設定、メタデータによるポリシーの保存をサポートしています。

以下はその例です。

fintech api gatewayのコード例

エッセンシャル証券では、ドメインという重要な概念があります。ユーザーはさまざまなドメインで異なる権限を持ちます。例えば、従業員AはドメインAのマネージャーですが、ドメインBでは閲覧者のみかもしれません。

fintech api gatewayのトラフィックガバナンス

リクエスト、ポリシー、ロールを定義する際には、ドメインを指定する必要があります。そのため、エッセンシャル証券はcasbinを修正してこのシナリオに適合させました。このプラグインは、ドメイン付きRBACをサポートするLuaリポジトリに依存しています。その結果、上記の要件は、Luaリポジトリの対応するインターフェースを呼び出すだけで満たすことができ、非常に簡単です。この方法により、データセキュリティと権限管理が大幅に強化されます。

可観測性

APISIXは、メトリクス、トレーシング、ログ収集などの多次元の監視を提供します。これらの機能はすべて簡単な設定で実現できます。

Prometheusプラグインを有効にすると、リクエスト遅延、帯域幅、HTTPステータスコードの送信率などのメトリクスを観測可能になります。 これらはトラブルシューティングに役立ちます。

トレーシング分析に関しては、上流がSkywalkingと接続されている場合、Skywalkingを有効にすると完全なコールトレーシングを追跡できます。

エッセンシャル証券は、ログ収集の価値をさらに掘り下げることを計画しています。アクセスログをkafkaにプッシュすることで、エッセンシャル証券はデータを分析し、統計を取ることができます。

今後の計画

マルチテナンシー

以前、エッセンシャル証券のシステムは、エラーのリスクを低減し、ユーザー情報を分離するために独立したクラスターを持っていました。Apache APISIXは設定センターとしてetcdを使用しており、現在の段階に適しています。

共有クラスターは、リソース管理の統一とO&M効率の向上に役立ちます。エッセンシャル証券は、独立したクラスターとマルチテナンシーを組み合わせて、管理能力を拡大する予定です。

アプリケーションマーケットプレイス

エッセンシャル証券は、ユーザーに多くのマイクロサービスを製品として提供する予定です。例えば、ロギング、監視、アラートプラットフォーム、データセンターなどがあり、これらはAPISIXによって集中管理されます。

ゲートウェイ層を導入した後、認証、認可、トラフィックガバナンスなど、多くのAPIゲートウェイガバナンスが追加されました。

可観測性データ監視

APISIXのプラグインkafka-loggerは、エッセンシャル証券がゲートウェイのアクセスログをkafkaにプッシュするのを支援します。kafkaは情報をクリーンアップし、フォーマットし、統計を取ることで、呼び出しのTop N、異常なリクエスト、リクエスト遅延などのより価値のある統計を取得できます。

「または、ステータスコードの分布、クライアントIPの分布、トラフィック統計、トラフィックのピーク時間とオフピーク時間の分布、異常トラフィックの検出などを取得できます。この部分は、私たちのシステムの可観測性能力を拡張する上で非常に重要です。」とYonghui氏は述べました。

エッセンシャル証券は、APISIX Ingress ControllerとService Meshとのさらなる協力も期待しています。

APISIXのサポートをお探しですか?

Apache APISIXは、すべてのAPIとマイクロサービスのためのオープンソースで動的、スケーラブル、高性能なクラウドネイティブAPIゲートウェイです。 API7.aiによってApache Software Foundationに寄贈されたAPISIXは、トップレベルのオープンソースApacheプロジェクトに成長しました。

エッセンシャル証券のように、自信を持って開発を加速したいですか?APISIXのサポートを最大限に活用するには、API7が必要です。私たちは、あなたのニーズに基づいてAPISIXとAPI管理ソリューションの深いサポートを提供します!

今すぐお問い合わせください: https://api7.ai/contact

Tags: