[الجزء 3 من مشروع منصة آلاف المواهب] بعد أن أدت قرارات العمل والابتكارات الهندسية إلى زيادة أداء التسوق عبر الإنترنت خلال الأسبوع، ركزنا على تحسين تجربة المطورين واحتضننا SRE مرة أخرى.

لإطلاق ميزة جديدة قبل أسابيع قليلة من أسبوع التسوق عبر الإنترنت، كيف يمكن التأكد من أن الميزة الجديدة قادرة على الصمود أمام حشود الجمعة السوداء والحفاظ على ثقة العملاء في الموقع؟ اتخذ Zalando نهجًا جريئًا في ذلك العام، حيث أعاد إنشاء الحمل الهائل لأسابيع التسوق عبر الإنترنت مقدمًا في بيئة رسمية خلال أيام الأسبوع لاختبار الميزات الجديدة.
بعد أن دخل تطوير تكنولوجيا زالاندو مرحلة النضج، لم تعد عملية اتخاذ القرار الفني تتمتع بنفس الحرية التي كانت عليها عندما تم إطلاق Radical Agile لأول مرة، وبدلاً من ذلك، أصبح يقودها كبار المجتمع الهندسي، وتم وضع مخطط رادار تقني (Tech Radar). تم تطويره لمساعدة مئات الفرق في اتخاذ القرارات الفنية. يُطلب من جميع الفرق الرجوع إلى قائمة توصيات التكنولوجيا المشتركة هذه كمرجع لاختيار التقنيات للمشاريع الجديدة، ولا يحتاجون إلى إجراء تقييمات فنية من الصفر في كل مرة يتم فيها إطلاق مشروع جديد، ولكنهم يشيرون مباشرةً إلى توصيات القائمة للاختيار. نظرًا لأن كل فريق يشير إلى نفس مخطط الرادار التكنولوجي للاختيار، يمكن لـ Zalando التأكد من أن التقنيات المستخدمة في المشاريع المختلفة تقع ضمن نطاق قائمة التكنولوجيا المشتركة هذه لتحقيق التركيز التكنولوجي على مستوى الشركة. / دخل التطور التكنولوجي في زالاندو إلى مرحلة النضج، حيث اعتمد على الرادار التكنولوجي للتركيز على القرارات الفنية لمئات الفرق. من عام 2009 إلى عام 2019، شهد الجانب التنظيمي في زالاندو العديد من التغييرات، كما تطور الجانب الفني على نطاق واسع جدًا. بنية الخدمات الصغيرة اللامركزية. وفقًا للأرقام التي كشف عنها زالاندو في مؤتمر DevOpsCon لعام 2022 في برلين، بلغ عدد الخدمات الصغيرة في عام 2019 ما يصل إلى أربعة إلى خمسة آلاف. في هذا الوقت، دخل تطوير تكنولوجيا زالاندو مرحلة ناضجة. لم يعد اتخاذ القرار الفني مجانيًا كما كان الحال عندما تم إطلاق Radical Agile لأول مرة، وبدلاً من ذلك، يقوده مجتمع هندسي رفيع المستوى ومخطط رادار تقني (Tech Radar). تم تطويره لمساعدة مائتي فريق في اتخاذ القرارات الفنية. يعتمد تصميم مخطط الرادار التكنولوجي هذا على ممارسات شركة ThoughtWorks الاستشارية، ولكنه تم تطويره ليصبح الإصدار الحصري الخاص بشركة Zalando. لدى هذه الشركة الاستشارية ما يقرب من مائة مصطلح تقني تغطي أربع فئات: التكنولوجيا والأدوات والمنصات والأطر واللغات، وهي مقسمة إلى أربعة مستويات حسب درجة الاعتماد الموصى بها ومرتبة على مخطط راداري دائري مقسم إلى أربعة أرباع. في مخطط رادار التكنولوجيا هذا، يتم إدراج مستويات الاعتماد الموصى بها لأنواع مختلفة من التقنيات. يتم استخدام حلقات مختلفة لتمثيل مستويات مختلفة من التوصية. كلما كانت الحلقة أقرب إلى المركز، كلما ارتفع مستوى التوصية لهذه التقنية. قام زالاندو بتقييم احتياجاته وركز أخيرًا على التقنيات المتعلقة بتطوير البرمجيات، بما في ذلك أربع فئات رئيسية: تخزين البيانات، وإدارة البيانات، والبنية التحتية، ولغات التطوير. وينقسم مستوى الاعتماد الموصى به إلى أربعة مستويات، مكونة من أربع حلقات، تمثل كل حلقة مستوى توصية مختلفًا. تتضمن المستويات الأربعة: اعتماد (موصى به للتبني)، تجربة (موصى به للتجربة)، تقييم (مرحلة التقييم)، وانتظار (محجوز ولكن غير مستحسن). تشير التقنيات التجريبية الموصى بها إلى التقنيات التي لديها بالفعل مشاريع داخلية ناجحة وتستخدم على الأقل للتعامل مع المشكلات الحقيقية بدلاً من المواقف المحاكاة، كما أنها تولي أهمية للاعتماد على نطاق واسع وهي تقنيات يرغب كبار المسؤولين التنفيذيين في الاستثمار فيها على المدى الطويل . مستوى. تشير التقنيات المدرجة في مرحلة التقييم إلى مجموعة من التقنيات التي لها قيمة محتملة واضحة وتستحق الاستثمار، ومن خلال التحليل التلقائي لبيانات الخطط التجريبية في جميع المنتجات، يمكننا معرفة التقنيات التي تم اختبارها وجديرة بالاهتمام لإدراجها في مرحلة التكنولوجيا التجريبية. . الفئة الأخيرة من المستويات المحجوزة هي التكنولوجيا التي لا يوصى بها ولكن سيتم الاستمرار في صيانتها. فهي ليست غير متاحة للمشاريع الجديدة فحسب، بل لا يُنصح أيضًا باستخدامها في الخدمات الترويجية. يجب أن يكون نطاق تطبيق هذا النوع من التكنولوجيا تدريجيًا ضاقت. وستكون كل تقنية مصحوبة أيضًا بوثيقة وصف تقني، تسرد المزايا والعيوب والقيود وشروط الاستخدام والدروس المستفادة بعد استخدام التكنولوجيا، ولكل تقنية وثيقة، ويتم تجميع جميع الوثائق الفنية في قاعدة المعرفة التقنية. قام زالاندو أيضًا بتجميع قوالب وإرشادات لاعتماد هذه التقنيات الموصى بها على مخطط رادار التكنولوجيا، وستوفر الأدلة وصفًا للأسئلة المتداولة عند استخدامها، أو حالات استخدام من الفرق التي اعتمدتها، أو حتى مقارنات بين التقنيات البديلة المختلفة. .

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

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

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

حل مشكلة تجزئة عملية المطور وإنشاء موقع بوابة المطور

من أجل حل مشكلة سير عمل المطورين المجزأ، أنشأ قسم الإنشاءات بوابة المطورين Sunrise (Sunrise Platform) كأول موقع ويب يفتحه المطورون كل يوم عندما يذهبون إلى العمل. يشمل مستخدمو هذه المنصة مهندسي البرمجيات ومهندسي البيانات والمديرين الفنيين وعلماء البيانات ومديري المشاريع والمصممين وما إلى ذلك.

استنادًا إلى مشروع منصة إدارة تعلم الآلة مفتوح المصدر الخاص بـ Spotify Backstage، قام قسم البناء بدمج العديد من الأدوات التقنية الداخلية لـ Zalando ومكونات التطوير وقوالب التنفيذ والمستندات الفنية لتصميم منصة التطوير الداخلية المخصصة للخدمة الذاتية (منصة المطور الداخلية)، يتم تشغيل الواجهة على نحو سلس مثل منصة التعاون التجارية على مستوى المؤسسة، ويتم التركيز على تفاصيل تصميم تجربة المستخدم لتوجيه المطورين للبدء. حتى المطورين يمكنهم رؤية بيانات المراقبة المشتركة لنقاط الوصول المسؤولة مباشرةً على منصة Sunrise.

تجمع الصفحة الأولى التي يراها المطورون عند فتح منصة Sunrise جميع نقاط المعلومات شائعة الاستخدام في هذه الليلة، مما يسمح لهم بالبحث بسهولة عن التطبيقات المحددة المسؤولين عنها وواجهات برمجة التطبيقات شائعة الاستخدام، ومعرفة سريعًا من هو المالك المخصص لـ إذا لزم الأمر، يمكنك تقديم تذكرة مباشرة على هذه الصفحة لطلب المساعدة، بدلاً من الاضطرار إلى التقديم من خلال نظام آخر كما كان الحال في الماضي. تدمج الصفحة الرئيسية لمنصة Sunrise أيضًا جميع معلومات الأحداث الخاصة بنقاط الوصول التي يتحمل جميع المطورين المسؤولية عنها، بالإضافة إلى المستندات المرجعية التي يمكن الاشتراك فيها.

يمكن للمهندسين أو المستخدمين الآخرين التحقق من التقدم أو حالة كل مرحلة من مراحل دورة حياة المنتج، ومراقبتها في الوقت الفعلي، والتعاون مع الفرق والأفراد الآخرين لاستكشاف المشكلات وإصلاحها في عملية CI/CD. يمكن لأعضاء فريق Zalando أيضًا تشغيل التطبيقات الجديدة ونشرها باستخدام Sunrise.

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

على سبيل المثال، قاموا مباشرة بتعديل كود مصدر K8s لحل المشكلة، وتحويل K8s إلى نظام يمكنهم التحكم فيه لتطوير النظام الأساسي السحابي الأصلي الخاص بهم. على سبيل المثال، تستخدم منصة Sunrise وظيفة تغليف kubectl ذاتية التطوير والمخصصة.

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

وأشار زالاندو إلى توصيات كتاب "Accelerate: The Science of Lean Software and DevOps" (اسم النسخة الصينية التايوانية هو "The Science Behind Lean Software & DevOps") لتحديد أربعة مؤشرات لمصفوفة أداء المطور.

وهي تتضمن المهلة الزمنية وتكرار الإصدار ومتوسط ​​وقت الاسترداد (وقت استعادة الخدمة) ومعدل فشل التغيير (معدل فشل التغيير). وهذا هو بالضبط ما تمثله المؤشرات الأربعة المستخدمة في مفهوم مؤشر أداء DevOps المعروف DORA.

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

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

الهدف من تصميم موقع Zalando Sunrise هو "جعل المطورين سعداء ومنتجين!" فهو يوفر أفضل تجربة للمطورين ويقلل من العبء المعرفي للفريق الفني وفريق التطوير قدر الإمكان لزيادة سرعة التطوير والإنتاجية. كانت هذه هي المرة الأولى التي يكشف فيها زالاندو عن عملية تطوير منصة Sunrise في مؤتمر هندسة المنصات العام الماضي، حيث أكد هينينج جاكوبس، كبير المهندسين في زالاندو، على هذا الأمر.

من أجل حل مشكلة سير عمل المطورين المجزأ، أنشأ قسم الإنشاءات في زالاندو بوابة المطورين Sunrise (Sunrise Platform) كأول موقع ويب يفتحه المطورون كل يوم عندما يذهبون إلى العمل. / زالاندو

[الجزء 3 من مشروع منصة آلاف المواهب] بعد أن أدت قرارات العمل والابتكارات الهندسية إلى زيادة أداء التسوق عبر الإنترنت خلال الأسبوع، ركزنا على تحسين تجربة المطورين واحتضننا SRE مرة أخرى.

تستخدم Sunrise (Sunrise Platform) مشروع منصة إدارة تعلم الآلة مفتوح المصدر Backstage من Spotify كأساس، حيث تدمج العديد من الأدوات التقنية الداخلية لـ Zalando ومكونات التطوير وقوالب التنفيذ والمستندات الفنية لتصميم منصة التطوير الداخلية المخصصة للخدمة الذاتية (منصة المطور الداخلية). يمكن لمطوري Zalando استخدام منصة Sunrise للحصول على معلومات حول الأدوات والخدمات المتنوعة التي أنشأتها مختلف الأقسام وفرق المنتجات عبر الشركة، بالإضافة إلى الحصول على جميع خدمات الدعم في مكان واحد. / زالاندو

 

يمكن لمطوري Zalando مراجعة وإدارة التقدم المحرز في مشاريع المنتجات المسؤولين عنها بسرعة على منصة Sunrise. / زالاندو

احتضن SRE مرة أخرى بنشاط وقم بإنشاء قسم SRE مخصص

من ناحية أخرى، كما ذكرنا من قبل عند الحديث عن أسبوع التسوق عبر الإنترنت، أنشأ Zalando مرة أخرى فريق دعم SRE في عام 2019، حيث أنشأ بشكل مباشر قسمًا مخصصًا لـ SRE يتضمن فريق تسجيل السجل وفريق مصفوفة التتبع والحادث يسمح فريق الاستجابة والتدريب على بدء التشغيل لهذه المجموعة من الأشخاص بالتركيز على نفس الرؤية والأهداف من خلال نفس مجموعة مؤشرات الأداء الرئيسية.

وأشار أندرو هودن: "إن هدف قسم SRE هو إنشاء مجموعة من نماذج عمليات صيانة الأعمال الرئيسية، مع التركيز على تجربة العملاء وحل مشكلات المواءمة بين الأقسام." وقد شارك في عملية تطوير SRE في Zalando على مدار الأربع سنوات الماضية سنين.

صيانة الأعمال الرئيسية هي هدف مستوى الخدمة (SLO) الذي يركز على تجربة العملاء. من خلال قياس التفاعل بين العملاء وموقع الويب، يمكن دمج وجهات نظر المطورين والمديرين والعملاء في نفس مجموعة البيانات، ويمكن لهذه البيانات أن تكون كذلك. استخدامها لتحسين الموثوقية.

إنشاء فريق SRE مضمن لحل مشكلات الصيانة والتشغيل المحددة

إن وجود قسم SRE مخصص ليس كافيًا، فقد أنشأ Zalando أيضًا فريق SRE جديدًا يسمى Embedded SRE لحل التحديات الخاصة بعملية الدفع. على سبيل المثال، بعض المشترين المجانين سوف يستهدفون فجأة منتجات معينة للبيع بكميات كبيرة، مما يسبب بعض مشاكل النظام. يتضمن هذا النوع من مشكلات عملية الدفع التواصل والتعاون بين أكثر من اثني عشر تطبيقًا و4 أو 5 أقسام ومئات المهندسين. أندرو هودن هو قائد هذا الفريق ويقود مهندسين.

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

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

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

دمج الخبرة في حل مشاكل الصيانة في الصيانة اليومية

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

يعقد زالاندو اجتماعات المراجعة التشغيلية الأسبوعية (WORMs) كل أسبوع ويستخدم مجتمع المهندسين الرئيسيين هذا الاجتماع لمراجعة تقارير ما بعد التحليل ومراجعة مشكلات الصيانة المختلفة. ومع ذلك، فإن جودة تقارير التحليل هذه تختلف بشكل كبير، ويبذل المهندسون الكثير من الجهد لإعداد هذه المستندات.

يساعد تضمين فريق SRE على أتمتة عملية إنتاج تقارير التحليل هذه، كما يضيف اقتراحات التعديل المتعلقة بممارسات SRE، ويمكن إرسال التقرير تلقائيًا إلى هذا الفريق، ويمكن أيضًا إرسال التقرير تلقائيًا إلى فريق الإدارة الهندسية للمراجعة الأسبوعية .

في منتصف عام 2023، أكمل فريق SRE المضمن المشكلات التي تم إعداده في الأصل لحلها وأنهى مهمة هذا الفريق أيضًا. كما أنهى Andrew Howden رحلته في زالاندو في أغسطس وتحول ليصبح مستشارًا يقدم تدريب SRE.

ومع ذلك، فإن هندسة منصة Zalando لم توقف وتيرة التغيير ولا تزال تتطور.

قيم المقال
إظهار رمز التحقق
👩🏻‍🦱客服">
没有 账号?👨售后  忘记 密码؟