Die Zukunft gestalten: Wie der APISIX Ingress Controller Horizon Robotics stärkt
October 10, 2022
Überblick
Über Horizon Robotics
Horizon Robotics ist ein führender Anbieter von energieeffizienten Computing-Lösungen für fortschrittliche Fahrerassistenzsysteme (ADAS) und automatisiertes Fahren (AD) in herkömmlichen Fahrzeugen. Das Unternehmen konzentriert sich darauf, das Fahrerlebnis für die nächste Generation durch die Kombination von fortschrittlicher Hardware und Software zu verbessern, einschließlich energieeffizienter Hardware-Computing-Lösungen und offener Software-Entwicklungswerkzeuge.
Herausforderungen
-
Der bisherige Ingress-Controller von Horizon Robotics, Traefik 1.x, konnte keine granulare Konfiguration unterstützen.
-
Traefik 1.x verfügte nicht über spezifische Regeln für die visuelle Konfiguration und konnte daher bestimmte Dienste nicht genau identifizieren.
-
Die ursprünglichen Konfigurationsdateien von Horizon Robotics waren begrenzt, was zeitaufwändige Dokumentationsrecherchen und Wartung erforderte.
Ergebnisse
-
Durch die Anpassung von Parametern konnte Horizon Robotics die Stabilität der Datenübertragung verbessern und das Auftreten von Speichermangel (OOM) und ähnlichen Problemen reduzieren.
-
Horizon Robotics verbesserte die Ressourcennutzung und förderte die Zusammenarbeit über mehrere Cloud-Plattformen hinweg.
-
Durch die Nutzung des
forward-auth
-Plugins von APISIX für die externe Authentifizierung vereinfachte Horizon Robotics gRPC-Aufrufe und verbesserte die Überwachungseffizienz. -
Horizon Robotics steigerte seine Überwachungs- und Betriebseffizienz durch die Aktivierung des
prometheus
-Plugins und dessen Anpassung an spezifische Geschäftsanforderungen.
Hintergrund
Im Zeitalter des autonomen Fahrens und neuer Energietechnologien haben Unternehmen wie Horizon Robotics stark in die Entwicklung und das Training von autonomen Fahrmodellen investiert. Mit Expertise in Deep-Learning-Algorithmen und Chipdesign konzentriert sich Horizon Robotics auf innovative Automotive-Computing-Plattformen. Sie haben Hardware wie die Horizon Journey-Serie für intelligentes Fahren, die Sunrise-Serie für vielseitige Robotik und ein plattformübergreifendes KI-Entwicklungstool auf den Markt gebracht. "Dieses Wachstum hat die Bedeutung ihres Gateways erhöht", bemerkte Xin Zhang, der Cloud-Native-Entwicklungsingenieur bei Horizon Robotics.
Warum APISIX Ingress Controller
Vor der Implementierung des APISIX Ingress Controllers nutzte das Geschäftssystem von Horizon Robotics Traefik 1.x als Ingress-Controller, was mehrere Herausforderungen mit sich brachte.
-
Traefik 1.x beschränkte das Unternehmen darauf, Plugins für alle Regeln innerhalb des Ingress-Controllers zu verwenden, ohne die Flexibilität für detailliertere Konfigurationen.
-
Traefik 1.x konnte Dienste nicht direkt anhand von Anfrage-URLs in Webbrowsern identifizieren.
-
Die Standardkonfigurationsdatei (ConfigMap) von Traefik 1.x hatte einen begrenzten Satz von Attributen, was häufige Verweise auf die offizielle Dokumentation für Standardeinstellungen erforderte. Dieses Problem wurde durch Parameterunterschiede zur Standardkonfiguration von NGINX weiter erschwert, was die Wartung erschwerte.
"Angesichts dieser Probleme entschied unser Technikteam, dass es an der Zeit war, unseren Ingress-Controller zu ersetzen", sagt Zhang. "Ursprünglich dachten wir daran, Traefik auf Version 2.0 zu aktualisieren, um diese Probleme zu beheben, aber diese Aktualisierung bedeutete die Übernahme eines neuen CRD und einige erhebliche Migrationskosten. Daher versuchten wir, auch andere Ingress-Controller-Optionen zu erkunden."
Horizon Robotics bewertete in der ersten Auswahlphase hauptsächlich Apache APISIX, Kong und Envoy. Allerdings konnten diese alternativen Lösungen, mit Ausnahme des APISIX Ingress Controllers, in unterschiedlichem Maße nicht vollständig die spezifischen Anforderungen an Funktionalität oder Leistung erfüllen. Daher entschied sich Horizon Robotics letztendlich für den APISIX Ingress Controller. Neben einigen Standardfunktionen der Gateways interessierte sich Horizon Robotics besonders für die folgenden Aspekte:
-
Umfangreiche Plugin-Unterstützung: APISIX verfügt über ein robustes Ökosystem von Plugins, die bequem mit
apisix-ingress-controller
konfiguriert werden können. Diese Plugins können auch für spezifische Backends unterApisixRoute
angepasst werden. -
Benutzerfreundliche visuelle Konfiguration: Das APISIX Dashboard bietet eine klare Übersicht über jede
apisix
-route
. In Fällen, in denen dieselbe Domain über mehrerenamespaces
oder YAML-Dateien konfiguriert ist, kann das integrierte APISIX Dashboard Horizon Robotics ermöglichen, potenzielle Konflikte schnell durch die Suche nach Pfadpräfixen zu identifizieren. -
Fein abgestimmte Validierung: Der APISIX Ingress Controller validiert streng die in der CRD deklarierten Ressourcen. Wenn ein ungültiger Dienst in der CRD angegeben ist, wird eine Fehlermeldung im
ApisixRoute
-event
aufgezeichnet, wodurch verhindert wird, dass die Änderung wirksam wird. Diese Validierung hilft, Probleme aufgrund von Fehlkonfigurationen zu mindern. -
Vielfältige Funktionspalette: APISIX bietet viele Funktionen, darunter Unterstützung für Hot Updates und Plugins, Anfrageumleitung, mehrere Authentifizierungsmethoden, mehrsprachige Plugin-Entwicklung usw.
-
Aktive Community-Beteiligung: Im Gegensatz zu anderen Open-Source-Communities profitiert APISIX von einer lebendigen Community von Maintainern und Beitragenden, die aktiv auf Slack, GitHub und der Mailingliste teilnehmen.
-
Beeindruckende Leistung: Das folgende Diagramm zeigt deutlich, dass APISIX im Stresstest Envoy um etwa 20% übertrifft. Dieser Leistungsunterschied wird mit zunehmender Anzahl von CPU-Kernen noch deutlicher.
Erfolge mit dem Apache APISIX Ingress Controller
Verbesserung des zentralen Verkehrsknotens
Horizon Robotics hat eine bemerkenswerte Leistung erzielt, indem es den APISIX Ingress Controller als zentrales Gateway für eingehenden Verkehr aus verschiedenen Quellen wie Kommandozeilen-Tools, Webanwendungen, SaaS-Plattformen und OpenAPI eingesetzt hat. Das Unternehmen stellte auch den sicheren Zugriff auf seine Dienste mit dem forward-auth
-Plugin für die externe Authentifizierung sicher.
Diese innovative Architektur leitet den eingehenden Verkehr effektiv durch den Domainnamen innerhalb der Gateway-Schicht. Die anfängliche Weiterleitung über den Linux Virtual Server (LVS) vereinfacht den Weiterleitungsprozess und leitet den Verkehr an den Backend-APISIX-Knoten. Anschließend verteilt APISIX den Verkehr effizient an die entsprechenden Pods, gemäß den vordefinierten Routing-Regeln. Bemerkenswert ist, dass die Anpassung des Standardports des APISIX Ingress Controllers von 9180
auf 80
die Verkehrsweiterleitung weiter vereinfacht und die Gesamteffizienz des Verkehrsmanagements des Systems verbessert.
Deutliche Effizienzsteigerung
Unternehmen, die sich mit dem Training von KI-Modellen beschäftigen, stoßen oft auf Szenarien, die das Hochladen von übergroßen Dateien erfordern. "In unserem Horizon Robotics-Modelltrainingssystem lädt das Entwicklungsteam gesammelte Daten über das Netzwerk in das System hoch, und die Datengröße beträgt typischerweise mehrere hundert GB oder mehr", sagt Zhang. Um diese Herausforderung zu bewältigen, implementierte Horizon Robotics APISIX 2.13 mit angepassten Parametern und aktivierte das Streaming-Upload-Feature von APISIX für die Dateien. Dieser Schritt gewährleistete nahtlose Uploads von großen Dateien und minderte speicherbezogene Probleme. Infolgedessen verzeichneten die KI-Modelltrainingsprojekte von Horizon Robotics eine deutliche Effizienzsteigerung, was einen reibungsloseren technologischen Fortschritt ermöglichte.
Strategische Multi-Cloud-Optimierung
Bei Multi-Cloud-Service-Interaktionen landet ein Teil des Geschäftsverkehrs zunächst im lokalen IDC von Horizon Robotics. Von dort aus passiert er den APISIX Ingress Controller, bevor er den Pod erreicht. Innerhalb des Pods müssen bestimmte Dienste auf die Dienste von Acloud über Domainnamen zugreifen. Dieser Schritt ermöglichte es diesen Diensten, nahtlos über verschiedene Cloud-Anbieter zu navigieren, die von Horizon Robotics genutzt werden, und Zugang zu wesentlichen Ressourcen zu erhalten, während die Ressourcennutzung optimiert wurde. Darüber hinaus gibt es auch Szenarien, in denen Dienste andere Dienste aufrufen, hauptsächlich für Multi-Cloud-Training, was es verschiedenen Diensten ermöglicht, zusammenzuarbeiten, um Horizon Robotics bei komplexeren Aufgaben zu unterstützen. Außerdem kann Horizon Robotics den geeigneten Cluster auswählen und Aufgaben über den lokalen IDC-Einstiegspunkt an die entsprechenden Cloud-Cluster übermitteln. Diese Fähigkeit ermöglichte es ihnen, Aufgaben effizient zu verwalten und zu verteilen und die Rechenressourcen in ihrer Multi-Cloud-Umgebung voll auszuschöpfen.
Vereinfachte Plugin-Integration
Nachdem APISIX die Unterstützung für das forward-auth
-Plugin sorgfältig integriert hatte, traf Horizon Robotics die strategische Entscheidung, von seinem benutzerdefinierten Plugin auf das offizielle Plugin von APISIX umzusteigen. Dieser Schritt eliminierte die Notwendigkeit einer zusätzlichen Schicht von gRPC-Aufrufen und vereinfachte die Überwachungsprozesse des Unternehmens erheblich. Folglich erhöhte diese Verbesserung die Integrationsflexibilität und verstärkte die Sicherheitsmaßnahmen, was letztendlich die Position von Horizon Robotics in der Robotiktechnologie stärkte.
Fortgeschrittene Anwendungsüberwachung
Um die leistungsstarken Funktionen von APISIX optimal zu nutzen, hat Horizon Robotics das prometheus
-Plugin für die Anwendungsüberwachung aktiviert. Horizon Robotics hat angepasste Anpassungen und Optimierungen vorgenommen, um den Geschäftsanforderungen gerecht zu werden, einschließlich der Steigerung der Echtzeit-Concurrency, QPS, der Echtzeit-API-Erfolgsrate von APISIX und der Echtzeit-Bandbreite von APISIX. Diese Änderungen ermöglichten Horizon Robotics eine detailliertere Überwachung von APISIX.
Zusammenfassung
Horizon Robotics hat den Apache APISIX Ingress Controller effektiv in kritischen Geschäftsszenarien eingesetzt, was die Effizienz und Anpassungsfähigkeit erhöht hat. Sie vereinfachten das Hochladen von übergroßen Dateien für das KI-Modelltraining, optimierten Multi-Cloud-Service-Interaktionen, vereinfachten die externe Authentifizierung und implementierten maßgeschneiderte Anwendungsüberwachung. Diese Verbesserungen haben die Technologie und den Betrieb von Horizon Robotics erheblich vorangebracht.
Da immer mehr Benutzer den Apache APISIX Ingress Controller in ihre Produktionsumgebungen integrieren, ermutigen wir diejenigen, die den Apache APISIX Ingress Controller nutzen, ihre Anwendungsfälle in der Community zu teilen.