APISIX助力联想打造轻量级去中心化网关
June 6, 2023
このブログは、LenovoのシニアITアーキテクトであるLeon Yangのスピーチに基づいています。彼は、ソフトウェアエンジニアリングコンポーネントの再利用を促進し、共有技術エコシステムを構築することに尽力してきました。
概要
Lenovoについて
Lenovo Group Limitedは、1984年11月1日にLegendとして設立され、一般的にLenovoとして知られる米中多国籍テクノロジー企業です。同社は、コンシューマーエレクトロニクス、パーソナルコンピュータ、ソフトウェア、ビジネスソリューション、および関連サービスの設計、製造、マーケティングを専門としています。
課題
-
多数の散在し、管理が不十分なAPIインターフェース、および企業内でのAPIの不適切な使用により、IT運用コストが高くなっています。
-
集中型APIゲートウェイアーキテクチャは、単一障害点を引き起こし、システムのスケーラビリティと可用性を妨げ、ダウンタイムやサービスの中断を引き起こす可能性があります。
-
単一のゲートウェイノードに多数のAPIシナリオとルートをデプロイすると、レイテンシの問題が発生し、システムが過負荷になる可能性があります。また、各APIゲートウェイにetcd/ZKをインストールすると、アーキテクチャが重くなります。
-
異種システムアーキテクチャと複数のプロバイダーからのAPI認証は、APIの使用を複雑にし、管理とメンテナンスを困難にします。
成果
-
適切なチューニングにより、ゲートウェイのパフォーマンスを20,000 TPS以上に改善できます。
-
100以上のローコードビジネスアプリケーションが、この軽量なAPIゲートウェイコンポーネントアーキテクチャを活用し、パフォーマンスと回復力を向上させました。
-
すべてのゲートウェイに対して、統一された方法でAPIライフサイクルを効率的に管理します。
-
統一されたAPI管理マーケットプレイスを提供することで、開発者の時間と労力を大幅に節約しました。
-
包括的なAPI分析と監視を確立しました。
背景
今日、ビジネスはますます複雑化しています。技術は日々変化しており、ソフトウェア開発に大きな影響を与えています。Lenovoは、より低コストでプロジェクトを効率的に提供する方法、つまりコンポーネント化によって既存のシステムリソースを再利用する方法を模索してきました。
最初のステップは、多数のコンポーネントを備えたすぐに使える再利用可能な内部APIエコシステムを構築することです。これにより、私たちのチームは、技術機能をコンポーネント化し、アーキテクチャを標準化することで、既存のソフトウェア資産を再利用できます。
これは企業にとって効果的な方法であり、開発者がさまざまな技術選択に直面する必要がなくなります。
その結果、Lenovoはコンポーネントベースのパターンに基づいて内部アプリケーションの開発を開始し、エンジニアリングアプリケーション開発コストを削減し、ソフトウェア提供の品質と効率を向上させました。同時に、Yangのチームは、内部システムと外部パートナーの能力を完全に再利用するための高品質な企業APIサービスエコシステムを確立し、強力なビジネスソリューションを構築しました。
LenovoがAPISIXを選んだ理由
LenovoがApache APISIXを選んだ主な理由は、APISIXが以下の点で優れているためです。
-
NGINXとLuaJITで構築されたAPISIXは、高性能、豊富なOpenRestyライブラリ、およびカスタマイズが容易です。過去に、LenovoはGartnerのリーダークアドラントに位置する複数の商用APIゲートウェイ製品を採用していました。しかし、これらの製品は、認証フローやダッシュボードのカスタマイズなど、企業の独自のニーズを満たすのに課題がありました。
-
APISIXは軽量なデプロイメントアーキテクチャを提供します。Lenovoは、アプリケーション内に組み込まれるコンポーネントとして機能する軽量なゲートウェイを必要としています。しかし、ほとんどの商用またはオープンソースのAPIゲートウェイ製品は、私たちのシステムにとって重すぎます。
-
**動的ホットリロード**により、システムを再起動することなくAPIを公開でき、ダウンタイムを削減し、ビジネスシステムの運用SLAを向上させます。
-
柔軟なプラグインカスタマイズにより、開発者は企業の独自のニーズを満たすパーソナライズされたプロセスを作成できます。
-
活発なコミュニティとエコシステムの強力なサポートにより、kafka-loggerやauthz-keycloakなどの高品質なプラグインが多数提供され、Lenovoは機能の強化と広範なカスタマイズオプションを享受できます。
-
**有効化されたWebアプリケーションファイアウォール(WAF)**は、Lenovoのシステム全体の保護とパフォーマンスを向上させるための重要なセキュリティ対策とトラフィック制御機能を提供します。
-
フレンドリーなオープンソースライセンス: Apache License 2.0。Lenovoは、セキュリティコンプライアンスの観点から、Apache License 2.0とMITの2つのプロトコルのみを検討しています。
APISIXに基づく分散型ゲートウェイと集中型Devポータル
Lenovoは、APISIXとそのアーキテクチャを統合するためにいくつかの対策を講じました。
まず、Lenovoは、API管理とAPI使用の効率と品質を向上させるために、集中型API Devポータルを確立しました。次に、ゲートウェイのヘルスチェックとAPIサブスクリプション同期のための集中型レジストリセンター(etcd)を設定し、複数のレジストリセンターをデプロイしました。
さらに、Lenovoは、ビジネスアプリケーションまたはドメイン内に委任された軽量ゲートウェイを提供し、集中型ゲートウェイなしでアプリケーションとサービスへの安全なアクセスを提供します。このアプローチにより、アクセスと認証に対するより細かい制御が可能になり、スケーラビリティとパフォーマンスが向上し、単一障害点のリスクが減少します。
最後に、API提供サービスの認証をオフロードし、APIコンシューマーの認証をビジネスアプリケーションまたはドメインに委任することで、LenovoはAPIセキュリティをより良く管理し、開発者エクスペリエンスを向上させることができます。
APISIX使用後の成果
APISIXを導入した後、Lenovo内で多くの変化が起こりました。
柔軟な設定によるパフォーマンスの向上
APISIXの優れたスケーラビリティは、Lenovoに必要なカスタマイズの柔軟性を提供します。 APISIXにより、Lenovoの分散型ゲートウェイアーキテクチャは、高性能でスケーラブルなエンタープライズレベルのAPIゲートウェイソリューションを提供し、集中化によるボトルネックを効果的に解消します。
以前は、システムリソースにより、単一クラスタにデプロイできるAPIの数は1,000未満に制限されていました。ゲートウェイのパフォーマンスは、リソースを大量に消費するAPIによってボトルネックが発生し、平均スループットは4,000 TPS未満でした。さらに、APIの障害は、全体的なAPIルーティングのパフォーマンスを低下させ、すべてのクライアントに影響を与えていました。
しかし、APISIXを活用することで、Lenovoの分散型ゲートウェイアーキテクチャは、特定のビジネスシナリオに基づいてゲートウェイノードとAPIを効率的にデプロイできます。各ゲートウェイノードは、システムリソースとワークロードに応じて独立して設定および最適化できます。その結果、ネットワーク全体にデプロイできるAPIの総数に制限がなくなりました。さらに、適切なチューニングにより、ゲートウェイのパフォーマンスは20,000 TPSを超えるまで大幅に向上しました。
セキュリティとスケーラビリティの向上
アプリケーションまたはビジネスドメインのコンポーネントとして軽量ゲートウェイをデプロイすることで、アプリケーションのセキュリティが向上し、シナリオに応じたAPIのデプロイの柔軟性が大幅に向上しました。
各ビジネスシナリオは、独立したAPIルーティングとカスタマイズされたセキュリティポリシーの恩恵を受けることができ、異なるシナリオ間の完全な分離を提供します。これにより、各ビジネスシナリオは、特定の計画に従ってAPIの変更と起動停止操作を実行できます。
これまでに、100以上のローコードビジネスアプリケーションがこの軽量APIゲートウェイコンポーネントアーキテクチャを活用し、パフォーマンスと回復力を向上させました。統一ゲートウェイの運用とメンテナンスの課題に妨げられることなく、この軽量APIゲートウェイコンポーネントアーキテクチャは、今後2〜3年でほとんどのビジネスシナリオをカバーする予定です。
完全なAPIライフサイクル管理の実現
集中型API Devポータルにより、APIプロバイダーはすべてのゲートウェイに対して統一された方法でAPIライフサイクルを効率的に管理できます。
API Devポータルを利用してAPI情報を管理することで、さまざまなビジネスチームがAPI管理ツールを重複して作成するのを効果的に防ぐことができます。さらに、統一されたAPI技術標準、ドキュメント標準、およびセキュリティ標準を確立する可能性を提供します。異なるビジネスドメインからの複雑な異種システムやレガシーシステムを統合するために、API Devポータルは、basic-auth、OAuth2、カスタマイズされたヘッダーなど、APISIXプラグインから拡張されたさまざまな認証プロセスをAPIのバックエンドサービスに提供します。これまでに、100人以上の開発者がAPI管理のためにAPI Devポータルを使用しています。
統一されたAPI管理マーケットプレイスの提供
APISIXによって促進されるAPIマーケットプレイスは、開発者が必要なAPIを見つけるプロセスを簡素化する上で重要な役割を果たします。これらのマーケットプレイスは、大企業内の部門間でAPI情報を効率的に共有および発見するのにも役立ち、APIを検索する時間を短縮します。
現在、APIマーケットは、さまざまなビジネスドメインの1000人以上の開発者によって活用され、必要なAPI情報を検索およびアクセスしています。開発プロセスを効率化し、最新かつ正確なAPI情報にアクセスするための不可欠なツールであることが証明されています。
APISIXがAPIマーケット内で機能とカバレッジを拡大し続けるにつれて、より多くの開発者が開発ニーズのための貴重なリソースとしてAPISIXに依存することが期待されています。**APISIXは、開発者に必要なAPIを検索およびアクセスするための集中型プラットフォームを提供し、開発プロセス中の時間と労力を大幅に節約します。**さらに、APISIXによって強化されたAPIマーケットは、開発者が独自のAPIを共有するための協力的な環境を提供し、開発コミュニティ内でのイノベーションとコラボレーションを促進します。
強化された監視の実現
API分析と監視は、企業にAPIのパフォーマンスに関する貴重な洞察を提供します。**APISIXは、Lenovoがプラットフォームを監視するのを支援する上で重要な役割を果たし、開発者がパフォーマンス、スケーラビリティ、および信頼性を向上させるためにAPIを最適化することを可能にします。**さらに、エラーやレイテンシなどの潜在的なリスクを早期に検出し、それらが重大な問題になるのを防ぎます。
まとめ
Leonは、高性能なテックスタックと柔軟なオープンソースアーキテクチャの組み合わせが、Lenovoに堅牢で効率的なソリューションを作成する力を与えると強調しています。この強力な組み合わせは、組織が複雑な課題に取り組み、卓越した成果を提供するために必要なツールと能力を提供します。
これらの能力を考慮して、LenovoはAPISIXとその活発なコミュニティに大きな信頼を寄せています。APISIXの揺るぎないサポートにより、Lenovoは驚くべきマイルストーンを達成し、業界の技術的進歩の最前線に留まるための十分な準備が整っています。APISIXの強みを活用することで、Lenovoはイノベーションを推進し、成長を促進し、市場の進化するニーズを満たすための最先端のソリューションを提供し続けることができます。