كلمة DevOps اصبحت مثل التعويذة السحرية , بس نقولها يستحضر عقلنا Azure DevOps و Jinkins و Travis و اتمتة عملية الBuild و الTest و الRelease. لكن هل هذي هي الDevOps ؟؟
(سلسلة)
(سلسلة)
موضوع اتمتتة الBuild و الTest و الReleases هذي Continuous Deployment اللي بالخطأ بعض الناس تسميها Continuous Delivery. الفرق ان الأولى فيها اتمتة توصل للProduction و الثانية ليست بالضرورة مؤتمتة ولا توصل للProduction فقط تجهزها له و يصير الDeployment يدوي متى ما أرادوا.
اما الContinouse Integration بالمرّة فلو رجعنا لكتاب Extreme Programming اللي نشره عام 1999 سنجد ان الموضوع كان انه كل ما ينتهي مبرمج من جزء من الكود كل كم ساعة يدمجه في الmain branch في خادم خاص و يسوي Testing بشكل دوري ويشوف و يحل المشاكل حتى تصبح نتيجة الTesting مجتازة 100%.
الموضوع مافيه اي Automation بالضرورة مثلما تسوق Atlassian و Microsoft و غيرهم لأدواتهم. و المصطلح اقدم حتى من الExtreme Programming فـ Grady Booch ذكره في كتابه Object oriented analysis and design اللي نشر عام 1994 عدة مرات. فأين Jinkins و غيره من الأدوات تلك الأيام؟
الفكرة اللي بوصلها هو أن موضوع الAutomation و ادواتها هي شيء طاريء مساعد وليست شيء أساسي حتى في موضوع الCD/CI فما بالك بالDevOps ؟ فالCD/CI ممارسة و منهجية تحتاج استيعاب اولاً و اكبر من مجرد اختزالها في تمكين و استخدام ادوات.
نأتي الآن للأدوات , على سبيل المثال Jinkins ظهر عام 2011 و كان تطوير لمنتج لأوراكل اسمه Hudson ظهر عام 2005 و كان قبله برنامج اسمه CruiseControl بنوه موظفي شركة ThoughtWorks اللي فيها مارتن فاولر عام 2001 لأجل الContinuous Integration. يعني بعد ظهور المفاهيم بسنين.
لما ظهرت الأدوات نجد مارتن فولر يقول انه عشان نوصل للContinuous Delivery احنا محتاجين لثقافة الDevOps + ادوات Deployment Pipeline. وليس العكس لاحظ!!. فالDevOps تمكن الCD الحقيقي وليس الCD هو من يمكن او يحقق لنا الDevOps.
ايضاً يرى مارتن أن الContinous Delivery هو متطلب لتحقيق الContinuous Deployment و لتحقيق الContinuous Delivery تحتاج الContinuous Integration. اظن الصورة واضحة الآن بالنسبة للاعتمادية و علاقة الأشياء ببعضها و أين موقع الأدوات فيها.
المشكلة أن هذه الأدوات خلتنا نركز على الAutomation اللي هي فقط تحييد للعامل البشري المعرض للأخطاء و اللي من طبعه انه بطيء.و ننسى اصل الموضوع الأصلي و نصير عرضة أننا نأتمت شيء في الأصل خطأ.
الشيء بالشيء يذكر و ليس موضوعنا وهو أن المقارنة بين الWaterfall و الAgile هي اللي شوشت علينا في السابق مفهوم الAgile و السوق انساق وراء هذا الفهم. فموضوع انك تقسم عملية التطوير إلى اجزاء في عملية دورية هذا Iterative او Incremental development كان موجود من عام 1985و ليس Agile.
المهم نرجع لموضوع الDevOps و اللي هو اشمل بكثير وفكرته تغيير ثقافي شامل للمنشأة يتعدى حتى الIT إلى جميع باقي الإدارات في المنشأة من خلال إلغاء الحواجز بينها لتحقيق هدف هو تقديم خدمات ذات قيمة للعميل بأسرع وقت ممكن مع ادوات قياس و تقارير للتقدم و تبين الخلل و نصحح و نستمر وهكذا.
ثقافة كهذه تحتاج قرار و دعم من أعلى سلطة في الهرم , و تحتاج وعي بالهدف و الفكرة عند كل فرد من افراد المنشأة و ليس فقط للIT. هذا مقال عن شركات تبنت الDevOps بعضها لا علاقة اصلا بالIT و لا بالمنتجات الرقمية.
هذا و شكرا على وقتكم.
information-age.com
هذا و شكرا على وقتكم.
information-age.com
جاري تحميل الاقتراحات...