بناء نظام مرن: رحلتنا إلى إمكانية الملاحظة في Intercom

نشرت: 2022-07-14

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

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

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

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

ماذا نعني بملاحظة في الاتصال الداخلي؟

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

دعنا نقسم ذلك أكثر بقليل:

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

المرحلة الأولى: المشكلة والحل

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

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

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

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

لوحة معلومات تشغيلية نموذجية استخدمناها قبل مضاعفة الآثار

لماذا اثار؟

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

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

بعض أنواع المرئيات التي يمكن تشغيلها بواسطة الآثار

المرحلة 2: تنفيذ الآثار

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

"بدلاً من استخدام أدوات تطبيقنا بآثار من البداية ، استخدمنا مكتبة تتبع حالية تصادف وجودها في التبعيات بالفعل"

لتوفير الوقت ، استخدمنا بائعنا الحالي ، Honeycomb ، لإثبات مفهومنا. لقد بنينا بالفعل علاقة رائعة معهم أثناء استخدام أداتهم للأحداث المنظمة في الماضي.

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

تمكين زملائه من تبني آثار

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

"لم نركز على المهندسين فقط - لقد تحدثنا مع المديرين ومديري البرامج الفنية وأعضاء فريق الأمان وممثلي دعم العملاء للتأكيد على كيف يمكن للآثار أن تساعدهم في حل مشكلاتهم المحددة"

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

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

المرحلة 3: تحديد البائع المناسب

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

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

"أردنا التحكم الكامل في طريقة أخذ عينات البيانات والاحتفاظ بها"

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

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

التسعير : أردنا مخطط تسعير بسيط يمكن التنبؤ به يرتبط بالقيمة التي نحصل عليها من الأداة. بدا فرض رسوم على كمية البيانات المحتجزة والمكشوفة عادلاً.

مقاييس المشاركة : أردنا أن يكون البائع شريكًا جيدًا وأن يساعدنا على تتبع اعتماد الأداة وفعاليتها من خلال الكشف عن مقاييس الاستخدام الرئيسية ومستويات المشاركة.

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

بعد عام مليء بالتحديات من العمل ، أكملنا الجزء الفني من برنامج المراقبة. هذا ما حققناه:

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

المرحلة 4: زيادة التبني

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

البحث عن المفقودين في بيئة التنمية

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

يمكن أن يكون من الصعب قراءة السجلات وتفسيرها ، بينما تكون طرق العرض أكثر تنظيماً وتنظيمًا

اختصارات استعلام Slackbot

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

نحن نبسط سير عمل المراقبة لدينا باستخدام Slackbot الذي يوفر اختصارًا لاستعلام شائع ضمن أدوات المراقبة الخاصة بنا

المرحلة الخامسة: تأملات والخطوات التالية

قياس التبني

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

يوضح هذا الرسم البياني الزيادة في عدد مستخدمي قرص العسل النشطين منذ بدء تمكين إمكانية الملاحظة

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

مخطط شريطي يوضح عدد مشكلات GitHub حيث تم ذكر Honeycomb في العنوان أو الوصف

تدفقات عمل غير متوقعة

مكّن بناء أساس قوي للمراقبة من سير العمل الذي لم نكن نتخيله من قبل. هنا بعض المفضلات الينا:

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

تحسين تدقيق الأمان : سمحت لنا القدرة على الاحتفاظ بنسبة 100٪ من المعاملات المحددة بالحفاظ على جميع التفاعلات مع وحدة التحكم في بيانات الإنتاج لدينا ، مما يساعد على الأمن في إنشاء رؤية أفضل للوصول إلى بيانات عملائنا.

ماذا بعد؟

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

هل أنت مهتم بالانضمام لفريقنا؟ تحقق من أدوارنا الهندسية المفتوحة هنا.

وظائف CTA - الهندسة (أفقي)