ما يجب فحصه بعد النشر يعتمد على ما نشرته للتو
لقد دفعت للتو إصدارًا جديدًا إلى الإنتاج. خط الأنابيب أخضر. اكتمل النشر دون أخطاء. ماذا الآن؟
معظم الفرق تحدق في لوحة القيادة وتأمل ألا ينكسر شيء. لكن الإشارات المهمة تعتمد كليًا على ما نشرته. فحص نفس المقاييس لتطبيق وقاعدة بيانات وتغيير في البنية التحتية سيجعلك أعمى عن المشاكل الحقيقية. لكل نوع نشر أنماط فشل خاصة به، وتحتاج إلى مراقبة الإشارات الصحيحة لكل منها.
التطبيقات: راقب كيفية معالجة الطلبات
عند نشر إصدار جديد من تطبيق، أهم شيء هو معرفة ما إذا كان يعالج طلبات المستخدمين بشكل صحيح. هناك مقياسان يعطيانك الإجابة أسرع من أي شيء آخر: معدل الخطأ وزمن الاستجابة.
معدل الخطأ يخبرك بعدد الطلبات الفاشلة. إذا ارتفع معدل الخطأ بعد النشر مباشرة، فهناك خطأ ما. قد يكون خطأ برمجي في الكود الجديد، أو عدم تطابق في الإعدادات، أو عدم توافق مع بيئة الإنتاج. مهما كان السبب، المستخدمون يواجهون أعطالًا، وتحتاج إلى معرفة ذلك فورًا.
زمن الاستجابة يخبرك بالمدة التي يستغرقها التطبيق للرد على الطلبات. زيادة مفاجئة في زمن الاستجابة تعني أن الإصدار الجديد أبطأ. قد يستهلك موارد أكثر، أو يصطدم باختناق، أو يقوم باستدعاءات غير فعالة للخدمات اللاحقة. قد لا يرى المستخدمون أخطاء، لكنهم سيشعرون بالبطء، وهذا ضار بنفس القدر.
الإنتاجية هي إشارة مفيدة أخرى، خاصة للتطبيقات التي تخدم العديد من المستخدمين. تقيس الإنتاجية عدد الطلبات التي يمكن للتطبيق معالجتها لكل وحدة زمنية. إذا انخفضت الإنتاجية بينما بقي عدد المستخدمين كما هو، فإن الإصدار الجديد أقل كفاءة. هناك شيء في الكود يبطئ الأمور، حتى لو بدا معدل الخطأ وزمن الاستجابة طبيعيين.
هذه الإشارات الثلاث هي أول ما يجب فحصه بعد نشر تطبيق. إنها تعكس ما يختبره المستخدمون فعليًا. لا تعتمد على ما إذا كانت العملية لا تزال قيد التشغيل أو الحاوية مرفوعة. هذه تخبرك أن التطبيق حي، لكنها لا تخبرك إذا كان يعمل بشكل صحيح.
يُلخّص المخطط الانسيابي التالي المقاييس التي يجب فحصها أولاً بناءً على ما نشرته:
قواعد البيانات: تحقق من النسخ المتماثل والاستعلامات والاتصالات
قواعد البيانات لا تخدم الطلبات مباشرة مثل التطبيقات. إنها توفر بيانات للتطبيقات. لذا فإن الإشارات التي تحتاج إلى مراقبتها مختلفة.
حالة النسخ المتماثل (Replication) حاسمة. معظم قواعد البيانات في الإنتاج تستخدم نسخًا متماثلة لقراءة البيانات. إذا تأخر النسخ المتماثل أو تعطل بعد النشر، فقد تقرأ التطبيقات بيانات قديمة أو غير متناسقة. هذا خطير بشكل خاص بعد تغييرات المخطط (Schema) أو ترحيل البيانات. بضع ثوانٍ من تأخر النسخ المتماثل قد تكون مقبولة، لكن دقائق من التأخر تعني أن هناك خطأ ما.
أداء الاستعلامات هو الشيء التالي الذي يجب مراقبته. بعد نشر يغير المخطط، أو يضيف فهارس، أو يعدل كيفية كتابة التطبيق للبيانات، قد تصبح بعض الاستعلامات بطيئة فجأة. راقب الاستعلامات التي تستغرق وقتًا أطول من المعتاد أو الاستعلامات التي تبدأ في انتهاء المهلة. استعلام بطيء واحد يمكن أن يسحب التطبيق بأكمله إلى الأسفل.
عدد الاتصالات مهم أيضًا. قواعد البيانات لديها عدد محدود من الاتصالات. إذا تسبب النشر في تراكم الاتصالات أو تعليقها، فقد تنفد الاتصالات المتاحة في قاعدة البيانات. ستفشل الطلبات الجديدة، وسيبدو التطبيق معطلاً حتى لو كانت قاعدة البيانات نفسها سليمة.
حجم سجل المعاملات (Transaction Log) هو إشارة أقل وضوحًا لكنها مهمة. قواعد البيانات تكتب سجلات لكل تغيير. إذا غيّر النشر كيفية كتابة التطبيق للبيانات، فقد ينمو السجل أسرع من المعتاد. بدون تنظيف مناسب، يمكن للسجل أن يملأ القرص ويوقف قاعدة البيانات. عادة ما يكون لدى فرق قواعد البيانات حد آمن لحجم السجل. إذا تجاوزه، يلزم اتخاذ إجراء.
البنية التحتية: ابدأ بصحة العقدة
تشمل نشرات البنية التحتية تغييرات في الخوادم أو الحاويات أو الشبكات أو موارد السحابة. أول إشارة يجب فحصها هي صحة العقدة (Node Health). هل الخادم أو الحاوية لا يزال حيًا؟ هل استخدام المعالج والذاكرة ضمن النطاقات الطبيعية؟ هل القرص يمتلئ؟
البنية التحتية السليمة هي شرط أساسي لتشغيل التطبيقات وقواعد البيانات بشكل صحيح. إذا استمرت عقدة في إعادة التشغيل أو نفدت مواردها، فسيعاني كل شيء يعمل فوقها. صحة العقدة هي خط الأساس. إذا كان ذلك معطلاً، فلا شيء آخر يهم.
إشارات الشبكة مهمة أيضًا، خاصة بعد تغييرات قواعد جدار الحماية أو موازنات التحميل أو شبكات الخدمات (Service Meshes). راقب زيادة زمن الاستجابة بين العقد، أو فقدان الحزم، أو الاتصالات المسقطة. غالبًا لا تظهر هذه المشاكل مباشرة في مقاييس التطبيق، لكنها تسبب أعطالًا غامضة يصعب تصحيحها.
الإشارات مترابطة، لكن ابدأ بواحدة
إشارات التطبيق وقاعدة البيانات والبنية التحتية ليست منعزلة. تطبيق بطيء قد يكون سببه قاعدة بيانات بطيئة. قاعدة بيانات بطيئة قد يكون سببها عقدة بنية تحتية نفدت ذاكرتها. للحصول على الصورة الكاملة، تحتاج إلى قراءة الإشارات من الطبقات الثلاث معًا.
لكن عندما تحتاج إلى اتخاذ قرار سريع بعد النشر، عادة ما يكون لكل فريق إشارة رئيسية واحدة يراقبها. فرق التطبيقات تراقب معدل الخطأ وزمن الاستجابة. فرق قواعد البيانات تراقب النسخ المتماثل وأداء الاستعلامات. فرق البنية التحتية تراقب صحة العقدة. ابدأ من هناك. إذا بدا شيء غير طبيعي، تعمق في الطبقات الأخرى للعثور على السبب الجذري.
قائمة تحقق عملية للتحقق بعد النشر
- لنشرات التطبيقات: تحقق من معدل الخطأ وزمن الاستجابة والإنتاجية خلال أول خمس دقائق.
- لنشرات قواعد البيانات: تحقق من تأخر النسخ المتماثل والاستعلامات البطيئة وعدد الاتصالات وحجم سجل المعاملات.
- لنشرات البنية التحتية: تحقق من صحة العقدة واستخدام المعالج والذاكرة ومساحة القرص وزمن استجابة الشبكة.
- إذا بدت إشارة واحدة غير طبيعية، تحقق من الإشارات ذات الصلة في الطبقات الأخرى للعثور على السبب الحقيقي.
الخلاصة
لا تستخدم نفس لوحة القيادة لكل نشر. الإشارات المهمة تعتمد على ما غيرته للتو. التطبيقات تحتاج مقاييس مستوى الطلب. قواعد البيانات تحتاج مقاييس طبقة البيانات. البنية التحتية تحتاج مقاييس الموارد والشبكة. اعرف الإشارات التي يجب مراقبتها لكل نوع نشر، وستكتشف المشاكل قبل أن يكتشفها المستخدمون.