ماهو نموذج DevOps؟ دليل المبتدئين لفهم DevOps لعام 2020
جدول المحتويات
ماهو نموذج DevOps؟ ، كيف يعمل DevOps؟ ، لماذا زاد استخدامه في الشركات الكبيرة والصغيرة على الويب؟
DevOps هو مصطلح جديد ناشئ، يمكن القول عنه إنه إندماج ناتج عن التعاون بين موظفي التطوير والعمليات في جميع مراحل دورة حياة التطوير عند إنشاء خدما ما وتشغيلها.
لكي نفهم نموذج DevOps، لدينا رحلة طويلة، فهو يمكن أن يكون مزيج بين ثقافة ونهج وفلسفة لمجموعة من الأشياء المرتبطة مع بعضها.
ماهو نموذج DevOps؟
هناك الكثير من المصطلحات والمفاهيم حول DevOps وهناك الكثير من التساؤل والشروحات حول ماهية وفهم DevOps
لنفهم أكثر مايحدث ولكي نأخذ النظرة الشاملة على الموضوع سنطرح هذه الأسئلة:
- ما هو DevOps؟
- من أين أتى؟
- ما هي المشاكل التي أدت إلى DevOps؟
- كيف يعمل DevOps؟
- ما مدى انتشار DevOps اليوم؟
ما هو DevOps؟
تمت صياغة كلمة “DevOps” في عام 2009 بواسطة باتريك ديبوا (Patrick Debois)، حيث تم تشكيل المصطلح من خلال الجمع بين (التطوير – development) و (العمليات – operations).
تمثل DevOps تغييراً في ثقافة تكنولوجيا المعلومات، مع التركيز على تقديم خدمات تكنولوجيا المعلومات بسرعة من خلال اعتماد ممارسات مرنة ورشيقة (agile).
يركز DevOps على الأشخاص (والثقافة)، ويسعى إلى تحسين التعاون بين فرق العمليات والتطوير.
قلنا في البداية أن DevOps هو تعاون بين موظفي التطوير والعمليات، وبالتالي لنعرف نموذج DevOps أكثر، ونفهم ما هو، علينا بدايةً أن نعرف ماذا تعني “Ops” وماذا تعني “Dev”.
-
Ops
هو مصطلح يشمل العديد من التخصصات والعديد من الأشخاص مثل
- مهندسي الأنظمة (systems engineers) ومسؤولي النظام (system administrators).
- موظفي العمليات (operations staff) ومهندسي الإصدار (release engineers).
- مديري قواعد البيانات (DBAs).
- مهندسي الشبكات ( network engineers) والأمان والحماية (security professionals).
- العديد من التخصصات الفرعية الأخرى والمسميات الوظيفية الأخرى.
-
Dev
هي اختصار لجميع العاملين في مجال التطوير (المطورين) على وجه الخصوص، ولكنها أيضاً تعني جميع الأشخاص المشاركين في تطوير المنتج. مثل:
- المشاركين في إصدار المنتج.
- المسوؤلين عن ضمان الجودة وغيرها من التخصصات الأخرى.
المجموع لدينا هو DevOps، أي الأشخاص الذين يقومون بالتطوير (أي الذين يقومون بالتفكير والصنع حتى يولد المنتج) والعمليات (الأشخاص الذين يتعاملون مع المنتج بعد ولادته).
وبالتالي، المخاوف والمشاكل التي كانت تظهر بين هذين المكونين وتعاملها مع بعضهما البعض هو السبب الرئيسي وراء ظهور نموذج DevOps.
لنعرف مرة أخرى DevOps على أنه ثمرة التطور السريع للبرامج التي تتطلب التعاون الوثيق بين العملاء وإدارة المنتجات والمطورين لضمان الجودة وملء الفجوات والتكرار للوصول إلى منتج أفضل وأقوى وأكثر جودةً.
هذا هو ببساطة، مفهوم وتعريف DevOps
اقرأ أيضاً: ما هي تقنية جام ستاك (JAMstack) ؟
من أين أتى نموذج DevOps؟
لم يتم إنشاء DevOps من العدم ولم تولد فجأة وبدون سابق إنذار، بل تم زرع بذور DevOps منذ فترة طويلة وتم رعايتها بواسطة خبراء تكنولوجيا المعلومات (IT experts) من أصحاب التفكير المتطور في العديد من التخصصات.
يرتكز نموذج DevOps على عمودين أساسيين:
-
إدارة أنظمة المؤسسة (ESM).
كان العديد من الأشخاص المشاركين في التعريف الأولي لـ DevOps من مسؤولي النظام (system administrators).
حيث قام هؤلاء الخبراء بأفضل الممارسات الرئيسية للإدارة السليمة بيئياً إلى DevOps، بما في ذلك:- إدارة التكوين (configuration management).
- مراقبة النظام (system monitoring).
- التزويد المؤتمت (automated provisioning).
- نهج سلسلة الأدوات (toolchain approach).
-
تطوير البرامج بتقنية أجيل (Agile)
يمكن تفسير نموذج DevOps على أنه ثمرة لـ Agile.
Agile تعني تطوير البرمجيات القائمة على التطوير التكراري، حيث تتطور المتطلبات والحلول من خلال التعاون بين فرق متعددة الوظائف ذاتية التنظيم.
اقرأ أيضاً: أفكار مشاريع ناجحة تعتمد على التقنية
ما هي المشاكل التي أدت إلى DevOps؟
هناك دائماً طرفان متناقضان في أي منتج وأي خدمة الطرف الذي يقوم بالتصنيع والتطوير والإنتاج والطرف الأخر المستهلك (أي العميل) الذي يهمه فقط الناحية التجارية ودائماً يبحث عن الميزات الجديدة والخدمات الجديدة والإيراداد بأسرع ما يمكن.
وفي نفس الوقت يبحث الطرف الأول (أي المطورون ومسؤولو النظام) عن نظام مستقر وخال من الإنقطاعات. هذا يخلق مشكلة.
ماهي المشكلة؟
تشعر الشركات أنه يتعين عليها الاختيار بين تقديم التغييرات بسرعة والتعامل مع بيئة إنتاج غير مستقرة، أو الحفاظ على بيئة مستقرة ولكنها قديمة.
وهذين الخيارين غير مقبولين بالنسبة للمديرين التنفيذيين في المؤسسة. والأهم من ذلك، لا يسمح أي منهما لأي شركة بتقديم أفضل الحلول الممكنة لعملائها.
دائماً وأبداً، المطورون على استعداد لدفع البرامج بشكل أسرع وأسرع، هذا ما يتم تعيينهم لتحقيقه فعلاً.
من ناحية أخرى، تدرك العمليات أن التغييرات السريعة بدون ضمانات مناسبة يمكن أن تزعزع استقرار النظام، الأمر الذي يتعارض مباشرة مع ميثاقها.
ماهو الحل؟
الحل كان إنشاء نموذج DevOps لحل هذه المعضلة من خلال دمج كل شخص مرتبط بتطوير البرامج ونشرها وكذلك مستخدمو الأعمال والمطورون ومهندسو الاختبار ومهندسو الأمان ومسؤولو النظام. حيث يتم الدمج في عملية واحدة مؤتمتة للغاية مع تركيز مشترك على هدف واحد وهو منتج عالي الجودة ويلبي كل المتطلبات الأنية والمستقبلية.
يأتي السؤال الأهم،كيف يوحد DevOps هذه الأمور المختلفة؟
على سبيل المثال، يتم ذلك من خلال:
- تحديد التوقعات والأولويات والمعتقدات الأساسية التي توجه جميع العاملين.
- التعاون داخل الفرق وفيما بينها على حل المشكلات.
- القيام بأتمتة العمليات لأجل السرعة وتوفير الوقت .
- دمج الملاحظات في العمل، وقياس كل ما يتم نقله إلى الإنتاج.
- مشاركة البيانات مع جميع المعنيين لتعزيز ثقافة أكثر وفعالية للعمل معًا بشكل جيد عبر مهارات مختلفة ومعارف متخصصة.
اقرأ أيضاً: كيف يتم ابتكار التكنولوجيا
كيف يعمل نموذج DevOps؟
كما قلنا سابقاً، أن DevOps يعتبر ثقافة جديدة ، تعمل من خلال مجموعة من الخطوات والمفاهيم، مثل:
-
التعاون (collaboration)
أساس نجاح DevOps هو مدى تعاون الفرق والأفراد عبر المؤسسة لإنجاز المهام بسرعة وكفاءة وفعالية أكبر.
-
الأتمتة (automation)
يعتمد نموذج DevOps على عدد كبير ومتنوع من الأدوات لأتمتة أجزاء كبيرة من عملية تطوير البرامج ونشرها من طرف إلى طرف.
-
التكامل المستمر (continuous integration)
ببساطة، يتعين على المطورين التواصل مع بعضهم البعض بشكل متكرر وكذلك دمج عملهم مع عمل المطورين الآخرين بشكل يومي. بإختصار فكرة المطور المبرمج العبقري الذي يعمل لوحده مرفوضة.
-
التسليم المستمر ( continuous delivery)
عندما يتم تنفيذ الأعمال وتسليمها بشكل مستمر، سيكون لدى المطورين دائماً قطعة أثرية جاهزة للنشر مرت عبر عدة عمليات اختبار قياسية.
-
الاختبار المستمر (continuous testing)
الاختبار المستمر ليس مجرد وظيفة لضمان الجودة. في الواقع، ينشئ الاختبار المستمر نظاماً مركزياً للقرار يساعدك على تقييم مخاطر الأعمال التي يقدمها كل تطبيق لمؤسستك.
حيث يتم تطبيقه باستمرار، وهو يوجه فرق التطوير لتلبية توقعات العمل ويوفر للمديرين رؤية أفضل لاتخاذ قرارات مناسبة من أجل تحسين قيمة العمل. -
المراقبة المستمرة (continuous monitoring)
من خلال المراقبة المستمرة، تقيس الفرق أداء البرامج وتوفرها لتحسين الاستقرار.
تساعد المراقبة المستمرة على تحديد الأسباب الجذرية للمشكلات بسرعة لمنع الانقطاعات وتقليل مشكلات المستخدم.
ما مدى انتشار DevOps اليوم؟
من الشركات الناشئة في مراحلها الأولى إلى المؤسسات التي يبلغ عمرها 100 عام، يحقق نموذج DevOps نجاحات كبيرة في مؤسسات تكنولوجيا المعلومات في كل مكان.
أظهر أحد الاستطلاعات أن 74٪ من الشركات نفذت DevOps بطريقة ما.
أمثلة على الشركات التي استخدمت DevOps؟
- Etsy
- Amazon
- Netflix
- Sony Pictures
- Barclays Bank
بالنهاية، يمكن القول أن نموذج DevOps ليس هدفاً بحد ذاته، ولكنه عملية لا تنتهي من التحسين والتطوير المستمر.