عمل إيفان في مؤسسة كبيرة في قسم يتعلق بـ DevOps. كل يوم ، يستخدم الآلاف من الموظفين أدوات DevOps لإنشاء واختبار وتنفيذ برامجهم.
كان آلاف التوزيعات يوميًا التي مرت عبر خط التجميع حالة عادية.
ومع ذلك ، حيث توجد قوة كبيرة ، هناك أيضًا مسؤولية كبيرة. أدت الصعوبات التي لا مفر منها للفرق في مئات من مكالمات الدعم الفني في اليوم الواحد.
بطبيعة الحال ، لم يحب الكثيرون أدوات DevOps. قال أحدهم إنهم عربات التي تجرها الدواب ، في حين يعتقد آخرون أنه يمكنك الاستغناء عنها على الإطلاق ، وسيكون أسرع بكثير.
أدركت إدارة الشركة أن جميع الفرق بنسبة 100 ٪ لم تكن راضية عن DevOps ، ومع ذلك ، لم تكن هناك بيانات دقيقة. سيكون من الجيد رؤية المشاكل على خط التجميع ، لكن حتى العدد المعتاد من التوزيعات التي تمر بها يوميًا لم يكن معروفًا. ماذا يمكن أن نقول عن مقاييس خطيرة.
تم طرح سؤال حول مقاييس DevOps باستمرار - احتاج الجميع إليها كثيرًا.
كموظف يعرف المقاييس ويعرف تقنية DevOps ، قام بدور وثيق في إعداد المشروع.
جنبا إلى جنب مع مدراء DevOps ، فقد وضع بنية الحلول الممكنة ، ودرس أيضا كمية كبيرة من الأدب على مقاييس DevOps. لم يكن هناك مقال واحد على الإنترنت وليس هناك كتاب واحد حول هذا الموضوع لن يقرأه.
نتيجة لذلك ، تم إنشاء حل تقني كامل ، والذي قدمه إيفان إلى الإدارة.
ذهب كل شيء
كان رد فعل الإدارة غير متوقع - لم يتم اتخاذ قرار بشأن التنفيذ.
"هذا إخفاق ، إخوان" ، قال الزميل الطيب مبتسمًا ، تاركًا إيفان من الاجتماع.
على الرغم من المفارقة ، كان على حق. إذا لم يتم اتخاذ القرار ، فهناك نوع من الردع الذي لم يراه إيفان ولم يأخذه في الاعتبار.
كانت الإدارة مقتنعة بالجدوى الفنية لتطبيق مقاييس DevOps ، لكنها ما زالت تشك في ذلك.
وسبب ذلك هو سبب بسيط للغاية: أظهر الحل التقني أن التنفيذ ، رغم إمكانية ذلك ، سيتطلب عددًا كبيرًا من الموارد البشرية والتقنية ، أي سيكون عزيزي. ولكن ما إذا كان سيكون هناك أي نتيجة مفيدة حقيقية من هذا هو السؤال الكبير.
عندما يتعلق الأمر بمشروع باهظ الثمن ، ثم:
- العروض التقديمية ليست مثيرة للإعجاب
- تخطيطات الشاشة ليست مؤثرة
- الأمثلة ليست مثيرة للإعجاب.
بشكل عام ، تم تأجيل بدء المشروع إلى أجل غير مسمى. ويبدو أن المهمة لإيفان غير قابلة للحل تماما.
حالة مصيرية
كل شيء تقرر بالصدفة. مرة واحدة ، وصلت رسالة إلى مكتب البريد تفيد بأن اثنين من الطلاب تم نقلهم إلى قسم التدريب. كان أحد الطلاب على استعداد للقيام ببعض الأعمال الصغيرة.
اعتقد إيفان أنه قد يكون من الممكن القيام بشيء ما على الأقل عن طريق المقاييس - وأرسل للطالب مهمة فنية لجزء من المشروع تم تخفيضه إلى استحالة.
كل هذا كان هناك سحب البيانات من جينكينز ونيكزس في أسهل الطرق الممكنة.
تخيل مفاجأة إيفان عندما دعاه طالب بعد يومين فقط للنظر في نظام العمل. على السؤال "كيف اكتسبت أولوية عالية؟" تليها الإجابة: "كان لديك فقط المعارف التقليدية العادية."
يكون ذلك كما قد ، ولكن النظام يعمل. قامت بسحب البيانات من جينكينز ونيكزس ووضعتها في قاعدة البيانات الخاصة بها.
أدرك إيفان أنه بحاجة إلى إنهاء الباقي في أسرع وقت ممكن. استخدم الإصدار المجاني من QlikView لإنشاء تقارير من البيانات الأولية وبحلول المساء ، كان الإصدار الأول من مقاييس DevOps جاهزًا.
يوم الاثنين التالي كان طفرة. عند رؤية مقاييس العمل ، صرخ رئيس إيفان: "هذه هي البيانات الأكثر فائدة التي رأيتها مؤخرًا!"
تم حل مشكلة الموارد على الفور ، وفي الأيام القليلة المقبلة ، تم إطلاق المشروع باستخدام المقاييس إلى أقصى حد.
لقد تصرف Ivan بشكل صحيح ودون أن يدرك أنه أعطى "نتائج سريعة" - نظام عمل مع أكثر الوظائف المقطوعة التي تقدم فوائد حقيقية.
تعمل "النتائج السريعة" ، لأنه عندما يتعلق الأمر بنظام كبير باهظ التكلفة ، لا مفر من ظهور الكثير من الغموض. مع ارتفاع تكلفة كبيرة ، والنتيجة ليست واضحة دائما.
لذلك ، يتم تأخير بدء العمل باستمرار أو يتم التخلي عن النظام بالكامل.
تساعد النتائج السريعة في اختبار الفرضية بأقل قدر ممكن من الوسائل. الشيء الرئيسي هو محاولة إنشاء نموذج أولي دون جذب موارد إضافية ، وفي الوقت نفسه يحمل قيمة وفوائد.
بعض الأفكار التي تلقاها إيفان من المشروع:
تخيل أولاً ما هي النتيجة النهائية التي تحتاجها
عرف إيفان بالضبط ما هي المقاييس التي سيحتاجها ، حتى تخطيطات الشاشة. هذا سمح له أن يتجاهل بسرعة وظيفة غير ضرورية ويترك فقط تلك التي بدونها فقدت المقاييس معانيها بالكامل.
من بين مقاييس DevOps العشرة المقترحة للتنفيذ ، ترك إيفان معيارًا واحدًا فقط ، وقصره على موقف واحد وفريق واحد. في الواقع ، كان هذا هو الضغط الأكثر تركيزًا من ناحية ، والبيانات الحقيقية العملية من ناحية أخرى.
مثل هذه النسخة التي تم تجريدها جعلت من الممكن حل مشكلة عملية بالكامل - تحليل الفريق الحقيقي وفهم ما إذا كانت المقاييس الموجودة عليه ستعطي النتيجة المتوقعة منها.
الرسم التخطيطي البسيط يجعل الأمور أسهل بكثير
ساعد نظام نشر أبسط مع تدفق المعلومات والبيانات بشكل جيد للغاية إيفان فهم أين يكمن ومدى سهولة الحصول عليها.
جنكينز: وظائف. ما المطلوب للمقاييس في الوظائف؟ كيف تسحبه للخارج؟ ما البروتوكولات ، والتي من عناوين؟
نيكزس: توزيعات. ما يتطلب Nexus للمقاييس؟ كيف تحصل عليه؟
نظم المساعدة: إسقاط ل ليست هناك حاجة للقياسات.
كيفية الجمع بين البيانات؟ أين هو أسهل للقيام بذلك في أسرع وقت ممكن؟
إذا كان ذلك ممكنا ، الاستغناء عن الترميز. جميع
إذا كان يمكنك القيام بالتحميل الجاهز إلى XLS أو CSV ، فمن الأفضل القيام بذلك وعدم الترميز على الإطلاق.
في بعض الأحيان لا يمكنك الاستغناء عن الترميز ، ولكن لا يزال عليك اختيار الخيار الأسهل.
على سبيل المثال ، تغذي Jenkins البيانات في RSS و JSON. اختر الخيار الأسهل في التنفيذ.
Nexus تقوم بإرجاع XML فقط؟ حسنًا ، لا يوجد شيء يجب القيام به ، يجب عليك الرمز.
لا تعلق كثيرا تنظيف كل شيء
ليست هناك حاجة إلى أتمتة فائقة للحصول على نتائج سريعة. يمكنك القيام به مع رموز الأوامر بدلاً من أسمائهم. يجب عليك عدم توصيل أنظمة إضافية لتخصيب البيانات فقط. هذه مجرد إرشادات للزهور والجمال - من الأفضل الاستغناء عنها وتوفير الوقت.
بدلاً من الكتابة إلى قاعدة البيانات ، يمكنك الكتابة إلى ملف نصي عادي أو ملف بتنسيق csv ، إذا كان سيكون أسرع.
حيث يمكنك البدء يدويًا - ابدأ ، لا تضيع الوقت على sheduler.
إذا كان من السهل الكتابة بلغة نصية خفيفة مثل Python أو PHP - write. على أي حال ، فأنت تفعل الحد الأدنى ، لذلك لن تضطر إلى إعادة كتابة الكثير.
استخدم الأدوات التي تتيح لك الحصول على النتائج بسرعة ، على سبيل المثال ، QlikView أو Tablue المجاني للمقاييس - إنها تجعل من السهل تحميل البيانات ودمجها ، بالإضافة إلى إنشاء جميع الرسوم البيانية اللازمة.
أخذ إيفان "النتائج السريعة" في الخدمة وفي المشاريع التالية ، حاول دائمًا أولاً إنشاء نظام عمل بسيط يوفر فائدة ، وعندها فقط يأخذ الباقي. وانها تعمل دائما.
إذا بدت قصة إيفان مفيدة لك ، سأكون سعيدًا جدًا بها.
يرجى كتابة التعليقات في قضيتك عندما يكون للنتائج السريعة تأثير.