قيادة المستقبل: كيف يعزز APISIX Ingress Controller شركة Horizon Robotics
October 10, 2022
نظرة عامة
حول Horizon Robotics
Horizon Robotics هي واحدة من أفضل مزودي الحلول الحاسوبية الموفرة للطاقة لأنظمة المساعدة المتقدمة للسائق (ADAS) والقيادة الآلية (AD) في السيارات العادية. تركز الشركة على تحسين تجربة القيادة للجيل القادم من خلال الجمع بين الأجهزة والبرمجيات المتقدمة، بما في ذلك حلول الحوسبة ذات الاستهلاك المنخفض للطاقة وأدوات تطوير البرمجيات المفتوحة.
التحديات
-
لم يكن متحكم الدخول السابق لـ Horizon Robotics، Traefik 1.x، قادرًا على دعم التكوين الدقيق.
-
افتقر Traefik 1.x إلى قواعد محددة للتكوين المرئي، وبالتالي لم يتمكن من تحديد الخدمات المحددة.
-
كانت ملفات التكوين الأصلية لـ Horizon Robotics محدودة، مما تطلب البحث في الوثائق وصيانتها بشكل مستمر.
النتائج
-
من خلال تعديل المعلمات بشكل مناسب، عززت Horizon Robotics استقرار نقل البيانات وقللت من حدوث مشاكل مثل نفاذ الذاكرة (OOM).
-
حسّنت Horizon Robotics استخدام الموارد وعززت التعاون عبر منصات سحابية متعددة.
-
باستخدام مكون
forward-auth
الإضافي في APISIX للمصادقة الخارجية، قامت Horizon Robotics بتبسيط استدعاءات gRPC وتحسين كفاءة المراقبة. -
عززت Horizon Robotics كفاءة المراقبة والعمليات من خلال تفعيل مكون
prometheus
الإضافي وتخصيصه لتلبية متطلبات العمل المحددة.
الخلفية
في عصر القيادة الذاتية وتقنيات الطاقة الجديدة، استثمرت شركات مثل Horizon Robotics بشكل كبير في تطوير وتدريب نماذج القيادة الذاتية. مع خبرة في خوارزميات التعلم العميق وتصميم الرقائق، تركز Horizon Robotics على منصات الحوسبة السيارات المبتكرة. وقد أطلقت أجهزة مثل سلسلة Horizon Journey للقيادة الذكية، وسلسلة Sunrise للروبوتات متعددة الاستخدامات، وأداة تطوير الذكاء الاصطناعي عبر المنصات. "هذا النمو زاد من أهمية بوابة الشركة"، كما لاحظ شين تشانغ، مهندس تطوير السحابة الأصلية في Horizon Robotics.
لماذا APISIX Ingress Controller
قبل تنفيذ APISIX Ingress Controller، كان نظام الأعمال في Horizon Robotics يستخدم Traefik 1.x كمتحكم دخول، مما عرضه لعدة تحديات.
-
كان Traefik 1.x يحد من استخدام الإضافات لجميع القواعد داخل متحكم الدخول دون المرونة لإجراء تكوينات أكثر تفصيلاً.
-
لم يتمكن Traefik 1.x من تحديد الخدمات مباشرة بناءً على عناوين URL في متصفحات الويب.
-
كان ملف التكوين الافتراضي لـ Traefik 1.x (ConfigMap) يحتوي على مجموعة محدودة من السمات، مما يعني الرجوع المتكرر إلى الوثائق الرسمية للإعدادات الافتراضية. وقد تفاقمت هذه المشكلة بسبب الاختلافات في المعلمات مع التكوين الافتراضي لـ NGINX، مما جعل الصيانة أكثر صعوبة.
"في مواجهة هذه المشاكل، قرر فريقنا التقني أن الوقت قد حان لاستبدال متحكم الدخول الخاص بنا"، يقول تشانغ. "فكرنا في البداية في ترقية Traefik إلى الإصدار 2.0 لحل هذه المشاكل، ولكن هذه الترقية تعني تبني CRD جديد والتعامل مع تكاليف هجرة كبيرة. لذلك، حاولنا استكشاف خيارات أخرى لمتحكم الدخول."
قامت Horizon Robotics بتقييم Apache APISIX وKong وEnvoy في المرحلة الأولية من الاختيار. ومع ذلك، بدرجات متفاوتة، باستثناء APISIX Ingress Controller، لم تتمكن هذه الحلول البديلة من تلبية المتطلبات المحددة للوظائف أو الأداء بشكل كامل. نتيجة لذلك، اختارت Horizon Robotics في النهاية APISIX Ingress Controller. بالإضافة إلى بعض الميزات القياسية للبوابات، كانت Horizon Robotics مهتمة بشكل خاص بالجوانب التالية:
-
دعم واسع للإضافات: يتمتع APISIX بنظام بيئي قوي من الإضافات، والتي يمكن تكوينها بسهولة باستخدام
apisix-ingress-controller
. يمكن أيضًا تخصيص هذه الإضافات لخدمات محددة تحتApisixRoute
. -
تكوين مرئي سهل الاستخدام: يوفر لوحة تحكم APISIX عرضًا واضحًا لكل
route
فيapisix
. في الحالات التي يتم فيها تكوين نفس النطاق عبر عدةnamespaces
أو ملفات YAML، يمكن للوحة تحكم APISIX المتكاملة أن تسمح لـ Horizon Robotics بتحديد النزاعات المحتملة بسرعة من خلال البحث عن بادئات المسار. -
التحقق الدقيق: يقوم APISIX Ingress Controller بالتحقق بدقة من الموارد المعلنة في CRD التي يديرها. إذا تم تحديد خدمة غير صالحة في CRD، يتم تسجيل رسالة خطأ في
event
لـApisixRoute
، مما يمنع التغيير من أن يصبح فعالاً. يساعد هذا التحقق في التخفيف من المشاكل الناتجة عن التكوينات الخاطئة. -
مجموعة متنوعة من الميزات: يوفر APISIX العديد من الميزات، بما في ذلك دعم التحديثات الساخنة والإضافات، وإعادة كتابة الطلبات، وطرق المصادقة المتعددة، وتطوير الإضافات بلغات متعددة، إلخ.
-
مشاركة مجتمعية نشطة: على عكس المجتمعات المفتوحة المصدر الأخرى، يتمتع APISIX بمجتمع حيوي من المطورين والمساهمين الذين يشاركون بنشاط على Slack وGitHub وقائمة البريد.
-
أداء مثير للإعجاب: يوضح الرسم البياني أدناه بوضوح أن APISIX يتفوق على Envoy بنحو 20% في اختبار الضغط. يصبح هذا الفرق في الأداء أكثر وضوحًا مع زيادة عدد نوى المعالج.
نجاحات Apache APISIX Ingress Controller
تعزيز مركزية حركة المرور
حققت Horizon Robotics إنجازًا ملحوظًا باستخدام APISIX Ingress Controller كبوابة مركزية للحركة الواردة من مصادر مختلفة، مثل أدوات سطر الأوامر، وتطبيقات الويب، ومنصات SaaS، وOpenAPI. كما ضمنت الشركة الوصول الآمن إلى خدماتها باستخدام مكون forward-auth
الإضافي للمصادقة الخارجية.
تعمل هذه البنية المبتكرة على توجيه الحركة الواردة عبر اسم النطاق داخل طبقة البوابة. يتم تبسيط عملية التوجيه الأولية من خلال Linux Virtual Server (LVS)، مما يوجه الحركة إلى عقدة APISIX الخلفية. بعد ذلك، يقوم APISIX بتوزيع الحركة بكفاءة إلى الـ pods المناسبة، وفقًا لقواعد التوجيه المحددة مسبقًا. ومن الجدير بالذكر أن تعديل المنفذ الافتراضي لـ APISIX Ingress Controller من 9180
إلى 80
يبسط توجيه الحركة، مما يعزز كفاءة إدارة الحركة في النظام بشكل عام.
تحسين كبير في الكفاءة
تواجه الشركات المشاركة في تدريب نماذج الذكاء الاصطناعي سيناريوهات تتطلب تحميل ملفات كبيرة الحجم. "في نظام تدريب النماذج لدينا في Horizon Robotics، يقوم فريق البحث والتطوير بتحميل البيانات المجمعة إلى النظام عبر الشبكة، وعادة ما يكون حجم البيانات عدة مئات من الجيجابايت أو أكثر"، يقول تشانغ. لمواجهة هذا التحدي، قامت Horizon Robotics بتنفيذ APISIX 2.13 مع تعديل المعلمات وتمكين تحميل التدفق لـ APISIX للملفات. ضمنت هذه الخطوة تحميلًا سلسًا للملفات الكبيرة وتخفيف المشاكل المتعلقة بالذاكرة. نتيجة لذلك، شهدت مشاريع تدريب نماذج الذكاء الاصطناعي في Horizon Robotics تحسنًا ملحوظًا في الكفاءة، مما سمح بتقدم تكنولوجي أكثر سلاسة.
تحسين استراتيجي متعدد السحابة
في تفاعلات الخدمات متعددة السحابة، تصل بعض حركة الأعمال في البداية إلى مركز البيانات المحلي لـ Horizon Robotics. من هناك، تمر عبر APISIX Ingress Controller قبل الوصول إلى الـ Pod. داخل الـ Pod، تحتاج بعض الخدمات إلى الوصول إلى خدمات Acloud باستخدام أسماء النطاقات. سمحت هذه الخطوة لهذه الخدمات بالتنقل بسلاسة عبر مختلف مزودي السحابة التي تستخدمها Horizon Robotics، مما يوفر الوصول إلى الموارد الأساسية مع تحسين استخدام الموارد. علاوة على ذلك، توجد بعض السيناريوهات حيث تستدعي الخدمات خدمات أخرى، بشكل رئيسي للتدريب متعدد السحابة، مما يتيح للخدمات المختلفة التعاون في مساعدة Horizon Robotics في مهام أكثر تعقيدًا. أيضًا، يمكن لـ Horizon Robotics اختيار الكتلة المناسبة وإرسال المهام إلى الكتل السحابية المقابلة من خلال نقطة الدخول المحلية لمركز البيانات. هذه القدرة مكنتهم من إدارة وتوزيع المهام بكفاءة، والاستفادة الكاملة من الموارد الحاسوبية في بيئتهم متعددة السحابة.
تكامل مبسط للإضافات
بعد أن قام APISIX بدمج دعم مكون forward-auth
الإضافي بشكل مدروس، اتخذت Horizon Robotics قرارًا استراتيجيًا بالانتقال من الإضافة المخصصة الخاصة بها إلى الإضافة الرسمية لـ APISIX. ألغى هذا التحول الحاجة إلى طبقة إضافية من استدعاءات gRPC وتبسيط عمليات المراقبة بشكل كبير. نتيجة لذلك، عزز هذا التحسين مرونة التكامل ورفع إجراءات الأمان، مما عزز في النهاية موقع Horizon Robotics في تكنولوجيا الروبوتات.
مراقبة تطبيقات متقدمة
للاستفادة القصوى من ميزات APISIX القوية، قامت Horizon Robotics بتفعيل مكون prometheus
الإضافي لمراقبة التطبيقات. قامت Horizon Robotics بإجراء تعديلات وتحسينات مخصصة لتلبية متطلبات العمل الخاصة بها، بما في ذلك زيادة التزامن في الوقت الفعلي، وQPS، ومعدل نجاح API في الوقت الفعلي لـ APISIX، وعرض النطاق الترددي في الوقت الفعلي لـ APISIX. وفرت هذه التغييرات لـ Horizon Robotics مراقبة أكثر دقة لـ APISIX.
الخلاصة
قامت Horizon Robotics باستخدام Apache APISIX Ingress Controller بشكل فعال في سيناريوهات الأعمال الحرجة، مما زاد من الكفاءة والقدرة على التكيف. قاموا بتبسيط تحميل الملفات الكبيرة لتدريب نماذج الذكاء الاصطناعي، وتحسين تفاعلات الخدمات متعددة السحابة، وتبسيط المصادقة الخارجية، وتنفيذ مراقبة تطبيقات مخصصة. عززت هذه التحسينات بشكل ملحوظ تكنولوجيا وعمليات Horizon Robotics.
مع قيام المزيد من المستخدمين بدمج Apache APISIX Ingress Controller في بيئاتهم الإنتاجية، نشجع أولئك الذين يستخدمون Apache APISIX Ingress Controller على مشاركة حالات استخدامهم داخل المجتمع.