أدوات DevOps التي يجب على الجميع تعلمها في عام 2020

ابدأ في تطبيق أفضل أدوات DevOps اليوم!





لقد سيطرت ثورة DevOps أخيرًا على العالم وأصبحت أدوات DevOps شائعة بشكل لا يصدق. وفقًا لمؤشرات Google ، يتزايد عدد طلبات "أدوات DevOps" باستمرار ، ويستمر هذا الاتجاه.



تغطي منهجية DevOps دورة حياة تطوير البرامج بالكامل ، بحيث يمكن للمتخصصين الاختيار من بين مجموعة متنوعة من الأدوات. ولكن ، كما تعلم ، لا يمكن لأداة واحدة أن تصبح أداة عالمية للجميع. ومع ذلك ، تقدم بعض الحلول مجموعة كبيرة من الميزات التي يمكنها التعامل مع أي مهمة تقريبًا.



دعنا نقسم أدوات DevOps إلى فئات ونقارنها مع نظائرها:



  • أدوات التطوير والبناء
  • أدوات أتمتة الاختبار
  • أدوات لتنظيم النشر
  • أدوات وقت التشغيل
  • أدوات التعاون.


يتضمن تنفيذ DevOps الناجح والذكي أدوات من المجموعات الخمس المذكورة أعلاه. قم بتحليل المجموعة الحالية من الأدوات في مشروعك حتى لا تفوت عنصرًا مهمًا في خط أنابيب CI / CD.



أدوات التطوير والبناء





هذا هو جوهر مكدس خطوط الأنابيب CI / CD. كل شيء يبدأ هنا! يمكن لأفضل الأدوات في هذه الفئة إدارة تدفقات متعددة من الأحداث والتكامل بسهولة مع المنتجات الأخرى.



في هذه المرحلة من دورة حياة التطوير ، هناك ثلاث مجموعات من الأدوات:



  • نظام التحكم في الإصدار (SCM)
  • التكامل المستمر (CI)
  • إدارة البيانات


في عام 2020 ، أثبتت GIT نفسها على الجانب الإيجابي ، لذلك يجب أن تتمتع أداة SCM بدعم GIT لا تشوبه شائبة. بالنسبة لـ CI ، فإن الشرط الأساسي هو القدرة على تنفيذ وتشغيل التجميعات في بيئة حاوية معزولة. فيما يتعلق بإدارة البيانات ، فهي تتطلب القدرة على إجراء تغييرات على مخطط قاعدة البيانات والحفاظ على قاعدة البيانات وفقًا لإصدار التطبيق.



أداة SCM + CI # 1



الفائز: GitLab و GitLab-CI





أفضل أداة في دورة 2020 DevOps هي بلا شك GitLab ، وستظل بالتأكيد رائدة الابتكار في المستقبل القريب.



تتمثل الوظيفة الرئيسية لـ GitLab في توفير إدارة مريحة لمستودع Git. واجهة الويب بديهية وسهلة الاستخدام. يوفر GitLab كل ما تحتاجه في إصدار مجاني ويأتي في كل من SaaS ومحلي (باستخدام مواردك الخاصة لاستضافة البرامج).



لم تستخدم أي أداة SCM أخرى التكامل المستمر (CI) مباشرة في مستودعك ، وكان GitLab يفعل ذلك لفترة طويلة. لاستخدام GitLab-CI ، يجب إضافة ملف .gitlab-ci.yml إلى جذر شفرة المصدر الخاصة بك ، وستؤدي أي تغييرات على المشروع إلى تشغيل الإجراءات بناءً على ما تحدده. يُعرف GitLab و GitLab-CI بجدارة كقادة في مجال التكامل المستمر (CI-as-code).



الفوائد الرئيسية



  • الموثوقية - المنتج موجود في السوق منذ عام 2013 ؛ مستقر. حافظ بشكل جيد.
  • المصدر المفتوح - لا يقيد الإصدار المجاني من GitLab الوظائف الأساسية التي تحتاجها فرق التطوير. توفر حزم الخدمة المدفوعة ميزات إضافية مفيدة للشركات ذات الأحجام والاحتياجات المختلفة.
  • Engrained CI - لم تقم أي أداة أخرى في السوق ببناء تكامل مستمر مباشرة في SCM مثل GitLab-CI. يوفر استخدام Docker بنية آلية خالية من المتاعب وتقارير مضمنة تجعل من السهل تصحيح الأخطاء (تصحيح الأخطاء). لا نحتاج إلى تكامل وإدارة معقدة للعديد من الأدوات في نفس الوقت.
  • عمليات تكامل غير محدودة - يوفر GitLab تكاملاً سهلاً لجميع أدوات DevOps التي تحتاجها. يسمح ذلك لفرق التطوير والصيانة باستخدام مصدر واحد للمعلومات حول تطبيقاتهم في أي بيئة.






قاتل المنافسون ، لكنهم لم



يفزوا. هناك أدوات أخرى شائعة في هذه الفئة ، لكنها ليست جيدة مثل GitLab. إليكم السبب:



جيثب"إنه نظام رائع للتحكم في إصدار SaaS للشركات الصغيرة والمراحل الأولى من التطوير. بالنسبة للشركات الكبيرة التي تحتاج إلى الاحتفاظ بعناوين IP على شبكتها الخاصة ، فإن حل GitHub الوحيد هو الجهاز الظاهري .OVA بدون دعم التوفر العالي. هذا يجعل من الصعب صيانته في مكان العمل ، بالإضافة إلى أن .OVA مناسب فقط للمؤسسات المتوسطة الحجم ، وإلا فإن الخادم سيتعطل ببساطة مع حمل ثقيل. يعني عدم وجود إجراءات GitHub (حتى وقت قريب وليس في مكان العمل) أو CI-as-code أنه يتعين عليك تحديد أداة CI منفصلة ثم إدارة هذا التكامل. أخيرًا ، يعد GitHub أغلى بكثير من أي إصدار من إصدارات GitLab.



جينكينز- بينما يعتبر Jenkins هو المعيار بين أدوات التكامل المستمر افتراضيًا ، إلا أنه يفتقر دائمًا إلى إمكانات التحكم في الإصدار. اتضح أنك تستخدم Jenkins بالإضافة إلى نوع من أدوات SCM. من الصعب جدًا عندما يستطيع GitLab القيام بالأمرين. تصميم UX المتوسط ​​ليس جيدًا لتطبيق ويب حديث ويترك الكثير مما هو مرغوب فيه.



BitBucket / Bamboo - يجب أن أعترف بأنه خاسر تلقائي: لماذا هناك أداتان عندما يقوم GitLab بعمل كل شيء بمفرده تمامًا. يدعم BitBucket Cloud وظائف GitLab-CI / GitHub Action ، ولكن لا يمكن لأي شركة أكبر من شركة ناشئة تنفيذها بسهولة. لا يدعم خادم BitBucket المحلي حتى خطوط أنابيب BitBucket!



أداة إدارة البيانات # 1



الفائز: FlywayDB





في تطوير تطبيقات الويب ، عادة ما يتم التغاضي عن أتمتة قواعد البيانات. تأتي فكرة نشر تغييرات مخطط قاعدة البيانات للإصدارات الجديدة من التطبيق مع تأخير. غالبًا ما تؤدي تغييرات المخطط إلى إضافة وإعادة تسمية الأعمدة أو الجداول. إذا كان إصدار التطبيق لا يتطابق مع إصدار المخطط ، فقد يتعطل التطبيق. أيضًا ، قد يكون تنظيم تغييرات قاعدة البيانات عند تحديث أحد التطبيقات أمرًا صعبًا نظرًا لوجود نظامين مختلفين. FlyWayDB يحل كل هذه المشاكل.



الفوائد الرئيسية



  • تعيين إصدارات قاعدة البيانات - يتيح لك Flyway إنشاء إصدارات من قاعدة البيانات ، وتتبع عمليات ترحيل قاعدة البيانات ، والترحيل بسهولة أو التراجع عن تغييرات مخطط قاعدة البيانات دون أي أداة إضافية لهذا الغرض.
  • — : Flyway . Flyway , . cmd line ad-hoc, .


المتسابقون



شاركوا في المعركة لكنهم لم ينتصروا ،



ولا توجد أدوات كثيرة في هذا المجال. دعونا نلقي نظرة على بعضها:



LiquiBase - Liquibase يشبه FlywayDB. أود أن أقوم بإعداده فوق Flyway إذا كان فريقي لديه متخصص يتمتع بخبرة أكبر في العمل مع Liquibase.



Flocker - قد يعمل فقط مع التطبيقات المعبأة في حاويات. يجب التخطيط لكل شيء بشكل مثالي من أجل الإطلاق الناجح لقواعد البيانات في الحاويات. أوصي باستخدام RDS (خدمة قواعد البيانات العلائقية) لقواعد البيانات ولا أوصي بتخزين المعلومات الحساسة في حاوية.



أدوات أتمتة الاختبار





لنبدأ مناقشتنا لأدوات أتمتة الاختبار من خلال تصنيفها بناءً على هرم الاختبار.



هرم الاختبار (الاختبارات) له 4 مستويات:



  • - — . - . -, , ( «») .
  • — — / . , .
  • — , .
  • — . , , .


نظرًا لأن اختبارات الوحدة واختبار المكونات يتم إجراؤها بواسطة المطورين فقط وغالبًا ما تعتمد على اللغة ، فلن نقوم بتقييم هذه الأدوات لمجال DevOps.



# 1 أداة اختبار التكامل



الفائز: خيار





يجمع الخيار بين المواصفات واختبار التوثيق في مستند حي واحد. يتم تحديث المواصفات دائمًا حيث يتم اختبارها تلقائيًا بواسطة Cucumber. إذا كنت ترغب في إنشاء إطار اختبار آلي من البداية ومحاكاة سلوك المستخدم في تطبيق ويب ، فإن Selenium WebDriver مع Java و Cucumber BDD هي طريقة رائعة لتعلم وتنفيذ Cucumber في المشروع.



الفوائد الرئيسية



  • BDD- (Behavior Driven Development — “ ” “ ”) — Cucumber BDD-, .
  • — — ! , Cucumber , , .
  • — , Cucumber , .






شارك

المتسابقون في المعركة ، لكنهم لم يفزوا ، من

بين الأطر الأخرى والأدوات الخاصة بالتكنولوجيا ، يمكن اعتبار الخيار فقط حلاً عالميًا.



أدوات الاختبار الشامل



عند إجراء اختبار شامل ، هناك نقطتان أساسيتان يجب التركيز عليهما:



  • الاختبار الوظيفي
  • اختبار الإجهاد.


في الاختبار الوظيفي ، نتحقق مما إذا كان كل ما نريده يحدث بالفعل. على سبيل المثال ، عندما أقوم بالنقر فوق عناصر معينة من تطبيق الصفحة الواحدة (SPA) الخاص بي ، وملء النماذج وتحديد "إرسال" ، تظهر البيانات في قاعدة البيانات ورسالة "نجاح!"



من المهم أيضًا بالنسبة لنا التحقق من إمكانية التعامل مع عدد معين من المستخدمين الذين يعملون في نفس السيناريو دون أخطاء.



سيكون عدم وجود هذين النوعين من الاختبارات عيبًا كبيرًا في خط أنابيب CI / CD.



أداة الاختبار الشاملة # 1. الاختبار الوظيفي



الفائز: SoapUI Pro





كان SoapUI في مجال اختبار API لفترة طويلة منذ أن كانت خدمات الويب المستندة إلى SOAP هي المعيار. على الرغم من أننا لم نعد ننشئ خدمات SOAP جديدة ، ولم يتغير اسم الأداة ، فإن هذا لا يعني أنها لم تتطور. يوفر SoapUI إطارًا ممتازًا لبناء اختبارات خلفية وظيفية آلية. يمكن دمج الاختبارات بسهولة مع أدوات التكامل المستمر واستخدامها كجزء من خط أنابيب CI / CD.



الفوائد الرئيسية



  • وثائق مفصلة - SoapUI موجود في السوق منذ فترة طويلة ، وقد تم إنشاء العديد من الموارد عبر الإنترنت لمساعدتك على فهم كيفية إعداد الاختبارات.
  • سهولة الاستخدام - على الرغم من أن الأداة تدعم بروتوكولات متعددة لاختبار واجهات برمجة التطبيقات ، فإن SoapUI لديها واجهة مشتركة لخدمات متعددة ، مما يسهل كتابة الاختبارات.






قاتل المنافسون ولكن لم يتغلبوا على



السيلينيوم - وهي أداة رائعة أخرى في هذه المجموعة. أوصي باستخدامه إذا كنت تقوم بإنشاء وتشغيل تطبيق قائم على Java. ومع ذلك ، إذا كنت تقوم بإنشاء تطبيق ويب كامل بتقنيات متعددة ، فقد يصبح مرهقًا للمكونات بخلاف Java.



أداة الاختبار الشاملة # 1. اختبار الإجهاد



الفائز: LoadRunner





شرح: عندما يحين وقت تحميل اختبار كل عنصر من عناصر التطبيق ، يمكن فقط لـ LoadRunner تنفيذ هذه المهمة. نعم ، إنها باهظة الثمن وصعبة بعض الشيء في البداية ، لكن LoadRunner هي الأداة الوحيدة التي تمنحني ، كمهندس تقني ، ثقة كاملة في أن الكود الجديد سيعمل تحت ضغط شديد. أيضًا ، أعتقد أن الوقت قد حان لتعيين LoadRunner إلى فريق التطوير ، وليس فريق الاختبار.



الفوائد الرئيسية



  • التوثيق الشامل - لقد تم عرض LoadRunner في السوق لفترة طويلة ، وقد تم إنشاء العديد من الموارد عبر الإنترنت لمساعدتك على فهم كيفية إعداد اختبارات التحميل.
  • دعم البروتوكول - يدعم Load Runner من ODBC إلى AJAX و HTTPS وأي بروتوكول آخر غير تافه يمكن لتطبيقك استخدامه. نحاول عدم استخدام أدوات متعددة لاختبار الحمل ، لأن هذا يعقد العملية فقط.






شارك المنافسون في التدافع ، لكن لم يفزوا



مرة أخرى ، لا توجد العديد من الأدوات العالمية في هذا المجال ، لذا فإن أفضل حل هو الحل الذي سيعمل في أي بيئة مع أي تقنية.



أدوات النشر





ربما تكون أدوات النشر هي أقل جوانب التنمية فهماً. يصعب على فريق التشغيل استخدام مثل هذه الأدوات دون فهم عميق لرمز ووظيفة التطبيق. بالنسبة للمطورين ، تعد إدارة النشر مسؤولية جديدة ، لذلك ليس لديهم خبرة كافية بهذه الأدوات حتى الآن.



بادئ ذي بدء ، دعنا نقسم جميع أدوات النشر إلى ثلاث فئات فرعية:



  • إدارة القطع الأثرية
  • إدارة التكوين
  • نشر.


أداة إدارة القطع الأثرية # 1



الفائز: Nexus





يدعم Nexus Artifact Repository تقريبًا كل التقنيات الرئيسية ، من Java إلى NPM إلى Docker. يمكننا استخدام هذه الأداة لتخزين جميع القطع الأثرية المستخدمة. يؤدي إنشاء وكلاء لمديري الحزم عن بُعد إلى تسريع عملية إنشاء CI بشكل كبير من خلال إتاحة المزيد من الحزم للبناء. ميزة أخرى هي القدرة على الحصول على صورة كاملة لجميع الحزم المستخدمة في العديد من مشاريع البرامج عن طريق حظر الحزم مفتوحة المصدر غير الآمنة (يمكن أن تكون بمثابة ناقل للهجوم).



الفوائد الرئيسية



  • الدعم الفني - منتج موثوق ؛ حافظ بشكل جيد.
  • المصدر المفتوح - لا يحد الإصدار المجاني من الوظائف الأساسية التي تحتاجها فرق التطوير.


أداة إدارة التكوين # 1



الفائز: Ansible



Ansible هو القائد لسبب واحد بسيط: عديمي الجنسية. في السابق ، ركزت هذه الأدوات على إدارة حالة التكوين. عند بدء التشغيل ، ستحاول هذه الأداة ، بعد تلقي التكوين المطلوب ، تصحيح التكوين الحالي للتطبيق. ومع النهج الجديد ، لا توجد سوى المكونات عديمة الجنسية. الإصدارات الجديدة من التعليمات البرمجية هي أدوات يتم نشرها لتحل محل الموجود منها. يمكن اعتبار هذا نوعًا من البيئة سريعة الزوال وقصيرة المدى.



الفوائد الرئيسية



  • عديم الحالة - يتم تشغيل دليل التشغيل من آلة النشر ويتم تنفيذه على الخوادم المستهدفة. لست قلقًا بشأن حالة الكائن البعيد باستخدام أداة مثل Packer لإنشاء كائنات قابلة للنشر.
  • — CentOS, Ansible RedHat. , .
  • Molecule ( Ansible) — — , , . Molecule Ansible , , CI/CD-, .
  • YAML — , YAML . , , , DevOps-, — .


قاتل المنافسون



ولكن لم



يهزموا OpsCode Chef - لقد بدأت مسيرتي المهنية في DevOps كمطور كتب طبخ. روبي وشيف ، بالطبع ، عزيزان جدًا على قلبي ، لكنهما ببساطة لا يحلان مشاكل التطبيقات الحديثة عديمة الحالة القائمة على السحابة. OpsCode Chef هي أداة رائعة لمزيد من التطبيقات التقليدية ، وفي هذه المقالة نركز على المستقبل.



Puppet - لم يكن لدى Puppet العديد من المعجبين ، خاصة عند مقارنتها بـ Chef و Ansible. إنه أمر رائع لتوفير الأجهزة والعمل معها ، لكنه يفتقر إلى دعم إدارة التكوين الحديث لتطبيق ويب.



أداة النشر # 1



الفائز: Terraform





يحل Terraform مشكلة وصف البنية التحتية الخاصة بك على أنها رمز: من مكونات الشبكة إلى صور الخادم الكاملة. لقد قطع هذا المنتج شوطًا طويلاً منذ إصداره الأول ، مع وجود عدد كبير من المكونات الإضافية ومجتمع قوي سيساعدك بالتأكيد في أي سيناريو نشر. القدرة على دعم أي نوع من البيئة (في أماكن العمل ، في السحابة ، أو في أي مكان آخر) لا مثيل لها. أخيرًا ، يوفر أحدث إصدار معظم وظائف وفئات المنطق في HCL مثل أي لغة برمجة تقليدية أخرى - فالمطورون سريعون في الفهم ويمكنهم إتقان Terraform بسهولة.



الفوائد الرئيسية



  • البيئة المستقلة - يستخدم Terraform الوظائف التي تعمل كواجهة بين كود Terraform الخاص بك ، وجميع واجهات برمجة التطبيقات ، والمنطق الداخلي للتواصل مع موفر البنية التحتية. هذا يعني أنني سأتعلم أداة واحدة فقط وبعد ذلك يمكنني العمل في أي مكان.
  • المصدر المفتوح - أدوات مجانية يصعب التغلب عليها! دعم المجتمع على أعلى مستوى.






شارك المنافسون في scrum ، لكنهم لم



يتفوقوا على AWS CloudFormation - حتى إذا كنت تعمل فقط في سحابة AWS ، فقد يكون لعملك التالي أداة مختلفة. إن تكريس كل وقتك وطاقتك لمنصة واحدة فقط هو قرار قصير النظر. بالإضافة إلى ذلك ، غالبًا ما تتوفر العديد من خدمات AWS الجديدة كوحدات Terraform النمطية قبل أن تصبح متاحة في CloudFormation.



أدوات وقت التشغيل







الهدف النهائي لأي مشروع تطوير هو إطلاق التطبيق في الإنتاج. في عالم DevOps ، نريد أن نكون على دراية كاملة بجميع المشاكل المحتملة في بيئتنا ، ونريد أيضًا تقليل التدخل اليدوي. يعد اختيار المجموعة المناسبة من أدوات وقت التشغيل أمرًا بالغ الأهمية لتحقيق السكينة عند تطوير تطبيقك.



الفئات الفرعية لأدوات وقت التشغيل:



  • X-as-a-service (XaaS)
  • تزامن
  • المراقبة
  • تسجيل.


أداة X-as-a-Service # 1



الفائز: Amazon Web Services





لطالما كانت أمازون رائدة في مجال التكنولوجيا السحابية ، لكنها لا تتوقف عند هذا الحد: تنوع الخدمات الجديدة للمطورين مذهل. انقل أي تقنية وقالب إلى AWS وسيتم بناؤه وإطلاقه. تكلفة الأداة معقولة تمامًا: قارنها بتجميع المعدات وإدارتها وصيانتها في مركز البيانات الخاص بك. يسمح لك الإصدار المجاني بالتجربة واتخاذ القرار الصحيح قبل إنفاق الأموال.



الفوائد الرئيسية



  • الانتشار - إذا كانت لديك خبرة في إنشاء التطبيقات على AWS ، فيمكنك العمل في أي مكان. تحب الشركات AWS ، وتقدر الشركات الناشئة أيضًا تكلفتها المنخفضة.
  • — , AWS . , , , - . .






قاتل المنافسون ، لكنهم لم



يهزموا Azure - لقد قطعت Azure شوطًا طويلاً منذ إصدارها الأول ، وهذا أمر يستحق الثناء. ومع ذلك ، أدت الرغبة في الاختلاف عن الأقران إلى ظهور أسماء غريبة للخدمات ، والتي غالبًا ما تعقد العمل. ماذا يعني تخزين blob؟ وبينما يعمل كود .NET بشكل أفضل في نظام Microsoft البيئي ، فمن غير المرجح أنك ستستخدم .NET فقط لكل مكون من مكونات تطبيقك.



Heroku - لن أدير أي شيء سوى مشروع شخصي على Heroku نظرًا لانخفاض مستوى الموثوقية والشفافية ، لذلك يجب على الشركات ألا تستخدمه كمنصة. يعتبر Heroku رائعًا لإظهار شيء ما على مدونة ، ولكن للاستخدام العملي - "لا شكرًا!".



صك التنظيم رقم 1



الفائز: OpenShift





من المحتمل أنك تستخدم Docker أو حاويات أخرى في حزمة التطبيقات الخاصة بك. تعتبر التطبيقات التي لا تحتوي على خادم رائعة ، ولكنها قد لا تناسب كل بنية. لن يعمل تشغيل الحاويات بدون إطار عمل تزامن. نواة Kubernetes (K8s) لا مثيل لها من حيث الأمان والأجهزة. OpenShift هو النظام الأساسي الوحيد المستند إلى Kubernetes والذي يمكنه إنشاء Source2Image ، ودعم عمليات النشر الآلي للقرص ، والتتبع والمراقبة. يمكن تشغيل OpenShift محليًا أو في السحابة أو في مكان العمل وفي السحابة في نفس الوقت.



الفوائد الرئيسية



  • — K8s . ! , OpenShift, .
  • « » — K8s, , OpenShift . , CI/CD, , . - , , API, , . K8s, OpenShift Kubernetes. !


قاتل المنافسون ،



لكنهم لم يهزموا



Docker Swarm - حاول Docker Swarm تبسيط K8s من خلال التخلص من الكثير من الأشياء. إنه رائع للتطبيقات الصغيرة ، لكنه لا يعمل مع تطبيقات المؤسسات. بالإضافة إلى ذلك ، تتخذ حلول مثل AWS ECS نهجًا مشابهًا ، ولكنها تسهل العمل مع الخدمات الأخرى التي يمكنني أيضًا التفاعل معها (Lambda و IAM وما إلى ذلك).



أداة المراقبة # 1



الفائز: نيو ريليك





أحدثت الإصدارات المبكرة من New Relic شيئًا جيدًا - مراقبة أداء التطبيقات (APM). وهي الآن أداة مراقبة كاملة الميزات لمراقبة الخادم والحاوية وأداء قاعدة البيانات ومراقبة تجربة المستخدم النهائي وبالطبع مراقبة أداء التطبيقات.



الفوائد الرئيسية



  • سهولة الاستخدام - عندما كنت مهندس أنظمة ، استخدمت الكثير من أدوات المراقبة ، لكنني لم أجد شيئًا بسيطًا وسهل الاستخدام مثل New Relic. إنها SaaS ، لذلك لا تحتاج إلى تثبيتها بنفسك.
  • — . , , , . New Relic , .






شارك المنافسون في المعركة ، لكنهم لم يفوزوا بـ



Zabbix - نظام المراقبة الأول والمفضل لدي ، لكنه ظل في الماضي بسبب عدم وجود تطور في التقنيات السحابية وفي مجال مراقبة أداء تطبيقات APM. لا يزال أداء Zabbix جيدًا مع مراقبة البنية التحتية للخادم التقليدية ، ولكن هذا كل شيء.



DataDog - ركز كثيرًا على عملية إدارة بيئة إنتاج التطبيق ، وليس على الكود نفسه. مع فرق DevOps التي تضم مطورين ، لا يتعين علينا الاعتماد على أدوات معقدة لتقديم دعم من الدرجة الأولى.



أداة التسجيل # 1



الفائز: Splunk





من الصعب المنافسة Splunk! لفترة طويلة لا يزال الرائد في قطع الأشجار ، والاستمرار في القيام بذلك بشكل أفضل. مع عروض on-prem و SaaS ، يمكنك استخدام Splunk في أي مكان. العيب الرئيسي هو سعره: لا تزال Splunk باهظة الثمن للغاية!



الفوائد الرئيسية



  • الانتشار - الشركات تحب Splunk والشركات لديها المال لشرائها.
  • على الرغم من أن الشركات الناشئة تحاول تعويض التكاليف ، يمكن حل العديد من الميزات بفضل نظيراتها مفتوحة المصدر.
  • قابلية الصيانة - ببساطة ، يعمل Splunk ويفعله جيدًا. يأتي مع العديد من الإعدادات الافتراضية والميزات الجاهزة للاستخدام. لا داعي لإضاعة الوقت في قراءة الوثائق ومحاولة الحصول على Splunk للعمل أو فك تشفير أي شيء.


قاتل المنافسون



لكنهم لم يتغلبوا على



ELK Stack (ElasticSearch و LogStash و Kibana) - تبدو هذه الأدوات مفضلة لأنك لست مضطرًا حتى لبيع الكبد لاستخدامها. ومع ذلك ، مع نمو مجموعة السجلات وزيادة عدد التطبيقات على اللوحة ، يصبح العمل أكثر صعوبة. مقارنةً بـ Splunk ، مع ELK Stack قضيت وقتًا طويلاً في إعداد مجموعة الأدوات قبل إنشاء أي لوحات معلومات أكثر من أي وقت مضى.



أدوات التعاون





تدور DevOps بشكل أساسي حول تغيير الثقافة داخل المؤسسة. لن يؤدي شراء أي أداة إلى تغيير الممارسات المعتادة بين عشية وضحاها ، ولكنه بالتأكيد يمكن أن يعزز التعاون وطرقًا جديدة للتفاعل.



الفئات الفرعية لأدوات التعاون:



  • تتبع المهام
  • ChatOps
  • توثيق.


تعقب المشكلة # 1



الفائز: جيرا





يحتفظ Jira بموقع ريادي ، على الرغم من تزايد المنافسة في هذا المجال. تسمح مرونة Jira المذهلة لفرق التطوير والصيانة بإدارة أعمال المشروع ومهام الركض. تجعل المعايير المضمنة باستخدام مصطلحات Agile من السهل الانتقال من طرق العمل التقليدية إلى عمليات أكثر كفاءة.



الفوائد الرئيسية



  • الشعبية - مثل العديد من الأدوات الأخرى ، يتم استخدام Jira في كل مكان تقريبًا. تستخدم الفرق الصغيرة إصدارًا أرخص وبأسعار معقولة وتحصل على كل ما تحتاجه ، بينما يمكن للشركات الكبيرة تحمل تكلفة ترخيص أعلى.
  • — Jira — . , Jira , , . Jira , , .






حصل المنافسون على ركلة ولكن لا



تهزموا Trello - اكتسبت Trello شعبية بسرعة بفضل أداة Kanban المجانية. ومع ذلك ، بمجرد توسيع نطاق العمليات والانتقال من عشرات المهام إلى الآلاف ، يصعب التنقل والبحث والتقرير في Trello.



Pivotal Tracker - كنت من أشد المعجبين بهذه الأداة عندما كنت أعمل في شركة ناشئة. ومع ذلك ، يركز Pivotal Tracker بشكل أكبر على إدارة المنتج بدلاً من المهام الفنية. على الرغم من أن إدارة منتج في Jira أكثر تعقيدًا بعض الشيء ، إلا أنه لا يزال من الممكن تنفيذه هناك دون استخدام أداة إضافية.



أداة ChatOps # 1



الفائز: المسألة الأكثر





الشرح: ربما كانت أكبر مفاجأة لك في مجموعتي ، وهذه أخبار رائعة! اكتسبت MatterMost شعبية من خلال أخذ الأفضل من الآلات السابقة ، ولكن تم تضمينها في المصنع. هذا مهم جدًا للشركات: يتيح لك MatterMost التحكم في البيانات ، ويساعد أيضًا على دمجها مع الأدوات التي تعمل محليًا. لم نعد بحاجة إلى الخروج من جدار الحماية للتحقق من محادثات العمل.



الفوائد الرئيسية



  • المصدر المفتوح - تعمل النسخة مفتوحة المصدر من MatterMost بشكل رائع للفرق المتوسطة والكبيرة. على عكس خطة Slack المجانية ، التي تحذف سجل رسائلك ، فإن تشغيل الخادم الخاص بك يعني أنك تحفظ جميع بياناتك.
  • عمليات التكامل - نظرًا لأن واجهة برمجة التطبيقات تعتمد بنسبة 100٪ تقريبًا على Slack API ، يمكن استخدام جميع عمليات تكامل Slack تقريبًا مباشرةً مع MatterMost.






شارك المنافسون في المعركة ، لكنهم لم



يهزموا Slack - Slack رائع ، لكن هؤلاء الرجال نما كثيرًا لدرجة أنهم بدأوا في البحث عن الربح. تقترب مرحلة استرداد الأعمال ، مما يزيل قيمتها الرئيسية: خدمات Slack تقدم مجانًا ؛ أهم عيب في الإصدار المجاني هو حذف محفوظات الدردشة.



Microsoft Teams - حاول دمج أحد منتجات Microsoft مع شيء ليس Microsoft ... حظًا سعيدًا! هذا كل ما أريد أن أقوله عن هذه الأداة!



أداة التوثيق # 1



الفائز: ملتقى





يعد إنشاء الوثائق الفنية عالية الجودة والحفاظ عليها عملية معقدة ، بغض النظر عن الأداة التي تستخدمها. على الرغم من وجود العديد من أدوات توثيق SaaS في السوق مؤخرًا ، سيكون من الصعب بالنسبة لي الاستعانة بمصادر خارجية لتخزين الوثائق الفنية للتطبيقات الهامة لأطراف ثالثة. يُفضل تخزين البيانات والمستندات على تخزينها في مكان العمل ، وإليك كيفية حل Confluence لها.



الفوائد الرئيسية



  • سهولة التشغيل - قد يكون إعداد وتشغيل معظم الأدوات المستقلة أمرًا صعبًا بعض الشيء وتتطلب بعض المعرفة للحفاظ عليها. يعمل Confluence Server بشكل رائع خارج منطقة الجزاء لـ 10 أو 10000 مستخدم.
  • الإضافات - بفضل Confluence للحصول على تنقل لطيف وسهل خارج منطقة الجزاء ، والقدرة على إضافة مكون إضافي لأي شيء تقريبًا يفتح الإمكانيات كموقع Wiki.






قاتل المنافسون ، لكنهم لم يفزوا ،



اقرأ المستندات - رائع للمصدر المفتوح ، ولكن لا تفكر حتى في تخزين المعرفة الهامة هنا.



MarkDown - رائع لتوثيق التعليمات البرمجية ، ولكن من الصعب استضافة بنية أو عمليات أو أنواع أخرى من التوثيق هنا بسبب تنسيق MarkDown المحدد.



Jekyll - عند توثيق المعرفة التقنية ، لا أريد إنشاء موقع ثابت جديد يتكشف عند كل تغيير. يعمل نظام التحكم في الإصدار البسيط الخاص بـ Confluence على تبسيط التوثيق الداخلي بشكل كبير.



دعونا نلخص



هناك المئات من أدوات DevOps في السوق ، مما يجعل من الصعب معرفة أي منها يجب استخدامه ومتى ينبغي تنفيذها. اتبع هذا الدليل البسيط لاختيار أدوات DevOps لخط أنابيب CI / CD كامل.



لا تنس اختيار الأدوات من جميع الفئات الخمس:



  • أدوات التطوير والبناء
  • أدوات أتمتة الاختبار
  • أدوات النشر
  • أدوات وقت التشغيل
  • أدوات التعاون.


أفضل توصية: أتمتة كل شيء!



بفضل زاك شابيرو!



All Articles