8. مقدمة إلى الجزء 8: الأتمتة
تخلق البرمجيات قيمة فقط عندما تصل للمستخدمين. المسار من تغيير مُلتَزَم به إلى شيفرة إنتاج جارية هو حيث تفقد المؤسسات الكبيرة السرعة، والأمان، وصوابها غالبًا. على نطاق مئات المهندسين، وعشرات الفرق، وآلاف موارد البنية التحتية، تنهار العادات غير الرسمية التي تعمل لمجموعة صغيرة كليًا. البناءات اليدوية، والخوادم المُهيَّأة يدويًا، وسكربتات النشر لمرة واحدة تبطئك، والأسوأ، تصبح غير قابلة للتكرار، وغير موثَّقة، ومستحيلة التدقيق. هذا الجزء حول استبدال تلك الهشاشة بالأتمتة: تحويل العمل الفوضوي المعرَّض للخطأ في البناء، والتزويد، والنشر، وتشغيل البرمجيات إلى أنظمة مُقنَّنة، وقابلة للتكرار، وقابلة للمراجعة.
الرهانات للفرق الكبيرة ولمؤسسات المؤسسات والحكومة ملموسة. عندما تتشارك فرق كثيرة أنظمة متداخلة، تنمو تكلفة التكامل والعمليات اليدوية بشكل غير خطي، وتغيير واحد غير مراجَع يمكن أن يكسر بصمت عمل فريق آخر أو إصدارًا كاملًا. تحمل المؤسسات المنظَّمة عبئًا إضافيًا. يحتاج المدققون، ومسؤولو الأمان، والمنظمون دليلًا أن التغييرات رُوجِعت، واختُبِرت، واعتُمِدت، وأن القطعة الجارية في الإنتاج هي بالضبط تلك التي بُنِيت وفُحِصت. الأتمتة هي ما يحوّل التزامات الامتثال هذه من عبء ورقي إلى ناتج ثانوي آلي لتدفق العمل الهندسي العادي. تنتقل من التقاط الانتهاكات بعد وقوعها إلى منعها قبل تزويد أو شحن أي شيء.
يتبع الجزء 8 آلة التسليم من طرف لطرف: من خط الأنابيب الذي يدمج ويصدر الشيفرة، عبر البنية التحتية المُقنَّنة التي تعمل عليها، إلى منصة الحاويات التي تستضيفها، والمنصة الداخلية التي تجعل كل هذا قابلًا للاستخدام لفرق عادية، والأتمتة التي تمنع الجودة والتحكم من الانهيار تحت النطاق. الخط الحبكي بسيط. أي شيء تفعله بتكرار وقابلية توقع ينبغي أن يُقنَّن، بحيث يعمل باتساق، وسرعة، وبلا كدح بشري.
فصول هذا الجزء
- 8.1 CI/CD والتسليم: ابنِ خط الأنابيب الآلي الذي يدمج كل تغيير في خط رئيسي مشترك، يختبره، ويبقيه في حالة قابلة للنشر، بحيث يصبح الإصدار قرار عمل آمنًا بدل هرولة هندسية، وقابلًا للتدقيق أيضًا.
- 8.2 البنية التحتية كشيفرة والتهيئة: عرّف وزوّد البنية التحتية عبر تعريفات مُرقَّمة بإصدار وقابلة للمراجعة ومقروءة آليًا بدل نقرات يدوية، بحيث تكون البيئات متسقة، وقابلة لإعادة الإنتاج، وقابلة للتخلص، بقواعد حوكمة مُضمَّنة ومفحوصة قبل أن يوجد أي شيء.
- 8.3 الحاويات، والتنسيق، والسحابة الأصلية: ضع التطبيقات وتبعياتها في وحدات محمولة ومعزولة وشغّلها على النطاق على منصات تنسيق مثل كوبرنيتس، مانحًا فرقًا كثيرة ركيزة مشتركة للنشر، والتوسع، والمرونة بينما تحكم المصدر، والعزل، والتكلفة.
- 8.4 هندسة المنصة وتجربة المطور: ابنِ وشغّل منصة مطور داخلية تقدم مسارات ذهبية منسَّقة وذاتية الخدمة (طرق حاسمة الرأي ومدعومة بافتراضيات معقولة مخبوزة فيها)، ماصّة التعقيد المشترك بحيث تركّز الفرق على نطاقها بينما ترث معايير المؤسسة للأمان، والموثوقية، والامتثال افتراضيًا.
- 8.5 أتمتة الاختبار والعمليات: استبدل الاختبار اليدوي المتكرر والعمل التشغيلي بتدفقات عمل موثوقة يشغّلها الآلة، من مجموعات اختبار مستمرة إلى أدلة تشغيل، ومعالجة، وجمع دليل امتثال، بحيث تتوسع الجودة والتحكم ويتحرر المهندسون الماهرون لمشاكل تتطلب حكمًا.
- 8.6 إدارة الإصدار والتسليم التدريجي: فك اقتران النشر عن الإصدار بحيث يكون شحن الشيفرة منفصلًا عن كشف ميزة، وطرح التغييرات تدريجيًا برايات ميزات، ونشرات قناة وأزرق-أخضر، وفحوصات صحة آلية وتراجع، وإصدارات محكومة بميزانية خطأ تقلّص نطاق انفجار أي تغيير.
- 8.7 أنظمة البناء وإدارة القطع: اجعل البناء قابلًا لإعادة الإنتاج، وسريعًا، وقابلًا للتخزين المؤقت، وعامل القطع كغير قابلة للتغيير، ومُرقَّمة بإصدار، وموقَّعة، مبنية مرة واحدة ومُرقَّاة عبر البيئات بمصدر وسلامة سلسلة توريد.
كيف تترابط هذه الفصول
تصف هذه الفصول طبقات نظام تسليم واحد، كل واحدة ترتكز على تلك تحتها. التكامل المستمر والتسليم المستمر (CI/CD، الفصل 8.1) النسيج الضام الذي يحمل التغيير من الالتزام إلى الإنتاج. لكن خط الأنابيب يحتاج شيئًا للنشر عليه، والبنية التحتية كشيفرة (8.2) توفر ذلك الهدف كتعريفات مُرقَّمة بإصدار وقابلة لإعادة الإنتاج بدل ندف ثلج مصنوعة يدويًا. الحاويات والتنسيق (8.3) الركيزة التشغيلية التي يفترضها خط الأنابيب والبنية التحتية المُقنَّنة بشكل متزايد، مانحة كل فريق عقد تعبئة ونشر متسقًا. تلف هندسة المنصة (8.4) بعدها كل هذا في منتج داخلي متماسك، بحيث تستخدم الفرق العادية خطوط الأنابيب، والبنية التحتية، والتنسيق عبر طرق مُعبَّدة بدل تجميعها من الصفر. تعمل أتمتة الاختبار والعمليات (8.5) عبر كل طبقة، مُضمِّنة بوابات جودة في خط الأنابيب ومُقنِّنة العمل التشغيلي والامتثالي الذي يبقي الملكية كلها صحية. ضعف في أي طبقة يقوّض تلك فوقها. خط أنابيب هش، أو بيئة ندفة ثلج، أو منصة غير محكومة كل واحد يعيد إدخال بالضبط المخاطرة اليدوية التي وُجِدت الأتمتة لإزالتها.
يتصل الجزء أيضًا خارجيًا. انضباط التسليم هنا هو التحقق الهندسي لتفكير التدفق وخط أنابيب التسليم في الجزء 11، خصوصًا الفصل 11.2، ويعتمد على ديناميكيات الطابور نفسها التي تحكم أي نظام عالي الإنتاجية. ما تبنيه هذه الفصول مقصود لتشغيله، فتقود مباشرة إلى العمليات والموثوقية في الجزء 9 (هندسة موثوقية الموقع في الفصل 9.1 وقابلية المراقبة في الفصل 9.2)، اللذان يعالجان النظام الجاري الذي تنشره الأتمتة. تُرضي مواضيع الحوكمة والامتثال-كشيفرة عبر الجزء 8 القيود الأمنية والتنظيمية المُحدَّدة في مكان آخر من الدليل، والمنصات الموصوفة هنا هي أيضًا حيث تعمل أحمال عمل الذكاء الاصطناعي والبيانات بشكل متزايد، رابطة هذا الجزء بمخاوف عمليات التعلم الآلي (MLOps) والبنية التحتية في الجزء 6. مقروءة معًا، تُظهر هذه الفصول كيف تشحن مؤسسة كبيرة برمجيات بسرعة بلا التخلي عن الأمان، أو الاتساق، أو التحكم.