منذ فترة طويلة لم أتحدث عن التقنية ولم أخرج التقني الذي في داخلي
ماذ تعني (DevOps) ؟ هي كلمة مجموعة من الحروف الأولى لمصطلحي (Development + Operations) و هي إحدى أهم الوظائف المطلوبة حاليا لدى شركات التقنية التي تودّ الخروج بمنتجات بشكل سريع وبجودة عالية.
أول ظهور لهذا المصطلح كان في أحد مؤتمرات المطورين بمنهجية (Agile Methodologies) في العام (2008) وهي إحدى المنهجيات التي تستخدم مبدأ (Lean) بشكل أقرب في موضوع التطوير والبرمجة وهي تستخدَم للحصول على مكاسب سريعة حيث يتم التركيز على وظائف قليلة تكون جاهزة بجودة عالية بدلا من التركيز على كامل المشروع، ولعلي أتحدث مستقبلا عن (Agile Methodologies) في مقالة منفصلة.
لماذا نحتاج إلى (DevOps) ؟
أكبر مشكلة في عالم التقنية هي التطور السريع وكثرة التقنيات التي تتداخل فيما بينها لتقديم حلول سهلة هي أساسا معقدة داخليا ومترابطة بشكل كبير لتسهيل المنتج النهائي للمستخدم الذي ليس عليه أن يعلم كيف يعمل هذا العالم.
أيُّ تطبيق أو حل برمجي أو منتج تقني تتداخل فيه مئات التقنيات التي يحتاجها لكي يَخرُج منتج واحد متكامل صالح للاستخدام، ولكي لا أقوم بتعقيد الأمر عليكم فلنأخذ مثالا بسيطا وهو عبارة عن موقع إنترنت بسيط.
ماذا يحتاج إلى موقع بسيط؟ يحتاج إلى
1) مطور
2) مصمم
3) مدير سيرفر
4) مَن يختبر المنتج
5) شخص متخصص في الـ UX
6) كاتب محتوى
7) مسوق رقمي
8) شخص متخصص في الـ SEO
9) شخص ليقدم خدمات الدعم الفني،
10) مدير عام للمشروع.
كل هذه الوظائف ونحن نتحدث عن أبسط أشكال المنتجات التقنية ولو أردنا تعقيد الموضوع أكثر قليلا فنحن سندخل في 11) مطوري موبايل للأيفون و 12) متخصص أندرويد و 13) متخصصين في الخدمات السحابية و 14) متخصص في الحماية و 15) من يقوم بتوثيق العمل والأساس 16) الذي قام بتحليل النظام و 17) شخص للتأكد من استمرارية المنتج وإدارة الأزمات وغيرها. مع العلم أنه حاليا كل وظيفة من هذه الوظائف تحتاج إلى فريق وليس فرد فهناك داخل كل وظيفة عوالم متعددة و تخصصات أكثر دقة.
إذن من هو الـ DevOps؟
هو شخص يمكن أن يكون أقرب إلى مدير المنتج (Product Manager) ولكن بمهارات تقنية أعمق فهو المدير في العالم التقني. هذا الشخص وظيفته الأساسية أن يكون حلقة الوصل بين كل هذه الوظائف ويكون قريبا منها إلى حدّ ما يمكّنه من فهم كل وظيفة وحاجتها إلى مشروعه، لذا يفضل أن يكون قد سبق له وأن عمل في أغلب هذه الوظائف ولديه خبرة كافية لكي يستطيع الحديث وفهم ما الذي يدور في كل عالم ليستطيع عمل الترابط الكامل بين الفريق.
فالمطور لا يمكن أن يكون مصمما و قد لا يستطيع الطرفان التخاطب فيما بينهما أصلا و بالتأكيد لا يمكن للمطور أن يكون هو من يختبر عمل التطبيق فهو يعتقد بأن ما قام به أفضل ما يمكن. ولا يمكن لمتخصص الحماية أن يكون الشخص المناسب لإدارة المحتوى ولكن الـ DevOps هو حلقة الوصل العارف والفاهم في كل عالم بالحدّ الكافي لمعرفة كيف يعمل كل جزء منه بشكل يستطيع توظيفه للخروج بالعمل بشكل نهائي؛ حيث يمكنه نقل الأدوار وأخذ كل جزئية من مكان إلى آخر.
وهو شخص أقرب إلى خط التجميع في مصنع تقني حيث يكون بمثابة الحزام الناقل للتنقل من قسم إلى قسم للخروج بالمنتج النهائي المطلوب عمله. أو بوصف أخر يستخدم منهجيات (CI/CD)
الكلمة المفتاحية هنا هي أهم ما في الموضوع؛ إن قمت بإدارة التقنية لديك بعقلية ما قبل 5 سنوات فبالتأكيد ستفشل فشلا ذريعا!