مصطلح

ما هو DevOps؟ المعنى ودورة العمل والأمثلة

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

الخلاصة

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

التعريف

ما هو DevOps بعبارة بسيطة

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

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

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

لماذا يهم

لماذا يهم DevOps الإدارة

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

دورة العمل

دورة عمل DevOps والتكامل والنشر المستمر

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

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

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

الجزء الذي تغفله فرق كثيرة

DevOps لقواعد البيانات: الجزء الذي تغفله فرق كثيرة

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

ممارسات DevOps لكود التطبيق ولقاعدة البيانات
الممارسةلكود التطبيقلقاعدة البياناتأين تدخل أدوات Redgate
التحكم في الإصداراتالكود في Git، ويُراجع قبل الدمجالمخطط والصلاحيات والبيانات المرجعية في Git، والمستودع هو المرجع لا الخادم العاملتحفظ Flyway كل تغيير في المخطط ترحيلًا له رقم إصدار
CI/CDبناء كل تغيير واختباره ونشره عبر خط التسليمتطبيق كل ترحيل عبر خط التسليم نفسه، مع فحوص قبل النشر وطريقة تراجع مجرّبةتعمل Flyway داخل خطوط GitHub أو GitLab أو Azure DevOps أو Jenkins
بيانات الاختباربيانات تجريبية وخدمات محاكاةقواعد بيانات تسلك سلوك الإنتاج دون أن تحمل بياناته الشخصية أو حجمهيقنّع Redgate Test Data Manager البيانات ويقتطع منها نسخًا أصغر ويجهّزها
المراقبةمقاييس التطبيق وسجلاته وتتبعاتهصحة الخوادم والاستعلامات البطيئة والانتظار والنسخ الاحتياطية والمهام المجدولة، قبل أن يلاحظ المستخدمونيراقب Redgate Monitor بيئة قواعد البيانات من واجهة ويب واحدة

ولكل صف صفحته: ممارسة DevOps لقواعد البيانات، والتكامل والنشر المستمر لقواعد البيانات للترحيلات داخل خط تسليم قائم، وFlyway في السعودية للإصدارين والترخيص.

الممارسات الجيدة

أخطاء شائعة في DevOps، وما الذي ينجح بدلًا منها

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

Redgate وإنتركي

أين تساعد أدوات Redgate وإنتركي

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

في السياق السعودي

DevOps في السياق السعودي

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

أسئلة تطرحها الفرق عن DevOps

هل DevOps وظيفة أم فريق أم طريقة عمل؟

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

ما الفرق بين DevOps وCI/CD؟

DevOps هو النهج الأوسع: مسؤولية مشتركة، وتغييرات صغيرة، وتعلّم من الإنتاج. أما CI/CD فهو الأتمتة في قلبه، أي خط التسليم الذي يدمج كل تغيير ويختبره ويسلّمه. وقد يشغّل فريق خط تسليم دون أن يعمل بطريقة DevOps، لكن العكس لا يصح.

لماذا تكون قاعدة البيانات غالبًا أبطأ جزء في DevOps لدى الفرق في السعودية؟

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

كيف نُبعد البيانات الشخصية عن قواعد بيانات الاختبار حين نتبنى DevOps في المملكة؟

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

كم يستغرق إدخال قاعدة البيانات في خط تسليم DevOps؟

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

كيف تُرخَّص أدوات Redgate، ومن يدعمها في السعودية؟

التراخيص وفق شروط Redgate، وتقدّم Redgate دعم المنتج بموجب الترخيص. وتسعّر إنتركي التراخيص مع أعمال التنفيذ، وتدعم خط التسليم من الرياض بالعربية والإنجليزية.

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

أدخلوا قاعدة البيانات في خط تسليم DevOps

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

خانة إلزامية

بإرسالك هذا النموذج، فأنت توافق على سياسة الخصوصية.

أو مباشرةً

+966-11-2180999 [email protected]

أبراج التعاونية، البرج الشمالي، الطابق السابع، طريق الملك فهد، العليا، ص.ب. ٥٦٨٣٥، الرياض ١١٥٦٤، المملكة العربية السعودية

أو جزء قاعدة البيانات

نشرته إنتركي. آخر تحديث . إنتركي مسجلة في الرياض بالسجل التجاري رقم 1010156897.