DevOps: ما هو ولماذا هو مهم

نشرت: 2022-03-11

على الرغم من عدم وجود طرق "حل سحري" مؤكدة لتحسين كفاءة تكنولوجيا المعلومات ، فقد أسفرت DevOps عن نتائج يصعب تجاهلها. كما يوحي اسمها ، تجمع DevOps بين تطوير البرامج ومبادئ عمليات البرامج بهدف مساعدة المؤسسات على تطوير المنتجات بسرعة وكفاءة أكبر. TIAA-CREF ، على سبيل المثال ، شهدت أعمالها التي تبلغ 40 مليار دولار أمريكي إجراء تحسينات كبيرة من خلال استخدام مبادئ DevOps. تشرح مقابلة أجرتها TechBeacon مع سكوت بلاندفورد ، المسؤول الرقمي الرئيسي في TIAA ، كيف انتقلت TIAA من البرامج والأنظمة القديمة القديمة إلى "نهج DevOps القائم على المرونة" والذي أدى إلى زيادة إنتاجية التطوير بمقدار أربعة أضعاف. يتم إصدار التحديثات بسرعة أكبر بكثير ، و "استعاد قسم تكنولوجيا المعلومات الثقة التي تآكلت على مر السنين حيث بدأ في تلبية توقعات المستخدمين".

تشير نتائج تقرير حالة DevOps لعام 2017 إلى وجود اختلافات كبيرة بين المؤسسات عالية الأداء التي تستخدم مبادئ DevOps والمنظمات التي لا تفعل ذلك. وفقًا للتقرير ، تتمتع المؤسسات عالية الأداء بترددات نشر برامج أعلى بكثير (46 مرة أكثر تكرارًا) ، ومهلة أسرع بكثير للتغييرات (أسرع بـ 440 مرة) ، ومعدل فشل تغيير البرامج أقل بكثير (أقل بخمس مرات) من الأداء الأقل نظرائه.

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

قد يكون لهذا النقص في الوضوح آثار سلبية على المنظمات والفرق التي تحاول تنفيذ مبادئ DevOps ، مما يتسبب في ارتباك إستراتيجي وإعاقة السرعة والكفاءة التي من المفترض أن تروج لها DevOps. كما قال مهندس DevOps في IBM في مقال نشرته InfoWorld ، "كنا بحاجة للإجابة على بعض الأسئلة الأساسية وتحديد المشكلات التي كنا نحاول حلها ... إذا كنت لا تعرف كيف يتم العمل فعليًا ، فأنت لا تعرف ما هي المشاكل التي تستحق الحل ".

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

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

DevOps كنوع من المهندسين والثقافة والممارسة

ما هو DevOps؟ في مقال سابق نشره Toptal ، كتب دمير سيلمانوفيتش أن "DevOps هي ثقافة وعقلية وهي جزء من تقنية المعلومات ككل." يكتب كذلك أن DevOps هي ممارسة تمكّن المؤسسات من تحسين السرعة والكفاءة عبر وظائف تكنولوجيا المعلومات.

تستخدم Amazon Web Services ، وهي أكبر لاعب في البنية التحتية السحابية والتي طورت وفقًا لذلك خبرة كبيرة في DevOps ، تعريفًا مشابهًا ، قائلة إن "DevOps هو مزيج من الفلسفات والممارسات والأدوات الثقافية التي تزيد من قدرة المؤسسة على تقديم التطبيقات والخدمات بسرعة عالية: تطوير المنتجات وتحسينها بوتيرة أسرع من المنظمات التي تستخدم عمليات تطوير البرامج التقليدية وإدارة البنية التحتية. "

"الأشخاص في DevOps هم في الأساس أولئك الذين وجدوا اهتمامًا بكل من إدارة الأنظمة وتطوير البرامج وقرروا دمج مهاراتهم لإنشاء نهج موحد وأفضل لكليهما."

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

للبدء بالشكل الذي يبدو عليه مهندس DevOps ، يضع Martin Chikilian ، مطور برامج سابقًا لشركة IBM و Hewlett Packard مع أكثر من عقد من الخبرة في توظيف مبادئ DevOps ، الأمر بعبارات بسيطة وملموسة: "الأشخاص في DevOps هم في الأساس أولئك الذين وجدوا الاهتمام في كل من إدارة الأنظمة وتطوير البرمجيات وقرروا دمج مهاراتهم لإنشاء نهج موحد وأفضل لكليهما. "

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

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

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

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

يتطلب التعريف الشامل لـ DevOps فهم ما يعنيه كنوع من المهندسين والثقافة والممارسة. بعد استكشاف ما تعنيه DevOps من هذه المنظورات ، من المهم الآن الخوض في الشكل الذي يبدو عليه DevOps عند تنفيذه بنجاح.

مجموعة أدوات DevOps الخاصة بك

بالإضافة إلى التحول الثقافي المذكور أعلاه - الانتقال من شركة مطوري برامج وخبراء البنية التحتية إلى شركة تتبنى تعاونهم - تحتاج الشركات إلى فهم عدد من الممارسات والأدوات المحددة الحاسمة في DevOps. فيما يلي ثلاثة من أهم هذه الممارسات (وإن لم تكن بالتأكيد الوحيدة):

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

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

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

توظيف الأشخاص المناسبين

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

"من المهم أن يكونوا قادرين على سد الفجوة بين الشفرة الأولية والتحديات التي يتعين على الشركة مواجهتها كل يوم - مثل تقليل الاحتكاك بين الأفكار والتسليم والمستهلكين."

يعتقد Andrea Villa ، مهندس DevOps السابق في Atlassian ومهندس النظام في CloudReach ولديه 15 عامًا من الخبرة في إدارة النظام وأمن المعلومات والشبكات ، أن مهندسي DevOps يحتاجون إلى مجموعة واسعة من الخبرة والمعرفة لتحقيق النجاح.

قال فيلا: "لكي تكون فعالة ، يحتاج مهندس DevOps اليوم إلى خلفية مطور ولديه معرفة واسعة بإدارة النظام ومعرفة الشبكة". "من المهم أن يكونوا قادرين على سد الفجوة بين الشفرة الأولية والتحديات التي يتعين على الشركة مواجهتها كل يوم - مثل تقليل الاحتكاك بين الأفكار والتسليم والمستهلكين."

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

لماذا تعتبر DevOps مهمة حقًا

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

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

يوضح فريدريك هارد ، وهو مهندس يتمتع بخبرة تزيد عن 12 عامًا في DevOps وعمل كمهندس سحابي أول في McKinsey وفي Wondersign ، هذه النقطة بشكل كامل.

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

وقد لاحظت Microsoft أيضًا هذه التأثيرات الإيجابية من خلال تنفيذ ممارسات DevOps في مجموعة Cloud + Enterprise الهندسية الخاصة بها. لتقديم أفضل النتائج ، توضح Microsoft ، "كنا بحاجة إلى الهندسة والعمليات للعمل معًا بشكل وثيق طوال دورة الحياة الكاملة للتطوير من التصميم إلى النشر في الإنتاج." من خلال التحول إلى ثقافة DevOps واستخدام ممارسات DevOps ، تمكنت Microsoft من توسيع نطاق وتقديم خدمات عالية الجودة لعملائها بسرعة أكبر بكثير مما كانت عليه في السابق.

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

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

يعد حل هذه المشكلات وتحسين الكفاءة أمرًا رائعًا بحد ذاته ، لكنهما في النهاية وسيلة لتحقيق غاية أكثر جوهرية: إنتاج منتجات مذهلة وتحقيق أرباح أكبر ورضا العملاء. ربما يكون أهم سبب لأهمية DevOps حقًا هو أنه يمكنها تمكين المؤسسات من تعظيم كل من هذه المقاييس.

مواجهة المستقبل مع DevOps

في عام 2015 ، قال سكوت فايس ، شريك Andreessen Horowitz ، إن DevOps "أكثر من مجرد منهجية. إنها مجموعة مهارات لا بد من امتلاكها للمبرمج الحديث - وأصبحت بشكل متزايد قسمًا خاصًا بها ".

لقد ثبت أن هذا صحيح ، حيث أن مجموعة من شركات التكنولوجيا ، بما في ذلك Amazon و Microsoft و Google ، قامت ببناء فرق DevOps وخصصت موارد كبيرة لبناء الخبرة في هذا المجال. يرى Weiss وغيره من اللاعبين التقنيين الرئيسيين أن DevOps ليس مجرد موضة عابرة ، بل هو عنصر أساسي في مستقبل البرامج.

ستستمر DevOps في كونها ضرورية بشكل خاص حيث ستصبح الصناعات أكثر اعتمادًا على البنية التحتية السحابية. في تقرير عام 2017 ، توقعت Gartner Research أن سوق الخدمات السحابية سينمو بنسبة تزيد عن 15٪ سنويًا حتى عام 2020. لوضع هذا النمو من حيث الدولارات ، تشير مقالة حديثة نشرتها Forbes إلى أن سوق الحوسبة السحابية سينمو من حوالي 260 مليار دولار في عام 2017 إلى ما يقرب من 411 مليار دولار في عام 2020. يمكن أن تُحدث DevOps فرقًا كبيرًا في مدى سرعة نجاح شركتك في ترحيل الأنظمة إلى السحابة. في Toptal ، استخدمنا DevOps منذ البداية - وكان ذلك جزءًا لا يتجزأ من نجاحنا كشركة سحابية عالية النمو.

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