سيجعل برنامج BumbleBee الجديد مفتوح المصدر من Solo إنشاء برامج Linux eBPF أسهل بكثير.
في عام 1992 ، تم تقديم مرشح Berkeley Packet Filter (BPF) في دوائر Unix كمرشح حزم شبكة جديد ومحسّن. جميل ، لكن ليس بهذه الصفقة الكبيرة. بعد ذلك ، في عام 2014 ، تم تغييره وإحضاره إلى Linux kernel باعتباره BPF (eBPF) الممتد . مرة أخرى ، كان ذلك جيدًا. بحالة جيدة. بعد ذلك بوقت قصير ، بدأ المطورون في استخدامه لتشغيل كود مساحة المستخدم داخل جهاز ظاهري (VM) على نواة لينكس . ثم كانت صفقة ضخمة. كما قال خبير أداء الكمبيوتر في Netflix ، بريندان جريج ، مع eBPF ، " وصلت أخيرًا القوى الخارقة إلى Linux ."
ما هي القوى الخارقة؟
يمنحك eBPF القدرة على تشغيل البرامج في Linux kernel دون تغيير كود مصدر kernel أو إضافة وحدات نمطية إضافية. في الواقع ، إنه يعمل بمثابة وزن خفيف (VM) داخل مساحة Linux kernel. هناك ، تعمل البرامج التي يمكن تشغيلها في eBPF بشكل أسرع ، مع الاستفادة من ميزات kernel غير المتوفرة لبرامج Linux الأخرى ذات المستوى الأعلى.
بالطبع ، تشغيل التطبيقات القريبة من النواة حتى مع eBPF ليس بالأمر السهل. حيث ان Solo.io يأتي، وهي شركة تطبيق الشبكات، في مع مشروعها مفتوح المصدر جديد، نحلة . يبسط BumbleBee بناء أدوات eBPF وتعبئتها وتوزيعها عن طريق إنشاء رمز مساحة مستخدم معياري تلقائيًا لتطوير أدوات eBPF.
إذا كان هذا يبدو قليلاً مثل Docker ، فأنت على حق. هذا حسب التصميم. يمكّنك رمز BumbleBee أيضًا من توصيل برامجه في مهام سير عمل الصور الأخرى لمبادرة الحاوية المفتوحة (OCI) للنشر والتوزيع. هل هذا يعني أنه يمكنك دمج برامج eBPF في سير عمل التكامل المستمر / التطوير المستمر (CI / CD) ؟ نعم إنها كذلك.
عادةً ما يتم استخدام eBPF كطريقة آمنة لتحسين النواة باستخدام تقنيات المراقبة والشبكات والأمان. تعمل هذه البرامج استجابة لأحداث مثل وصول حزم الشبكة. عادةً ، تتم كتابة برامج eBPF بلغة ذات مستوى أعلى ، مثل C ، ثم يتم تجميعها في تجميع x86 (JIT) بعد ذلك في تجميع x86 لتحقيق أقصى قدر من الأداء والسلامة.
تتوقع بنية eBPF أن يتم تحميل برامج eBPF كرمز ثانوي ، وتحتوي النواة على هياكل وتنسيقات بيانات خاصة بكل إصدار من إصدارات kernel. الأمر ليس سهلاً بالأحرف الكبيرة. بالإضافة إلى ذلك ، فإن تغليف وتوزيع هذه البرامج الثنائية أمر شاق ويستغرق وقتًا طويلاً وعرضة للخطأ. هدف BumbleBee هو تبسيط تطوير وتعبئة ومشاركة أدوات eBPF وتسريع تبني eBPF.
"في Solo.io ، نرى eBPF على أنه تقنية تمكين مهمة من شأنها تحسين شبكات التطبيقات. لقد عملنا خلال العام الماضي للاستفادة من تقنية eBPF مع Gloo Mesh ، عرض شبكة الخدمة المستندة إلى Istio للمؤسسة ،" قال Idit Levine ، مؤسس Solo.io ومديرها التنفيذي. "أثناء تطوير امتدادات eBPF ، واجهنا العديد من التحديات التقنية - وهذا أدى بنا إلى تطوير BumbleBee للمساعدة في تبسيط جهود eBPF. نظرًا لأننا نؤمن حقًا بفوائد eBPF ، يسعدنا مشاركة BumbleBee مع المجتمع لتسريع تبني eBPF . "
يتضمن BumbleBee واجهة سطر أوامر (CLI) تقوم تلقائيًا بإنشاء رمز مساحة المستخدم لبرامج eBPF عن طريق عرض الخرائط تلقائيًا كسجلات ومقاييس ومخططات. على المطور أن يقلق فقط بشأن كتابة كود eBPF.
قام Solo.io ببناء BumbleBee باستخدام libbpf ، وهي مجموعة أدوات جديدة لبناء برامج BPG. باستخدامه ، على سبيل المثال ، يمكنك كتابة تحقيقات eBPF بدون رمز مساحة مستخدم. يقوم BumbleBee تلقائيًا باكتشاف الخرائط وعرضها في برنامجك والتي تسمح لمساحة المستخدم وبرامج مساحة kernel بمشاركة البيانات. يتم تحقيق ذلك من خلال استخدام اصطلاحات وكلمات رئيسية خاصة BPF.
إذا كنت تعمل مع eBPF ، فإن BumbleBee يتطلب انتباهك. حتى في هذه المرحلة المبكرة ، يمكن أن يساعدك في كتابة برامج eBPF بسرعة وأمان أكبر.