توثيق بنيتك التحتية
البنية التحتية التي لا تُوثَّق لا يفهمها إلا شخص واحد، وحتى ذلك يعتمد على ما يتذكره يومها. قد تعتمد بيئة صغيرة على المعرفة غير المكتوبة مدةً من الزمن، لكن تكلفتها تظهر عند حدوث عطل في وقت غير مناسب أو احتياج شخص آخر إلى المساعدة. التوثيق يجعل البيئة مفهومة لمن لا يملك خبرتك بها، حتى عندما يضطر إلى التعامل معها ليلًا وتحت الضغط.
ابدأ بجرد الأنظمة
الجرد أكثر من قائمة بأسماء الأجهزة. سجّل لكل نظام ماهيته، ووظيفته، ومالكه، وطريقة الوصول إليه، والأنظمة التي تعتمد عليه، وما يعتمد عليه هو. أدرج أجهزة الشبكة، ومضيفي المحاكاة الافتراضية، والآلات الافتراضية، وأجهزة النسخ الاحتياطي، والخدمات التي تعمل على بنية مشتركة. فقد يُنسى نظام غير مدرج في الجرد أثناء الاستعادة.
اختر صيغة يسهل تحديثها والبحث فيها. يناسب جدول بيانات بيئة صغيرة، وقد تكون الملفات النصية المنظمة أو قاعدة بيانات بسيطة أنسب عندما تكبر البيئة. تجنّب مستندًا لا يملكه إلا شخص واحد أو يحتاج إلى تطبيق محدد لقراءته. يتيح جدول Markdown محفوظ بجانب الملاحظات البحث النصي ومراجعة الفروق، دون الاعتماد على تطبيق مكتبي بعينه.
إجراءات تشغيل للأعطال المهمة
دليل التشغيل خطوات قصيرة لتنفيذ مهمة محددة أو التعافي من عطل محدد. الأفضل أن يكتبه من يعرف المهمة عندما تكون الأنظمة سليمة، ثم يختبره شخص لم ينفّذها من قبل.
ابدأ بالأعطال الأكثر تكرارًا وإجراءات الاستعادة الأهم. ينبغي أن تتوافر خطوات إعادة تشغيل خدمة حرجة، أو استعادة نسخة احتياطية، أو إصلاح تعثّر النسخ المتماثل قبل وقوع المشكلة. رقّم الخطوات واجعلها واضحة ومختصرة بما يكفي لتنفيذها في جلسة واحدة. افترض أن القارئ متعب وتحت الضغط ولا يتذكر التفاصيل.
سجل التغييرات يحفظ السياق
يسجل سجل التغييرات ما تغيّر، ومتى، ولماذا، ومن نفّذه. وهو يختلف عن نظام التحكم بالإصدارات: الأخير يتتبع تغييرات الملفات، بينما يتتبع السجل تغييرات البنية التحتية. تندرج فيه قاعدة جدار حماية جديدة، أو تعديل DNS، أو تحديث خادم إنتاج، أو تغيير إعدادات النسخ الاحتياطي.
اجعل تسجيل التغيير قريبًا من العمل نفسه. إذا تطلّب إجراءً منفصلًا طويلًا فغالبًا سيُهمَل. يكفي عادةً ملف نصي مشترك أو إدخال منظم في نظام الجرد. الهدف هو الإجابة عن سؤال «ماذا تغيّر خلال الأسبوع الماضي؟»، وهو من أول أسئلة استكشاف الأعطال.
رسومات تجيب عن أسئلة محددة
تفيد الرسومات عندما توضح علاقات يصعب فهمها من قائمة. يستحق الصيانة رسمٌ يوضح شبكات VLAN التي تتصل بها الأجهزة، وأين تعبر الحركة بين المقاطع. أما الرسم الذي يحاول عرض كل شيء فيصبح صعب القراءة.
انتبه إلى الفرق بين الاتصال والسماح بالوصول. وجود جهاز في VLAN يحدد مقطعه الشبكي، ولا يحدد الموارد التي يُسمح له بالوصول إليها. تفرض قواعد جدار الحماية أو التوجيه سياسة الحركة بين المقاطع، ولذلك ينبغي أن يوضح الرسم مكان تطبيقها. تفصل إرشادات NIST SP 800-125B بين تقسيم الشبكة والتحكم بالحركة عبر جدران الحماية في الشبكات الافتراضية.
استخدم رسمًا لكل سؤال بدلًا من رسم واحد لكل الأسئلة: رسم للطوبولوجيا، وآخر لمسار النسخ الاحتياطي، وثالث للهوية والوصول. حدّثها عند تغيّر البنية، وإلا قد تصبح مضللة.
التحكم بإصدارات التوثيق
إذا كان التوثيق ملفات نصية، فضعه في نظام للتحكم بالإصدارات. ستتمكن من معرفة ما اختلف عن الشهر الماضي، وتتبع التغييرات، والتعاون على تحديثه. تستفيد حتى البيئة الصغيرة من مراجعة تغييرات التوثيق وتسجيلها مثل الشيفرة. وتربط رسالة تسجيل واضحة مع إحالة إليها في سجل التغييرات بين تاريخ الملفات وتاريخ التشغيل.
راجع التوثيق دوريًا
التوثيق الذي لا يُراجَع يتقادم. حدّد له مواعيد منتظمة؛ والمراجعة الفصلية نقطة بداية معقولة لبيئة صغيرة. بعد كل تغيير مهم راجع الأجزاء المتأثرة. وبعد كل حادثة، اسأل هل ساعد التوثيق في الاستجابة أم أعاقها، ثم صححه.
قائمة تحقق
- احتفظ بجرد يوضح وظيفة كل نظام واعتماداته.
- اكتب إجراءات للأعطال المتكررة والاستعادات الحرجة.
- حدّث سجل التغييرات ضمن تنفيذ التغيير نفسه.
- ارسم العلاقات التي تجيب عن أسئلة محددة.
- ضع الملفات النصية في نظام للتحكم بالإصدارات.
- راجع التوثيق كل ثلاثة أشهر وبعد التغييرات والحوادث المهمة.
- عامل التوثيق عملًا مستمرًا، لا مهمة تُنجَز مرة واحدة.