الأسئلة المتداولة: ما هي العلاقة بين SRE وDevOps؟

هناك مجموعة من الأسئلة الشائعة التي تظهر حول العلاقة بين هندسة موثوقية الموقع وDevOps بما في ذلك "كيف هي نفسها؟ كيف يختلفان؟ هل يمكننا الحصول على كليهما في مؤسستنا؟". تحاول هذه المقالة مشاركة بعض الإجابات التي قدمتها مجتمعات SRE وDevOps التي تقربنا من فهم هذه العلاقة.

كيف هي نفسها؟

إن SRE وDevOps هما من ممارسات العمليات الحديثة التي تم إنشاؤها وتطويرها استجابة للتحديات التي شملت:

  • تعقيد متزايد لبيئات الإنتاج وعمليات التطوير لدينا
  • زيادة تبعية الأعمال على الأداء المستمر لتلك البيئات
  • عدم القدرة على توسيع نطاق القوى العاملة خطيا مع حجم هذه البيئات
  • الحاجة إلى التحرك بشكل أسرع مع الاحتفاظ بالاستقرار التشغيلي

تقدر ممارسات العمليات الاهتمام بالمواضيع التي تعتبر حاسمة للتعامل مع هذه التحديات مثل المراقبة/ المراقبة والأتمتة والتوثيق وأدوات تطوير البرامج التعاونية.

هناك تداخل كبير في الأدوات ومجالات العمل بين SRE وDevOps. وكما يقول مصنف موثوقية الموقع، "تؤمن هندسة موثوقية الموقع (SRE) بنفس الأشياء التي يؤمن بها DevOps ولكن لأسباب مختلفة قليلا."

ثلاث طرق مختلفة لمقارنة ممارسات العمليات

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

"فئة SRE تنفذ واجهة DevOps"

يناقش مصنف موثوقية الموقع (المذكور في قائمة كتب الموارد) هندسة موثوقية الموقع (SRE) وDevOps في فصله الأول. يستخدم هذا الفصل عبارة "فئة SRE تنفذ واجهة DevOps" كعنبر فرعي لها. يهدف هذا إلى اقتراح (باستخدام عبارة تستهدف المطورين) أن SRE يمكن اعتباره تنفيذا محددا لفلسفة DevOps. كما يشير الفصل، "DevOps صامتة نسبيا حول كيفية تشغيل العمليات على مستوى مفصل" في حين أن SRE أكثر اتصافا بكثير في ممارساتها. لذلك يمكن اعتبار إجابة واحدة ممكنة على السؤال حول كيفية ارتباط الاثنين ب SRE واحدة من العديد من التطبيقات الممكنة ل DevOps.

هندسة موثوقية الموقع (SRE) هي الموثوقية حيث أن DevOps هو التسليم

هذه المقارنة موحلة بعض الشيء لأن هناك تعريفات متعددة لكل من SRE وDevOps، ولكنها لا تزال مفيدة. يبدأ بالسؤال "إذا كان عليك تقطير كل ممارسة عمليات في كلمة واحدة أو كلمتين تعكسان اهتمامها الأساسي، فماذا ستكون؟"

إذا استخدمنا هذا التعريف ل هندسة موثوقية الموقع (SRE) من مركز هندسة موثوقية الموقع:

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

ثم سيكون من السهل قول كلمة هندسة موثوقية الموقع (SRE) هي "الموثوقية". وجود الحق في منتصف الاسم يقدم أيضا بعض الأدلة الممتازة لهذه المطالبة.

إذا استخدمنا هذا التعريف ل DevOps من مركز موارد Azure DevOps:

DevOps هو اتحاد الأشخاص، والعمليات، والمنتجات لتمكين تقديم مستمر للقيمة لمستخدمينا النهائيين.

ثم يمكن أن يكون تقطير مماثل ل DevOps هو "التسليم".

ومن ثم "هندسة موثوقية الموقع (SRE) هي الموثوقية حيث أن DevOps هو التسليم".

اتجاه الانتباه

هذه الإجابة مقتبسة أو مشوهة قليلا من مساهمة توماس ليمونسيللي في كتاب البحث عن SRE المذكورة في قائمة كتب الموارد لدينا. ويشير إلى أن مهندسي DevOps يركزون إلى حد كبير على مسار دورة حياة تطوير البرامج مع مسؤوليات عمليات الإنتاج العرضية بينما تركز SREs على عمليات الإنتاج مع مسؤوليات مسارات SDLC العرضية.

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

يشير Limoncelli إلى أن مهندسي DevOps يبدأون من بيئة التطوير ويؤتمون الخطوات نحو الإنتاج. بمجرد الانتهاء، يعودون لتحسين الازدحام.

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

هذا هو الفرق في اتجاه تركيز SRE وDevOps الذي يمكن أن يساعد في تمييزهما.

التعايش في نفس المؤسسة

السؤال الأخير الذي نود معالجته هو "هل يمكنك الحصول على كل من SRE وDevOps في نفس المؤسسة؟"

الإجابة على هذا السؤال هي "نعم!" قاطعة.

ونأمل أن تقدم الإجابات السابقة فكرة عن كيفية تداخل ممارسات العمليتين وكيف يمكن أن تكونا متكاملتين في التركيز عند عدم تداخلهما. يمكن للمؤسسات التي لديها ممارسة DevOps راسخة تجربة ممارسات SRE على نطاق صغير (على سبيل المثال، تجربة SLIs وSLOs) دون الحاجة إلى الالتزام بإنشاء وظائف أو فرق SRE. هذا نمط اعتماد SRE شائع إلى حد ما.

الخطوات التالية

هل أنت مهتم بمعرفة المزيد حول هندسة موثوقية الموقع أو DevOps؟ تحقق من مركز هندسة موثوقية الموقع ومركز موارد Azure DevOps.