Solutions de passerelle API pour l'industrie automobile

Ming Wen

Ming Wen

November 2, 2022

Technology

Sous la vague de numérisation et d'intelligence, les industries manufacturières et automobiles sont confrontées à des opportunités et des défis sans précédent. Les voitures ne sont plus simplement un produit mécatronique destiné au transport, mais un troisième espace en dehors du domicile et de l'entreprise. Les voitures ont évolué pour devenir plus intelligentes, avec une intégration profonde des logiciels et des matériels.

Du point de vue des consommateurs, la maniabilité et la sécurité sont devenues des configurations standard des automobiles. Chacun a des exigences plus élevées pour les voitures, un produit industriel qui existe depuis plus de 100 ans : les voitures intelligentes. Cela se reflète dans l'assistance à la conduite, mais aussi dans la programmation OTA (Over-the-air), le contrôle vocal, le contrôleur central à écran tactile, etc., ce qui exige des demandes plus élevées en matière de traitement des données en temps réel, de puissance de calcul et d'itération des logiciels automobiles.

Du point de vue des applications commerciales, l'IoV (Internet des Véhicules) et les données en amont et en aval deviennent de plus en plus complexes. En conséquence, briser les silos d'information, ouvrir les données de différents systèmes et accélérer l'innovation commerciale sont devenus des points sensibles pour les entreprises manufacturières et automobiles.

Du point de vue des changements technologiques, les logiciels cloud-native et open-source apportent un soutien technique aux entreprises manufacturières et automobiles pour accélérer leur transformation numérique. Ces entreprises peuvent saisir l'opportunité de cette conversion en utilisant efficacement les technologies cloud-native.

Aujourd'hui, plus de 5 000 puces sont présentes dans une voiture électrique avec fonction d'assistance à la conduite, exécutant des centaines de millions de lignes de code. La nouvelle ère des "Véhicules Définis par le Logiciel (SDV)" est progressivement à nos portes.

À travers l'analyse des statistiques et des recherches de la communauté open-source Apache APISIX, nous avons constaté qu'Apache APISIX est largement utilisé dans la Quatrième Révolution Industrielle, couvrant l'usine numérique, les véhicules intelligents, les puces IA, la conduite autonome, la gouvernance des microservices dans les entreprises automobiles, la finance automobile, les ventes B2B automobiles, les ventes de voitures d'occasion en B2C, et d'autres domaines.

Voici quelques exemples :

  1. Usine Numérique : European Factory Platform
  2. Constructeurs Automobiles : Geely Auto, XPeng Motors, Lotus Cars, Li Auto, BeyonCa Autos
  3. IA & Conduite Autonome : Horizon Robotics, Momenta
  4. Finance Automobile : BMW Financial Services
  5. Reconnaissance Vocale : AiSpeech

En tant que passerelle API cloud-native, Apache APISIX est un composant fondamental qui peut traiter les requêtes API provenant de divers terminaux comme les voitures, les appareils IoT, les applications mobiles, etc. L'utilisation généralisée d'Apache APISIX dans les industries liées à l'automobile pousse également les projets open-source à itérer pour répondre aux besoins de plus en plus d'utilisateurs d'entreprise.

Nous fournirons des solutions industrielles accumulées via API7 Enterprise et API7 Cloud. N'hésitez pas à nous contacter : https://api7.ai/contact.

Ensuite, découvrons comment la passerelle API et Apache APISIX aident les utilisateurs d'entreprise à résoudre des problèmes pratiques à travers quelques cas d'utilisation typiques.

European Factory Platform Utilise APISIX comme Passerelle de Sécurité

EFPF (European Factory Platform) est une fédération de plates-formes de fabrication numérique (DMP) financée par le programme Horizon 2020 de la Commission européenne. L'union comprend 30 entreprises et organisations de 10 pays européens, dont Siemens, Airbus SE, des instituts de recherche et des universités, etc. Elle fournit des solutions innovantes dans les domaines de l'Industrie 4.0, de l'IoT, de l'intelligence artificielle, du big data et de la fabrication numérique.

Répartition Mondiale des Activités d'EFPF (European Factory Platform)

EFPF fournit une gamme d'outils et de services, dont beaucoup offrent une ou plusieurs API que d'autres outils et services peuvent utiliser. La plate-forme EFPF peut surveiller, contrôler et analyser l'utilisation des API via la passerelle API. De plus, la passerelle API permet de définir des politiques sur la manière dont les utilisateurs interagissent avec les API exposées par différentes entreprises sur la plate-forme.

Aperçu de l'Architecture d'EFPF (European Factory Platform)

L'outil de gestion des API ou la passerelle de sécurité API (ASG) utilisé dans la plate-forme EFPF est un composant de Data Spine. L'ASG est la passerelle frontière pour tous les appels API et fournit des services exposés externes disponibles dans l'écosystème EFPF. Tout en agissant comme un service proxy, il applique également des politiques de sécurité sur les appels de service en cours. Dans EFPF, l'ASG est implémenté en utilisant Apache APISIX.

Voici plusieurs raisons de choisir Apache APISIX :

  • Vitesse : Comme l'ASG va proxifier les appels de Data Spine vers d'autres plates-formes de l'écosystème, la latence des appels est minimisée.
  • Plugins Personnalisés : L'ASG devrait dépendre d'un minimum de code/configuration pour développer des plugins de sécurité personnalisés.
  • Licence : Une licence permissive (Apache / MIT) est préférée pour l'implémentation de l'ASG.
  • Support pour MQTT.

En plus de cela, les problèmes suivants de gestion des API sont également résolus :

  • Configuration des API, gestion du cycle de vie et découverte des services
  • Uniformité et complétude des spécifications des API
  • Gestion des contrats d'interface entre les fournisseurs de services et les consommateurs

Grâce à la passerelle API fournie par EFPF, les 30 entreprises de l'alliance peuvent fournir, obtenir et échanger divers types de données via l'API et, sur cette base, effectuer la gestion des droits et le contrôle de sécurité des API.

XPeng Motors Utilise APISIX pour Construire un Habitacle Intelligent

XPeng Motors est une entreprise automobile de référence parmi les nouvelles forces de fabrication de voitures en Chine. Depuis sa création, elle a insisté sur la recherche et le développement indépendants dans les "voitures intelligentes", investissant 20 % dans la R&D, la proportion la plus élevée par rapport à Li Auto Inc. et Nio Inc.

Il a été controversé de savoir si les logiciels et les matériels des voitures doivent être développés indépendamment par les constructeurs automobiles. Beaucoup pensent que ces constructeurs n'ont qu'à se concentrer sur l'intégration, car investir beaucoup d'argent et de temps dans l'auto-développement n'est pas rentable. Cependant, d'un autre point de vue, l'auto-développement des logiciels et des matériels peut réaliser une expérience utilisateur unifiée et parfaite des produits et maintenir une position avantageuse dans les itérations ultérieures après l'accumulation d'expérience.

Prenons l'exemple de l'"habitacle intelligent" mis en avant par XPeng Motors pour introduire le rôle d'Apache APISIX.

Habitacle Intelligent de XPeng

Sur le contrôleur central à écran tactile de XPeng Motors, les utilisateurs doivent être connectés à Internet pour utiliser toutes les fonctionnalités, y compris la reconnaissance et le contrôle vocal, les cartes et la navigation, la musique, les films, etc., les API derrière lesquelles sont traitées via Apache APISIX.

Pour les applications et services de l'IoV, il n'y aura pas de forte concurrence et de trafic lourd, comme Weibo, WeChat et d'autres produits Internet, mettant davantage l'accent sur la stabilité et la faible latence. Lorsque des services critiques comme la reconnaissance vocale et la navigation sont en panne ou retardés, les utilisateurs attribuent cela à un problème de XPeng Motors, réduisant considérablement la satisfaction et l'expérience utilisateur.

De plus, XPeng Motors doit également développer davantage la transmission et l'analyse des données, connectant le "cerveau" du cloud avec celui de la voiture :

  1. Rendre la conduite plus sûre : Les données sous-jacentes de la voiture, comme les habitudes de conduite, la vitesse, l'autonomie de la batterie, la pression des pneus, etc., ainsi que les données en temps réel comme la température, la météo et l'encombrement des routes, peuvent être combinées pour améliorer la sécurité de la conduite ;

  2. Rendre la conduite plus confortable : Les fonctions d'assistance à la conduite, d'OTA, de stationnement automatique, etc., sont indissociables du traitement des données en temps réel et de l'analyse des big data accumulées en arrière-plan.

Afin de rendre la présentation des fonctions ci-dessus plus parfaite, il est nécessaire de garantir la disponibilité et la faible latence du service au niveau technique, ce sur quoi les voitures intelligentes travaillent actuellement.

Avant d'utiliser Apache APISIX, sous la fonction d'habitacle intelligent de XPeng Motors, la séquence d'exécution d'une API émise par la voiture était : Client API -> Alibaba Cloud SLB (Server Load Balancer) (couche 4) -> NGINX (couche 7) -> Zuul -> Service.

Séquence d'Exécution de la Voiture de XPeng avant l'Utilisation d'Apache APISIX

Le côté gauche de l'image ci-dessus représente le côté client de XPeng Motors. Il y a trois sources principales de requêtes client : les clients ordinaires de voiture, les pages web ou les navigateurs depuis Internet, et les applications officielles de XPeng ou d'autres applications et mini-programmes.

Ensuite, le trafic collecté passera finalement par le module opérateur pour être envoyé au SLB de la salle informatique interne pour le transfert standard de la couche 4. Nous pouvons considérer cela comme un port de réception pour les données de trafic, transformant le trafic vers le premier NGINX, le deuxième NGINX, et enfin vers Zuul pour traitement.

Cette architecture a rapidement rencontré des problèmes :

  1. Les requêtes API passent par deux passerelles API, NGINX et Zuul, augmentant le temps de saut dans le processus de transmission des API. Cependant, chaque ajustement affecte la disponibilité du service et les performances de latence.

  2. Lorsque cette fonction est utilisée pour un développement secondaire pour s'interfacer avec le système interne de l'entreprise, NGINX doit être développé en utilisant des modules C, tandis que Zuul est en Java. La différence de langage augmentera le cycle de développement et les coûts incrémentaux pour la maintenance ultérieure.

  3. Après la mise à jour de la route et du certificat SSL, NGINX doit être redémarré. De plus, il y aura une période d'indisponibilité des services, affectant dans une certaine mesure la présentation des services.

En outre, en tant que composant fondamental, la passerelle API est également l'un des composants qui doivent être maintenus par l'équipe d'infrastructure de XPeng Motors. En tenant compte de certains des points sensibles actuels au niveau fonctionnel, XPeng Motors espère trouver un projet avec une communauté active, une itération à long terme et un développement sain afin de réduire les coûts d'utilisation et de maintenance de ses propres activités au niveau architectural.

Après avoir utilisé APISIX, leur architecture a été ajustée, comme indiqué ci-dessous.

Architecture d'Exécution de la Voiture de XPeng après l'Utilisation d'Apache APISIX

On peut voir que le flux de traitement de la scène a changé après l'utilisation d'APISIX. La séquence d'exécution d'une API émise par la voiture est maintenant : Client API -> Alibaba Cloud SLB (couche 4) -> APISIX (couche 7) -> Service.

Comme on peut le voir dans le changement de l'ordre d'exécution, le deuxième NGINX et Zuul sur le flux de traitement précédent ont été remplacés par APISIX, donc le lien ne doit passer que par 4 composants pour le traitement.

APISIX-DP joue deux rôles dans la nouvelle architecture. Le premier rôle est d'agir comme un Ingress K8s, servant d'entrée et de sortie de trafic ; le second est d'agir comme une passerelle de microservices. Alors, vous vous demandez peut-être : pourquoi gardons-nous un NGINX dans le nouveau processus ? Il est principalement utilisé pour distribuer le trafic associé, identifier la passerelle API de microservices correspondante, puis l'envoyer au Service.

Au niveau pratique de XPeng Motors, le nouveau processus aide XPeng Motors à ouvrir divers composants via APISIX. L'avantage de faire cela est qu'il impose des exigences plus élevées pour les produits de passerelle, qui nécessitent non seulement une forte stabilité, mais aussi un support pour tous les systèmes de microservices internes. De plus, du point de vue de l'utilisateur, cette connexion permet une gestion plus unifiée du trafic au sein du service, raccourcissant le lien de communication global tout en réduisant la latence.

Par conséquent, l'adoption d'APISIX apporte plus de possibilités à l'infrastructure de XPeng Motors au niveau technique :

  1. Apache APISIX peut se connecter à plus de composants d'enregistrement et de découverte de services, permettant des ajustements plus flexibles de la migration et de l'architecture de plusieurs systèmes internes.
  2. APISIX a un plugin MQTT qui peut gérer les requêtes des terminaux IoT.
  3. L'architecture et l'écosystème d'APISIX sont plus cloud-native, ce qui est plus convivial pour les architectures multi-cloud et hybrides à l'avenir, et s'aligne sur le plan à long terme de l'entreprise pour l'évolution technologique.

À l'avenir, Apache APISIX pourra non seulement aider XPeng Motors à gérer le trafic API nord-sud, mais aussi à gérer plus de trafic, comme les appareils IoT, l'Ingress K8s et les maillages de services, pour réduire la complexité et les coûts de maintenance de l'infrastructure.

Geely Auto Coordonne la Gestion du Trafic Mondial Basée sur Apache APISIX

Geely Auto est un constructeur automobile privé établi en 1996, dont l'activité principale est la fabrication et la distribution d'automobiles et de pièces automobiles. Geely Auto a commencé à utiliser APISIX dans l'environnement de production environ un an après qu'Apache APISIX ait été open-source.

Dans les scénarios d'utilisation de Geely, APISIX est principalement utilisé pour implémenter certaines activités dans le scénario de la passerelle de microservices. Comme le montre la figure suivante, certaines fonctions connexes sont développées et utilisées en interne par Geely.

Architecture Développée par Geely Basée sur Apache APISIX

L'application actuelle d'APISIX par Geely est principalement pour la gestion du trafic interne au sein de l'entreprise, en se concentrant sur les passerelles API pour les microservices.

En utilisant APISIX, Geely a commercialisé ses API internes pour réaliser le découplage et l'abonnement mutuel des services entre les producteurs et les consommateurs, dont la surveillance ou la gestion unifiée doit être effectuée.

Avec l'augmentation progressive du type et de l'échelle des activités, la distribution mondiale de Geely est devenue plus large. Ainsi, certains traitements de trafic mondial ou certaines demandes entre salles informatiques de centres de données ont commencé à apparaître.

Traitement du Trafic Mondial de Geely

Dans ce cas, quel rôle joue APISIX ?

À l'extérieur, la demande de l'utilisateur arrive d'abord sur le réseau public pour accéder au nœud le plus proche, comme Cluster A. Cependant, par exemple, lorsque le nœud est indisponible ou que des problèmes liés à la souveraineté des données surviennent, il est constaté que Cluster A peut ne pas être en mesure de traiter la demande actuelle de l'utilisateur. Sur la base des deux situations ci-dessus, Geely a mis en place un réseau multi-couches en interne, comme le montre la figure ci-dessus.

Cette architecture de réseau multi-couches est utilisée pour réaliser la gouvernance du trafic mondial et effectuer la planification inter-clusters, réalisant ainsi la publication canari et la haute disponibilité des scénarios de souveraineté des données multi-pays ou inter-salles informatiques.

Horizon Robotics Implémente l'Invocation et l'Authentification Multi-Cloud Basées sur APISIX

Beijing Horizon Robotics Technology R&D Co., Ltd. est principalement engagée dans la recherche et le développement de puces IA de bord et possède des capacités de conception de puces et d'algorithmes d'intelligence artificielle de pointe.

En tant que seule entreprise à avoir réalisé la production en série de puces d'intelligence artificielle de qualité automobile, Horizon Robotics s'engage à promouvoir l'innovation et le développement de l'industrie automobile grâce à l'autonomisation des technologies sous-jacentes.

Pour une entreprise d'IA en pleine croissance, il est crucial de garantir la convivialité de la gestion des activités et le fonctionnement stable où la passerelle se tient comme le premier point de contrôle.

En raison de certains problèmes insolubles dans la passerelle précédente, Horizon a re-sélectionné la passerelle et a finalement choisi Apache APISIX Ingress Controller comme passerelle de trafic de l'entreprise pour fournir des services de manière uniforme.

La sélection d'APISIX Ingress est principalement basée sur les points suivants :

  • Plugins abondants : Apache APISIX possède un excellent écosystème de plugins. Tous les plugins supportés par APISIX peuvent utiliser apisix-ingress-controller pour la configuration déclarative et peuvent personnaliser des plugins pour un seul backend sous ApisixRoute.

  • Configuration visuelle : Vous pouvez voir chaque apisix route avec APISIX Dashboard. Si le même nom de domaine est configuré dans plusieurs namespace ou plusieurs fichiers yaml, vous pouvez rechercher le préfixe path dans APISIX Dashboard pour le localiser rapidement en cas de conflit.

  • Vérification fine : APISIX Ingress Controller vérifiera les ressources déclarées par le CRD qu'il gère. Si un Service inexistant est déclaré dans le CRD, le message d'erreur sera stocké dans l'event de ApisixRoute. L'opération erronée ne prendra pas effet, réduisant dans une certaine mesure certains problèmes causés par une mauvaise manipulation.

  • Fonctions riches : APISIX supporte le rechargement à chaud et les plugins à chaud, la réécriture des requêtes proxy, l'authentification multi-facteurs, le développement de plugins multi-langues, et bien plus encore. Pour plus de fonctions, veuillez vous référer aux fonctions d'APISIX.

  • Communauté active : Par rapport à d'autres communautés, APISIX a de nombreux développeurs actifs et une réponse rapide aux GitHub Issues.

  • Haute performance : Comme le montre la figure ci-dessous, dans les tests de stress comparés à Envoy, la performance d'APISIX est d'environ 120 % de celle d'Envoy. Plus il y a de cœurs, plus la différence en QPS est significative.

Comparaison des Performances entre Apache APISIX et Envoy Basée sur le QPS

Application de l'Architecture

Comme on peut le voir dans le diagramme d'architecture ci-dessous, APISIX Ingress agit comme une entrée de trafic complète.

En d'autres termes, qu'il s'agisse d'un système de gestion des données, d'un système d'analyse des problèmes, d'un outil en ligne de commande, d'un Web, d'une plate-forme SaaS ou d'une OpenAPI, tout le trafic d'accès entre dans l'amont (Business Services) via APISIX Ingress.

Comme l'entreprise dispose d'un service d'authentification spécial, elle utilise directement le plugin forward-auth d'Apache APISIX pour réaliser l'authentification externe.

Diagramme d'Architecture d'Apache APISIX

Au niveau de la passerelle, tout le trafic entre via le nom de domaine d'accès. À ce moment, le trafic passera d'abord par le LVS (Linux Virtual Server), puis le LVS le transférera vers les nœuds APISIX en arrière-plan. Enfin, APISIX distribuera le trafic selon les règles de routage et le livrera au Pod correspondant.

Afin de permettre au LVS de pointer directement vers APISIX Ingress, le port par défaut d'APISIX Ingress a été changé de 9180 à 80, ce qui permet de transférer et de traiter plus facilement le trafic.

LVS et Apache APISIX Ingress

Application Pratique

Dans un appel de service dans un environnement multi-cloud, certains trafics d'activité atteindront d'abord le centre de données local (IDC) puis atteindront le Pod via APISIX Ingress. De plus, certains services accéderont aux services d'Alibaba Cloud via des noms de domaine, et dans certains scénarios, il y aura des services liés aux appels entre services.

Il s'agit principalement de formation multi-cloud. Les utilisateurs utiliseront l'IDC comme point d'entrée, et ils pourront soumettre des tâches au cluster cloud correspondant après avoir sélectionné le cluster.

IDC et Apache APISIX Ingress

Lorsque Horizon Robotics a commencé à utiliser Apache APISIX Ingress, Apache APISIX ne supportait pas le plugin forward-auth, donc Horizon a personnalisé un plugin basé sur apisix-go-plugin-runner.

Cependant, cela a ajouté une couche d'appels gRPC, ce qui a rendu le débogage plus difficile car de nombreux logs ne pouvaient pas être vus. Au début de cette année, Apache APISIX a supporté le plugin forward-auth. Ensuite, Horizon Robotics a remplacé le plugin personnalisé par celui officiel, ce qui a réduit une couche d'appels gRPC, contribuant à une surveillance plus pratique.

Flux de Travail Interne de Horizon Robotics

Résumé

Dans le contexte des "voitures définies par le logiciel", API7.ai aide les entreprises automobiles, comme XPeng Motors, Geely Auto et Horizon Robotics, à mieux gérer la connexion et les données de l'Internet des Véhicules, fournissant aux clients des services plus stables et des produits à itération plus rapide.

Si vous avez des besoins similaires, veuillez visiter notre site web https://api7.ai/contact.

Tags: