APISIX aide Lenovo à construire une passerelle légère et décentralisée
June 6, 2023
Ce blog provient d'un discours de Leon Yang, architecte informatique senior chez Lenovo, qui s'est consacré à la promotion de la réutilisation des composants d'ingénierie logicielle et à la construction d'un écosystème technologique de partage.
Aperçu
À propos de Lenovo
Lenovo Group Limited, fondé le 1er novembre 1984 sous le nom de Legend et communément appelé Lenovo, est une entreprise multinationale technologique sino-américaine spécialisée dans la conception, la fabrication et la commercialisation d'électronique grand public, d'ordinateurs personnels, de logiciels, de solutions d'entreprise et de services associés.
Défis
-
Un grand nombre d'interfaces API dispersées et mal gérées, ainsi qu'une utilisation inappropriée des API au sein de l'entreprise, entraînent des coûts opérationnels informatiques élevés.
-
Une architecture centralisée de passerelle API peut provoquer un point de défaillance unique et entraver l'évolutivité et la disponibilité du système, pouvant entraîner des interruptions de service.
-
Le déploiement de trop de scénarios et de routes API sur un seul nœud de passerelle peut causer des problèmes de latence et submerger le système, tandis que l'installation d'un etcd/ZK pour chaque passerelle API peut alourdir l'architecture.
-
Les architectures de systèmes hétérogènes avec plusieurs autorisations API provenant de différents fournisseurs peuvent ajouter de la complexité à l'utilisation des API, rendant leur gestion et maintenance plus difficiles.
Résultats
-
Les performances de la passerelle peuvent être améliorées à plus de 20 000 TPS avec un réglage approprié.
-
Plus de 100 applications métier à faible code ont tiré parti de cette architecture légère de composants de passerelle API, améliorant ainsi leurs performances et leur résilience.
-
Gestion efficace du cycle de vie complet des API de manière unifiée pour toutes les passerelles.
-
Gain de temps et d'efforts considérable pour les développeurs grâce à un marché unifié de gestion des API.
-
Mise en place d'une analyse et d'une surveillance complètes des API.
Contexte
Aujourd'hui, les entreprises deviennent de plus en plus complexes. Les technologies évoluent rapidement, ce qui a un impact énorme sur le développement logiciel. Lenovo cherche un moyen plus efficace de livrer des projets à moindre coût, c'est-à-dire en réutilisant les ressources système existantes par la composantisation.
La première étape consiste à construire un écosystème interne d'API prêtes à l'emploi avec un grand nombre de composants. Ainsi, notre équipe peut réutiliser les actifs logiciels existants en composantisant les fonctions techniques et en standardisant l'architecture.
C'est une méthode efficace pour les entreprises, permettant aux développeurs de ne plus avoir à faire face à une variété de choix technologiques.
Par conséquent, Lenovo a commencé à développer ses applications internes basées sur des modèles de composants, réduisant les coûts de développement d'applications d'ingénierie et améliorant la qualité et l'efficacité de la livraison logicielle. Parallèlement, l'équipe de Yang a établi un écosystème de services API d'entreprise de haute qualité pour réutiliser pleinement les capacités des systèmes internes et des partenaires externes, construisant ainsi des solutions métier puissantes.
Pourquoi Lenovo a choisi APISIX
Lenovo a choisi Apache APISIX principalement parce qu'APISIX présente des avantages dans les aspects suivants.
-
Construit avec NGINX et LuaJIT, APISIX offre des performances élevées, une riche bibliothèque OpenResty, et est facile à personnaliser. Par le passé, Lenovo a adopté plusieurs produits commerciaux de passerelle API positionnés dans le quadrant leader de Gartner. Cependant, ces produits posaient des défis pour répondre aux besoins uniques des entreprises, tels que la personnalisation des flux d'autorisation et des tableaux de bord.
-
APISIX fournit une architecture de déploiement légère. Lenovo a besoin d'une passerelle légère qui peut fonctionner comme un composant intégré dans une application. Cependant, la plupart des produits commerciaux ou open-source de passerelle API sont trop lourds pour notre système.
-
Le rechargement dynamique hot reloading permet de publier des API sans avoir à redémarrer les systèmes, réduisant les temps d'arrêt et améliorant le SLA des systèmes métier.
-
La personnalisation flexible des plugins permet aux développeurs de créer des processus personnalisés répondant aux besoins uniques de l'entreprise.
-
Avec le soutien solide d'une communauté et d'un écosystème actifs avec une large gamme de plugins de haute qualité comme kafka-logger et authz-keycloak, Lenovo bénéficie d'une fonctionnalité améliorée et d'options de personnalisation étendues.
-
Le pare-feu d'application web (WAF) activé fournit des mesures de sécurité essentielles et des fonctionnalités de contrôle du trafic pour améliorer la protection globale et les performances du système de Lenovo.
-
Licence open-source conviviale : Apache License 2.0. Lenovo ne considère que deux protocoles, Apache License 2.0 et MIT, en termes de conformité de sécurité.
Passerelle décentralisée et portail de développement centralisé basé sur APISIX
Lenovo a adopté plusieurs mesures pour intégrer son architecture avec APISIX.
Tout d'abord, Lenovo a établi son portail de développement API centralisé pour améliorer l'efficacité et la qualité de la gestion et de l'utilisation des API. Ensuite, il a mis en place un centre de registre centralisé (etcd) pour la vérification de l'état de santé des passerelles et la synchronisation des abonnements API pour déployer plusieurs centres de registre.
De plus, Lenovo a fourni une passerelle légère déléguée dans les applications ou domaines métier qui fournit un accès sécurisé aux applications et services sans passerelle centralisée. Cette approche permet un contrôle plus granulaire de l'accès et de l'authentification, améliore l'évolutivité et les performances, et réduit le risque de point de défaillance unique.
Enfin, en déchargeant l'autorisation des services de provisionnement d'API et en déléguant l'autorisation des consommateurs d'API aux applications ou domaines métier, Lenovo peut mieux gérer sa sécurité API et améliorer l'expérience des développeurs.
Réalisations après l'utilisation d'APISIX
Après la mise en œuvre d'APISIX, un nombre important de changements ont été apportés chez Lenovo.
Amélioration des performances avec une configuration flexible
L'évolutivité remarquable d'APISIX offre à Lenovo la flexibilité nécessaire pour la personnalisation. Avec APISIX, l'architecture de passerelle décentralisée de Lenovo fournit des solutions de passerelle API d'entreprise hautes performances et hautement évolutives, éliminant efficacement le goulot d'étranglement causé par la centralisation.
Auparavant, les ressources système limitaient le nombre d'API pouvant être déployées dans un seul cluster à moins de 1 000. Les performances de la passerelle étaient limitées par certaines API gourmandes en ressources, entraînant un débit moyen de moins de 4 000 TPS. De plus, toute défaillance d'API dégradait les performances globales de routage des API et affectait tous les clients.
Cependant, en tirant parti d'APISIX, l'architecture de passerelle décentralisée de Lenovo permet le déploiement efficace des nœuds de passerelle et des API en fonction de scénarios métier spécifiques. Chaque nœud de passerelle peut être configuré et optimisé indépendamment en fonction de ses ressources système et de sa charge de travail. Par conséquent, il n'y a plus de limite sur le nombre total d'API pouvant être déployées sur le réseau. De plus, avec un réglage approprié, les performances de la passerelle peuvent être considérablement améliorées pour dépasser 20 000 TPS.
Sécurité et évolutivité accrues
Le déploiement d'une passerelle légère en tant que composant d'une application ou d'un domaine métier a amélioré la sécurité de l'application, ainsi que considérablement renforcé la flexibilité du déploiement des API par scénarios.
Chaque scénario métier peut bénéficier d'un routage API indépendant et de politiques de sécurité personnalisées, fournissant une isolation complète entre les différents scénarios. Cela permet à chaque scénario métier d'effectuer des modifications d'API et des opérations de démarrage-arrêt selon des plans spécifiques.
Jusqu'à présent, plus de 100 applications métier à faible code ont tiré parti de cette architecture légère de composants de passerelle API, améliorant ainsi leurs performances et leur résilience sans être entravées par les défis opérationnels et de maintenance de la passerelle unifiée. Cette architecture légère de composants de passerelle API devrait englober la plupart des scénarios métier dans les 2 à 3 prochaines années.
Gestion complète du cycle de vie des API
Le portail de développement API centralisé permet aux fournisseurs d'API de gérer efficacement le cycle de vie complet des API de manière unifiée pour toutes les passerelles.
L'utilisation d'un portail de développement API pour gérer les informations API peut empêcher efficacement les différentes équipes métier de dupliquer leurs outils d'administration d'API. De plus, il permet d'établir des normes techniques, de documentation et de sécurité unifiées pour les API. Pour intégrer des systèmes hétérogènes complexes ou des systèmes hérités de différents domaines métier, le portail de développement API fournit également divers processus d'autorisation étendus à partir du plugin APISIX pour les services backend des API, tels que basic-auth, OAuth2, Customized Header, etc. Jusqu'à présent, plus de 100 développeurs utilisent le portail de développement API pour la gestion des API.
Marché unifié de gestion des API
Les marchés d'API, comme celui facilité par APISIX, jouent un rôle vital en simplifiant le processus de recherche des API nécessaires pour les développeurs. Ces marchés facilitent également le partage et la découverte efficaces des informations API entre les départements des grandes entreprises, réduisant ainsi le temps passé à rechercher des API.
Actuellement, le marché d'API est déjà utilisé par plus de 1000 développeurs de divers domaines métier pour rechercher et accéder aux informations API nécessaires. Il s'est avéré être un outil indispensable pour rationaliser le processus de développement et garantir l'accès aux informations API les plus récentes et les plus précises.
Alors qu'APISIX continue d'étendre sa fonctionnalité et sa couverture au sein du marché d'API, de plus en plus de développeurs devraient s'appuyer sur lui comme une ressource précieuse pour leurs besoins de développement. APISIX fournit aux développeurs une plateforme centralisée pour rechercher et accéder aux API dont ils ont besoin, leur faisant gagner un temps et des efforts considérables pendant le processus de développement. De plus, le marché d'API alimenté par APISIX offre aux développeurs un environnement collaboratif pour partager leurs propres API, favorisant l'innovation et la collaboration au sein de la communauté de développement.
Surveillance améliorée
L'analyse et la surveillance des API fournissent aux entreprises des informations précieuses sur les performances de leurs API. APISIX joue un rôle crucial en aidant Lenovo à surveiller ses plateformes, permettant aux développeurs d'optimiser les API pour améliorer les performances, l'évolutivité et la fiabilité. De plus, il aide à détecter précocement les risques potentiels, tels que les erreurs et la latence, les empêchant de devenir des problèmes majeurs.
Résumé
Leon souligne que la combinaison d'une pile technologique haute performance et d'une architecture open-source flexible permet à Lenovo de créer des solutions robustes et efficaces. Cette combinaison puissante fournit aux organisations les outils et les capacités nécessaires pour relever des défis complexes et fournir des résultats exceptionnels.
À la lumière de ces capacités, Lenovo place une grande confiance dans APISIX et sa communauté dynamique. Avec le soutien indéfectible d'APISIX, Lenovo est bien positionné pour atteindre des étapes remarquables et rester à l'avant-garde des avancées technologiques dans l'industrie. En tirant parti des forces d'APISIX, Lenovo peut stimuler l'innovation, favoriser la croissance et continuer à montrer la voie en fournissant des solutions de pointe pour répondre aux besoins évolutifs du marché.