نمو 100٪ سنويا و 400 ألف دورة في الدقيقة. تطور التنمية 2018-2020: العمليات والأفراد والتكنولوجيا والخطط

Mindbox - مليوني سطر من منطق الأعمال B2B تحت العبء. منتجاتنا: CDP ، برنامج الولاء ، تخصيص موقع الويب ، المعاملات والبريد بالجملة هي عناصر مهمة للبنية التحتية للأعمال من حيث الموثوقية وسرعة التشغيل.



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



هذا هو ثالث موقع تطوير سنوي ليوم الجمعة الأسود ، أسبوع الذروة. لماذا نعتقد في النهاية أننا عظيمون؟ ماذا فعلوا من أجل هذا. لماذا واجهنا الصعوبات وماذا نخطط للقيام به بعد ذلك.



ملخص: عمل سنتان لسبب وجيه



للعام الخامس على التوالي ، يتضاعف العبء على Mindbox سنويًا تقريبًا. في تشرين الثاني (نوفمبر) 2020 ، عالجنا 8.75 مليار طلب لواجهة برمجة التطبيقات ، مقارنة بـ 4.48 مليار قبل عام. الذروة 400 ألف طلب في الدقيقة. تم إرسال 1.64 مليار بريد إلكتروني و 440 مليون إشعار عبر الجوال. قبل عام ، كان هناك 1.1 مليار رسالة بريد إلكتروني ، ولكن لم يكن هناك أي دفعات تقريبًا.



ديناميكيات عدد الرسائل البريدية في الأسبوع في الجمعة السوداء:







وفقًا لبياناتنا ، هذا هو مستوى التحميل على طلبات واجهة برمجة التطبيقات مقارنة بـ hh.ru ، وعلى التحميل على قواعد البيانات - باستخدام Avito. حوالي ثلث Yandex-taxi عند الطلب في الدقيقة.



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



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



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



يوضح الرسم البياني انتهاكات اتفاقية مستوى الخدمة الداخلية (أكثر صرامة من الخارجية) ، والتي جعلناها أكثر صرامة هذا العام:





عدد الانتهاكات الداخلية لاتفاقية مستوى الخدمة من قبل عميل عادي.



لقد تمكنا من "إعادة اختراع" التطوير بالكامل في غضون عامين ، والاستمرار في النمو بمعدل متوسط ​​40٪ من الإيرادات سنويًا (في 2019 - 431 مليونًا ، في 2020 - 618 مليونًا) وإصدار ميزات جديدة. مشاعر - حول كيفية تغيير محرك السيارة بأقصى سرعة.



ما تم إنجازه خلال عامين:



  • (LESS) , , .
  • 50% , ( ) .
  • SRE. SRE .
  • , , .
  • SLA .
  • «-», .


هذا بعيد كل البعد عن التخطيط. نواصل زيادة حجم الموارد المخصصة للجودة. نتوقع مزيدًا من التحسينات في الجودة وإصدارًا أسرع للميزات الجديدة في عام 2021 وما بعده.



من جانب الطريق، ونحن نكتب بشكل منتظم حول التحديثات في المنتج والحفاظ على صفحة الحالة مع التاريخ من الحوادث .



اصول الصعوبات: 2008-2018



Mindbox هو منتج ذو منطق أعمال معقد ، منذ عام 2008 نقوم بتطويره كخدمة للشركات الكبيرة ، مع حصة من تكاليف التطوير تزيد عن 30٪. من وجهة نظر معمارية ، كان تطبيقًا تقليديًا مترابطًا ، ولكنه عالي الجودة: كل يوم نصدر ولا نزال نصدر العديد من التحديثات المتجانسة.



في عام 2014 ، جعلنا السوق نتجه نحو شريحة أكبر ، بما في ذلك التجارة الإلكترونية والتجزئة. هذا يتطلب الاستثمار في خدمة العملاء والمبيعات والتسويق.



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



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



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



ما هي التدابير التي اتخذناها



العمليات والموارد



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



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



اتفقنا على تخصيص 30٪ من المورد للديون الفنية بشكل مستمر. تم تشكيل فريق البنية التحتية الأول ، وبدأ إعادة تخصيص الفرق المستقلة. في الوقت نفسه ، تم الحفاظ على عدد من عمليات التعاون المركزية ، والتي تهدف في المقام الأول إلى الحفاظ على الجودة:



  • التصميم،
  • تحليل الخلل ،
  • نمذجة الحمل على الحديد ،
  • حالات العرض والمزامنة.


لقد أخذنا مسؤولية المهندسين المعماريين والفرق عن مقاييس الموثوقية وتوقعات تكلفة الخادم. بالإضافة إلى ذلك ، خصصنا 30٪ في كل فريق للديون الفنية والأخطاء أثناء انتظار استمرار العمل.



في عام 2020 ، استقرت العمليات: تم تشكيل فريق البنية التحتية الثاني ، وتم تعديل التسليم. بدأت حصة الموارد الخاصة بمهام الأعمال في النمو ببطء من نقطة منخفضة تبلغ حوالي 50٪ ، وبدأت حصة الأخطاء في الانخفاض:





توزيع موارد التطوير حسب المهام. الرسم البياني ليس



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



تم تقليل النقص في المهندسين بطريقتين:



  • أنشأنا مدرسة تطوير تخرج من 8 إلى 12 مطورًا مبتدئًا سنويًا. هؤلاء هم المطورون الذين لديهم خبرة مع مجموعتنا ، والذين نحن واثقون من قدراتهم. اليوم المدرسة لديها فريقان من 4 متدربين.
  • لقد زدنا بشكل منهجي كشوف المرتبات من أجل التنمية ، لأن نتائج الأعمال سمحت بذلك. نما متوسط ​​الراتب قيد التطوير من 120 ألف روبل في عام 2015 إلى 170+ في نهاية عام 2020 ويستمر في النمو. سمح لنا ذلك بتوظيف العديد من كبار السن الجدد والقادة التقنيين. وارتفعت حصة تكاليف التطوير إلى 28٪ ، وزاد عدد الأفراد من 27 إلى 64.


المقاييس والمقاييس والمقاييس التلقائية



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



لقد بدأنا بأتمتة أربعة مقاييس من كتاب Accelerate وتسريع خط أنابيب التسليم. هذا لم يكن له آثار فورية واضحة. لكن تبادل الخبرات مع hh.ru و Yandex-cloud قادنا إلى أتمتة مقياس انتهاك SLA والتثبيت التلقائي للعيوب. من الواضح أننا شعرنا هنا بالفائدة والارتباط بالجهود المبذولة. الرسم البياني لهذا المقياس مع الاتجاه موجود في بداية المنشور.



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



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



أخيرًا ، تُظهر استطلاعات الرأي ربع السنوية المجهولة (النصوص قد تحسنت منذ ذلك الحين ، لكن جوهر الاستطلاع لم يتغير) والتقييم العالي لـ Habr-Karer يُظهر انخفاضًا في مصيبة التنمية. يتعلق هذا بتقييم دخلها فيما يتعلق بالسوق والمصافي و eNPS (بيانات ربعين فقط حتى الآن).











استقصاء دخل المطور :







استقصاء شامل للمطورين: مطورو eNPS:





على مقياس من 1 إلى 10 ، ما مدى احتمالية أن توصي Mindbox كمكان للعمل؟



أخيرًا وليس آخرًا - التكنولوجيا



كل هذا جعل من الممكن تنظيم إعادة كتابة منتج مترابط - أكثر من مليوني سطر من التعليمات البرمجية على IIS + ASP.NET + NLB / Windows Service / MS SQL - في وقت واحد في جميع الاتجاهات:



  • واجهة برمجة تطبيقات Microservice والخلفية ، عندما يتم التعامل مع طلب عميل واحد لبوابة API بشفافية من خلال خدمات صغيرة متعددة ، بما في ذلك الطلبات المتزامنة (نمط الملحمة).
  • Microfront-end ، حيث تكون أقسام الواجهة منفصلة عن تطبيقات SPA الخلفية التي يمكن استضافتها في مستودعاتها الخاصة ، مع خط أنابيب التخطيط الخاص بها.
  • نقل الخدمات المصغرة متعددة المستأجرين من MS SQL إلى وحدات التخزين الموزعة القابلة للتوسع: Cassandra، lickhouse. كافكا بدلاً من RabbitMQ.
  • نقل التطبيق إلى .NET Core و linux والنقل الجزئي إلى Managed Kubernetes "Yandex-cloud". على الفور ، تم تقديم تقنيات SRE و DevOps الحديثة: OctopusDeploy + Helm و Prometheus و Grafana و Graylog + Sentry و Amixr.IO.


ربما نكون أحد العملاء الأكثر تحميلًا لـ Yandex Cloud ، لذلك تحدث نيكيتا برودنيكوف عن تنفيذنا و CTO المشترك للتغلب على الصعوبات مع Yandex في Yandex Scale 2020 .



في مقالتنا عن الجمعة السوداء ، يمكنك أن تقرأ عن مناهج القياس الرئيسية لدينا باستخدام مثال مكون القائمة البريدية الذي لم ينكسر العام الماضي ولم يكسر هذا.



مزيد من خطط التنمية



على الرغم من النتائج التي تم تحقيقها ، يجب أن أقول أنه تم إنجاز أقل من نصف ما تم التخطيط له. امام:



  • استمر في زيادة دخل المطورين وتوظيف أفضل الخبراء المتميزين والتقنيين
  • الفريق الثالث من مدرسة التطوير ، والذي سيسمح بتوظيف ما يصل إلى 12 مطورًا سنويًا
  • استمرار ترجمة التطبيق إلى .NET و k8s و Yandex-cloud ، والتحجيم التلقائي ، وتخطيط أزرق-أخضر مع التراجع الفوري
  • التحرك نحو الإنشاء التلقائي للحوادث في صفحة الحالة ، والتخلص من الإيجابيات الزائفة لـ SLA
  • الترحيل إلى .NET 5 و EF.Core و PostgreSQL (والمطورين إلى أجهزة MacBooks جديدة)
  • عزل العديد من القطع الكبيرة الحجم من المنولث


الرغبة الدافع لتنمو. NET المطورين tehlidov وSRE المتخصصين للرد على موقعنا مهمتنا أن hh.ru . سيكون من المثير للاهتمام ، يمكنك اكتساب خبرة فريدة في السوق والقيام بالأشياء.



منصات خارطة الطريق في عام 2021



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



سنضيف هذا العام إلى المنصة:



  • مُنشئ السيناريو .
  • تخزين والإبلاغ عن الطلبات المجهولة
  • المزيد من التقارير السريعة في الواجهة ( كما في دورتنا التدريبية )
  • التكامل مع BI
  • وحدة إشعارات دفع جديدة للهاتف المحمول ، بما في ذلك SDK جديد
  • القدرة على حذف أي كيانات بسرعة ، مع مراعاة التبعيات من بعضها البعض
  • المزيد من خوارزميات ML والعديد من التحسينات على الجودة الموجودة
  • المزيد من الصفحات في تصميم جديد مع استجابة محسنة للواجهة
  • التخصيص المبسط للتكاملات والميكانيكا القياسية


خطط 2022 أكثر طموحًا ، لكنني آمل أن أكتب عنها في غضون عام ، إذا كان التفاؤل مبررًا.



شكرا لك



مثل قصص نجاح العملاء ، هذه القصة هي ميزة أشخاص محددين أعبر لهم عن امتناني:



نيكيتا برودنيكوف ، كبير موظفي التكنولوجيا ، على الرؤية والاتساق والضغط المنتظم.



رومان إيفونين ، كبير المهندسين المعماريين ، من أجل الصبر وبناء الفريق والمسؤولية الواسعة والقيادة غير الرسمية والليالي الطوال.



إيغور كودرين ، رئيس قسم المعلومات ، لتأسيس خبرة SRE ورؤية وخلاص كل شيء عندما لا يعرف أحد كيف.



Rostislav و Leonid و Dmitry و Mitya و Ilya و Artyom و Alexey و Sergey و Nikolay و Ivan و Slava و Zhenya وغيرهم من المطورين والمنتجات والمهتمين التقنيين و SRE الذين جعلوا كل هذا حقيقة. آسف إذا لم أذكر أي شخص.



شكر خاص للعملاء الذين تحمّلوا رغم فشلنا وأعطينا الفرصة للتحسن. سنبذل قصارى جهدنا للحفاظ على تحسنها.



All Articles