360 améliore la gestion des ressources cloud avec APISIX

December 11, 2020

Case Study

Aperçu

À propos de la plateforme de base d'opérations et de maintenance 360

La plateforme de base d'opérations et de maintenance 360 est une plateforme de gestion et de surveillance d'applications cloud destinée aux entreprises, conçue pour aider les entreprises à mieux gérer leurs ressources cloud, à améliorer la disponibilité et les performances des applications, et à répondre aux demandes croissantes de leurs besoins métier.

Avant d'utiliser APISIX, la couche de passerelle de la plateforme de base d'opérations et de maintenance 360 présentait certaines lacunes, telles qu'une performance et une extensibilité médiocres lors de la gestion de volumes de trafic importants, ainsi qu'une complexité élevée dans la gestion et la surveillance. Par conséquent, l'équipe prévoit de rénover la couche de passerelle pour améliorer le temps de réponse et l'efficacité de gestion de la plateforme. L'équipe vise à créer une couche de passerelle haute performance, évolutive et facile à gérer pour mieux gérer et surveiller les applications cloud.

Défis

  • Complexité des applications : Les applications cloud sont généralement plus complexes que les applications traditionnelles, impliquant plusieurs modules et services, nécessitant un déploiement et une gestion plus complexes.
  • Disponibilité et performance des applications : Les applications cloud doivent maintenir une haute disponibilité et des performances élevées pour répondre aux demandes des utilisateurs. Cela nécessite une meilleure surveillance et résolution des problèmes.
  • Sécurité des applications : Les applications cloud doivent garantir la sécurité et la confidentialité des données, nécessitant un meilleur contrôle d'accès et des politiques de sécurité.

Résultats

  • L'architecture basée sur des plugins a été construite avec succès, permettant une plus grande flexibilité dans la personnalisation et l'extension du système.
  • La plateforme peut maintenir des niveaux élevés de disponibilité et de réactivité même sous une charge importante.
  • Les administrateurs peuvent surveiller le système en temps réel et identifier et résoudre rapidement les problèmes, assurant que le système fonctionne toujours à son efficacité maximale.

Pourquoi 360 a choisi APISIX

L'équipe de la plateforme de base d'opérations et de maintenance 360 a finalement choisi Apache APISIX principalement en raison de l'option de stockage etcd, qui est plus adaptée au scénario d'utilisation. Lors de la sélection d'une solution de stockage, plusieurs facteurs doivent être pris en compte, tels que le type de données, le volume de données, la fréquence de lecture/écriture, le modèle d'accès aux données et la sécurité des données. Par rapport à etcd, d'autres options de stockage peuvent présenter certaines lacunes.

Par exemple, Postgres est adapté aux requêtes de données complexes et au traitement des transactions, mais manque en termes de performance de lecture/écriture et d'évolutivité. Cassandra est adapté au stockage et à l'analyse de données à grande échelle, mais manque de performance de lecture/écriture élevée et de cohérence des données. Redis est adapté à la mise en cache et au stockage de données à haute vitesse, mais doit encore améliorer la cohérence et la fiabilité des données. PaaS est adapté à la construction, au déploiement et à la gestion rapides d'applications, mais nécessite une solution de stockage plus flexible et évolutive. Zookeeper est adapté à la gestion et à la coordination d'applications distribuées, mais présente encore des lacunes en matière de cohérence et de fiabilité des données.

En comparaison, etcd, en tant que système de stockage clé-valeur distribué hautement fiable, évolutif, performant et facile à utiliser, répond mieux aux besoins de la plateforme de base d'opérations et de maintenance cloud de 360 et a donc été choisi comme solution de stockage. En plus de l'option de stockage, APISIX a également apporté d'autres surprises à l'équipe de la plateforme de base d'opérations et de maintenance 360. Le tableau ci-dessous montre les différences entre APISIX et des produits similaires dans divers aspects en dehors de la sélection de stockage.

Passerelle APIAPISIXKongTykApigeeAWSAliyun
Mode de déploiementnœud unique & clusternœud unique & clusternœud unique & clusterNon compatible avec le déploiement en nœud uniquePaaSPaaS
Sélection de stockageetcdPostgres, CassandraRedisPostgres, Cassandra, ZookeeperPaaSPaaS
Open-source ou nonApache License 2.0Apache License 2.0MPL LicenseNonNonNon
Technologie de baseNGINX + LuaNGINX + LuaGolang///
Déploiement privé
Plugins personnalisés
Engagement communautaireÉlevéÉlevéÉlevéModéréFaibleFaible
Support YAML ou nonSupportSupportNe supporte pasNe supporte pasNe supporte pasNe supporte pas

Le diagramme suivant montre l'architecture finale du projet de la plateforme de base d'opérations et de maintenance 360, y compris le service de passerelle déployé sur le cloud de conteneurs de l'entreprise et le service etcd déployé sur un ensemble de clusters répartis sur 3 machines virtuelles.

architecture

Réalisations après l'utilisation d'APISIX

Développement basé sur des plugins avec succès

Apache APISIX utilise des plugins pour répondre aux diverses exigences des clients en matière de gestion du trafic et de scénarios spécifiques. Actuellement, il existe plus de 100 plugins prêts à l'emploi, et les utilisateurs peuvent développer des plugins personnalisés pour prendre en charge de nouvelles fonctionnalités.

Actuellement, la plateforme d'opérations et de maintenance 360 a mis en œuvre diverses fonctions en utilisant à la fois des plugins développés en interne et des plugins natifs fournis par APISIX, y compris, mais sans s'y limiter, l'authentification des utilisateurs, la limitation de débit par IP, le transfert de requêtes, l'enregistrement des journaux et les fonctions d'alerte.

Les fichiers de projet de la plateforme de base d'opérations et de maintenance 360 ont deux répertoires, "libs" et "plugins". Le répertoire "libs" contient certaines bibliothèques couramment utilisées, tandis que le répertoire "plugins" contient des plugins métier personnalisés. Toutes les opérations métier de la plateforme 360 sont développées à l'aide d'un mécanisme de plugin. Le projet a deux domaines d'entrée : un pour l'accès OpenAPI, qui utilise le plugin d'authentification basic-auth, et un pour l'accès via un navigateur web, qui utilise le plugin web-auth (authentification par cookie). La figure suivante montre les plugins actuellement utilisés dans le projet.

plugins

Gestion facile des volumes de trafic élevés

En choisissant les bonnes technologies et en les mettant en œuvre efficacement, la plateforme de base d'opérations et de maintenance 360 a pu construire une plateforme de gestion d'applications cloud haute performance et robuste capable de répondre aux demandes croissantes de ses besoins métier.

La plateforme de base d'opérations et de maintenance 360 compte actuellement près de 900 API ajoutées à sa passerelle, avec une moyenne quotidienne d'environ 10 millions de PV. Selon son système de surveillance, la passerelle et ses divers microservices fonctionnent sans problème. Cela indique que l'infrastructure de la plateforme est capable de gérer des volumes de trafic élevés et d'assurer une haute disponibilité pour ses utilisateurs. Cela montre également que son équipe de développement a fait un excellent travail dans la conception et la mise en œuvre de son architecture système en choisissant APISIX comme couche de passerelle. Ce succès peut être attribué à plusieurs facteurs, y compris l'évolutivité et la fiabilité d'APISIX, ainsi que son utilisation d'etcd comme solution de stockage. À l'avenir, la plateforme continuera à surveiller les performances de son système et à apporter des améliorations si nécessaire pour s'assurer qu'elle maintient des niveaux élevés de qualité et de service pour ses utilisateurs.

Surveillance efficace du système

Les fonctionnalités d'observabilité fournies par APISIX apportent plusieurs avantages à la plateforme de base d'opérations et de maintenance 360 :

  • Premièrement, les fonctionnalités d'observabilité d'APISIX peuvent aider les développeurs à surveiller le système plus efficacement, à détecter et à résoudre les problèmes potentiels en temps opportun, et à améliorer la fiabilité du système.

  • Deuxièmement, les journaux d'accès et la surveillance des métriques en temps réel peuvent aider les développeurs à localiser rapidement les problèmes, à optimiser les performances du système, et à améliorer la disponibilité et les performances du système.

  • Enfin, les contrôles de santé peuvent assurer la disponibilité des services backend et ajuster automatiquement les stratégies de transfert de requêtes, améliorer l'expérience utilisateur et fournir de meilleurs services aux utilisateurs.

Les fonctionnalités d'observabilité d'APISIX peuvent aider la plateforme de base d'opérations et de maintenance 360 à surveiller et à gérer le système plus efficacement, à améliorer la disponibilité, les performances et la fiabilité du système, et à fournir une meilleure expérience de service aux utilisateurs.

Résumé

La plateforme de base d'opérations et de maintenance 360 a choisi APISIX en raison de son option de stockage etcd, qui correspond mieux à son scénario d'utilisation. APISIX a également apporté d'autres avantages tels que le développement basé sur des plugins, une bonne observabilité, et une meilleure surveillance et gestion du système.

Tags: