أحدث الأخبار التقنية، مدعومة برؤى خبراء
ابقَ على اطلاع دائم على أبرز الاتجاهات في مجالات الذكاء الاصطناعي، والأتمتة، والبيانات، وغيرها الكثير من خلال رسالة Think الإخبارية. راجع بيان الخصوصية لشركة IBM.
GitOps عبارة عن إحدى ممارسات DevOps والتي تستخدم Git كمصدر واحد للحقيقة حيث يتم تخزين حالة التكوين المطلوبة.
يكون التركيز على أتمتة العمليات، انطلاقًا من مستودعات Git. على الرغم من أن اسمه في العنوان، فإن Git ليس المستودع الوحيد الذي يمكن استخدامه. إن الواجهات التي يوفرها Git هي التي تعمل على أتمتة العمليات. يستخدم GitOps في النهاية المعلومات المستخلصة من بيانات البناء لتحديد الحِزَم التي يجب إنشاؤها عند حدوث تغيير معين في التعليمات البرمجية.
في جوهره، يستخدم نموذج GitOps نمط وحدة التحكم. ويعزِّز ذلك نمط المشغل من منظور Kubernetes أو OpenShift، حيث إن المشغلات هي امتدادات برمجية تستخدم موارد مخصصة لإدارة التطبيقات ومكوناتها.
سنكون مقصرين إذا لم نذكر Argo CD، وهي إحدى أدوات GitOps والتي تساعد في عمليات سير عمل GitOps. تعد Argo CD أداة تعريفية ذات مصدر مفتوح من أجل التكامل المستمر والنشر المستمر (CI/CD) للتطبيقات. تعمل Argo CD كوحدة تحكم في Kubernetes، حيث تراقب باستمرار تعريفات وتكوينات التطبيقات قيد التشغيل، وتقارن الحالة الحالية على المجموعة بالحالة المطلوبة المحددة في مستودع Git.
لكن GitOps ليس منتجًا واحدًا أو مكونًا إضافيًا أو منصة. تساعد مهام سير عمل GitOps الفِرَق على إدارة البنية التحتية لتكنولوجيا المعلومات من خلال العمليات التي يستخدمونها بالفعل في تطوير التطبيقات. للاقتباس من مدونة GitLab، يتطلب GitOps ثلاثة عناصر أساسية: GitOps = البنية التحتية ككود (IaC) + طلبات السحب أو الدمج (PRs أو MRs) + التكامل/النشر المستمر (CI/CD).
ظهر GitOps منذ عدة سنوات، لكنه أصبح أكثر شيوعًا مؤخرًا نتيجةً للحاويات والتعقيدات المرتبطة بالنشر والإدارة المتسقة لبيئات تشغيل الحاويات.
ما المشكلة التي تحاول GitOps حلها؟ حسنًا، إنها تعمل على أتمتة عمليات البرامج حتى تتمكن المؤسسات من تحسين هندسة البرمجيات. كما تتيح لفِرق التطبيقات إمكانية إصدار التطبيقات بشكل أكثر تكرارا وتشغيل تطبيقات السحابة الأصلية بشكل أكثر فعالية.
ابقَ على اطلاع دائم على أبرز الاتجاهات في مجالات الذكاء الاصطناعي، والأتمتة، والبيانات، وغيرها الكثير من خلال رسالة Think الإخبارية. راجع بيان الخصوصية لشركة IBM.
تعمل وحدات تشغيل Red Hat OpenShift على تبسيط التثبيت والتنسيق الآلي لأعباء العمل المعقدة. فهي تساعد على ترميز المنطق التشغيلي البشري لإدارة الخدمات التي تعمل كتطبيقات أصلية في Kubernetes، ما يسهِّل عمليات اليوم الثاني. تُعَد وحدة التشغيل جزءًا من برنامج يعمل في حجيرات على المجموعة، ويتفاعل مع خادم Kubernetes API. وحدة تشغيل OpenShift هي في الأساس وحدة تحكُّم مخصصة ويمكن أن تكون في الواقع وحدة تحكُّم خاصة بالتطبيق.
يسهّل Red Hat OpenShift الأمر على المطورين الذين يريدون استخدام GitOps من خلال توفير وحدات التشغيل اللازمة. بمجرد نشرها، يمكن عرضها ضمن قسم Installed Operators في OpenShift Console. وحدة تشغيل Red Hat OpenShift GitOps هي وحدة التشغيل الأساسية لأداة ArgoCD، أما وحدة تشغيل مسارات Red Hat OpenShift، التي يتم نشرها أيضًا، فهي وحدة التشغيل الأساسية لـ Tekton. انظر الشكل 3:
يمكن بعد ذلك استخدام وحدات التشغيل وواجهات برمجة التطبيقات المرتبطة بها لتشغيل واحد أو أكثر من مسارات GitOps التي يمكنها النشر في بيئات مختلفة مع سحب الحالة المطلوبة للتكوين من Git. قد تكون هذه البيئات التطويرية والاختبارية والإنتاجية المعتادة، أو تمتد لتشمل بيئات جغرافية مثل السحابة المؤسسية أو شبكة شركات الاتصالات أو عقد حوسبة الحافة.
يتم تصنيف موارد النشر إلى ثلاثة مجالات: البنية التحتية والخدمات والتطبيقات. تسهِّل هذه المجالات فصل وإدارة نشر الموارد ذات الصلة:
تشهد حوسبة الحافة انتشارًا لمجموعات OpenShift أو Kubernetes في معظم مراكز تكنولوجيا المعلومات. ولديها القدرة على الوصول إلى نطاق هائل من المئات إلى الآلاف من عمليات النشر لكل عميل. والنتيجة هي أن أقسام تكنولوجيا المعلومات في المؤسسات يجب أن تُدير عدة مجموعات تشغيل حاويات مستقلة أو متعاونة تعمل في البيئات المحلية و/أو على السحب العامة.
يُعَد ضمان أن تكون المجموعات في الحالة المطلوبة نفسها-سواء عند نشر تغيير أم التراجع عنه عبر سحابات متعددة- هو إحدى الفوائد الرئيسية التي يقدمها GitOps للشركات المعتمدة على حوسبة الحافة وإنترنت الأشياء.
يمكن تطبيق نموذج GitOps عند حافة الشبكة، إذ إن أحد التحديات الرئيسية التي تواجه مزودي خدمات الاتصالات (CSPs) هو البحث عن تنسيق شبكاتهم وأتمتتها وإدارتها. بينما تُعَد تقنية الجيل الخامس (5G) ميزة للمستهلكين، فقد أدَّى كلٌّ من الشبكات المعرَّفة بالبرمجيات (SDNs) وتقسيم الشبكة بعرض نطاق مختلف والنشر الأسرع إلى ظهور تحديات لمزوِّدي خدمات الاتصالات.
يُعَد مسار النشر المؤتمت إحدى الطرق التي يمكن لمزوِّدي خدمات الاتصالات من خلالها تقديم الخدمات للعملاء بشكل أسرع. ووجود مستودع مركزي ونهج إعلاني لتوفير البنية التحتية للحاويات يعني وقتًا أسرع لتسويق الميزات الجديدة وطلبات التغيير. سيساعد مثل هذا النموذج على توفير وظائف الشبكة الافتراضية (VNFs) ووظائف الشبكة السحابية الأصلية (CNFs) على حافة الشبكة. يُتيح النقل بالحاويات لعناصر الشبكة إدارة مثل هذه الوظائف. أخيرًا، نظرًا لأن جميع أنشطة التكوين يتم تسجيلها وتخزينها في Git، فإن القدرة على تتبُّع التغييرات تُعَد أمرًا ضروريًا لأغراض الامتثال والتدقيق. هناك بعض المدونات ذات الصلة من WeaveWorks مذكورة في المراجع:
يتيح GitOps للمؤسسات النشر إلى أهداف متعددة في وقت واحد. ويسمح بطرح عمليات النشر الدقيقة. سيكون هذا مفيدًا للغاية عند نشر التطبيقات على المئات أو عشرات الآلاف من عقد الحافة، والتي تأتي بأشكال ومواصفات مختلفة وتستخدم بروتوكولات اتصال متنوعة - خاصةً إذا كانت عقد الحافة عبارة عن مجموعات طرفية صغيرة تستخدم Intel NUC أو NVIDIA Jetson.
يمكن أن يكون إطار عمل GitOps مفيدًا في نشر التطبيقات واستخدام مستودع Git كمصدر واحد للحقيقة. تبحث فرق ITOps عن النشر الإداري الذاتي للتطبيقات، وإدارة وتشغيل العُقد الطرفية، وهو ما يتم تسهيله باستخدام مشغلاتRed Hat OpenShift.
تتجلى فائدة GitOps بوضوح على الحافة الشبكية والحافة المؤسسية. تفرض الأجهزة الطرفية البعيدة تحدياً مختلفاً لأن السعة التخزينية والحوسبية لبعض هذه الأجهزة ليست كبيرة بما يكفي لاستضافة خدمات GitOps وتشغيل التطبيقات.
تم إصدار توزيعات Kubernetes خفيفة الوزن، مثل K3s وK0s، لتلبية احتياجات حالات استخدام إنترنت الأشياء وحوسبة الحافة. تُتيح لنا القدرة على نشر توزيع Kubernetes خفيف الوزن على جهاز حافة تشغيل أداة GitOps مثل Argo CD. ستكون الأجهزة بعد ذلك قادرة على اعتماد نموذج السحب لاستطلاع مستودع Git للحالة المطلوبة ومزامنته مع الحالة المباشرة للمجموعة.
استفِد من إمكانات الذكاء الاصطناعي والأتمتة لحل المشكلات بشكل استباقي عبر مجموعة التطبيقات.
استخدم أدوات وبرمجيات عمليات التطوير لإنشاء تطبيقات السحابة الأصلية ونشرها وإدارتها عبر أجهزة وبيئات متعددة.
عزّز مرونة أعمالك ونموها من خلال التحديث المستمر لتطبيقاتك على أي منصة، وذلك باستخدام خدمات الاستشارات السحابية التي نقدمها.