درس ۷ از ۱۲

برنامه بازگشت به وضعیت قبل

این درس درباره برنامه بازگشت به وضعیت قبل است؛ مسیر را مرحله‌به‌مرحله جلو می‌بریم: اول مفهوم، بعد مشاهده در سیستم واقعی و در آخر عیب‌یابی؛ وقتی درس تمام شد باید بتوانی با ابزارهای شبکه، Logها و مقایسه قبل و بعد وضعیت این بخش را بررسی کنی و نتیجه را با حالت سالم مقایسه کنی در این درس تمرکز روی روش فکر کردن در رخداد واقعی است؛ به جای آزمون‌های تصادفی باید Scope، Timeline، Recent Change و Evidence را مشخص کنی و هر تست را برای تأیید یا رد یک فرضیه انجام بدهی؛ هدف فقط رسیدن به Fix نیست، بلکه باید بتوانی علت، نتیجه تست‌ها، Validation و اقدام پیشگیرانه را توضیح و مستند کنی

این درس برای مطالعه کامل نوشته شده است

با حوصله بخوان، مثال‌ها را تحلیل کن و تمرین‌ها را انجام بده؛ هدف حفظ کردن تعریف‌ها نیست

تغییر مهم روش برگشت داشته باشد

برای تغییر مهم قبل از اجرا مشخص کن چگونه و در چه زمانی به وضعیت قبل برمی‌گردی. Backup داشتن به‌تنهایی بازگشت امن Plan کامل نیست Change Enablement بر این تأکید دارد که تغییر با ارزیابی ریسک، مجوز متناسب، زمان‌بندی، برنامه اجرا، معیار موفقیت و راه بازگشت کنترل شود؛ حتی تغییر کوچک اگر روی سرویس مشترک انجام شود می‌تواند دامنه اثر بزرگی داشته باشد؛ قبل از اجرا باید وضعیت فعلی ثبت شود، وابستگی‌ها شناخته شوند و بعد از تغییر هم آزمون فنی و تأیید کارکرد سرویس انجام شود؛ اگر شرایط از برنامه خارج شد، توقف و Rollback بخشی از اجرای حرفه‌ای است برای اینکه این مفهوم در محیط واقعی قابل استفاده شود، عیب‌یابی حرفه‌ای یعنی مسئله را کوچک کنی نه اینکه تعداد تغییرها را زیاد کنی؛ Scope، Timeline، Recent Change و Evidence چهار ستون اولیه‌اند؛ سپس هر Test باید یک فرضیه را تأیید یا رد کند و نتیجه ثبت شود؛ اگر یک Test اطلاعات جدیدی نمی‌دهد، صرف تکرار آن ارزش تشخیصی ندارد برای عیب‌یابی درست، این بخش را فقط به‌عنوان یک اصطلاح حفظ نکن و توجه داشته باش که در رخداد پیچیده، لایه‌ها را جدا کن و یک نقطه سالم مرجع پیدا کن؛ مقایسه Client سالم و مشکل‌دار، Port سالم و مشکل‌دار یا زمان قبل و بعد از Change می‌تواند تفاوت معنی‌دار را آشکار کند؛ وقتی علت پیدا شد، Workaround و Root Cause را از هم جدا ثبت کن و بعد از Fix سرویس را از دید کاربر و Monitoring تأیید کن

Backup با بازگشت امن یکسان نیست

Backup با بازگشت امن یکسان نیست بازگشت امن، برنامه و اقدام بازگرداندن سیستم به وضعیت قبل از تغییر است؛ Trigger مشخص کن که چه زمانی باید تغییر را متوقف و برگردانی داشتن Backup بدون دانستن روش و زمان Restore، بازگشت امن کامل نیست Backup نسخه‌ای جدا از داده اصلی برای بازیابی بعد از حذف، خرابی یا حادثه است؛ موفقیت Job، محل نگهداری، Retention و Test Restore را با هم ببین کپی روی همان Storage اصلی در برابر خرابی همان Storage محافظت کافی نمی‌دهد Backup زمانی ارزش عملی دارد که بازیابی آن قابل انجام و آزموده شده باشد؛ RPO مشخص می‌کند چه مقدار از داده از نظر زمانی می‌تواند از دست برود و RTO مدت قابل قبول برای بازگرداندن سرویس را بیان می‌کند؛ برنامه Backup باید با این دو هدف، اهمیت سرویس، محل نگهداری نسخه‌ها و تهدیدهایی مانند خرابی، خطای انسانی و باج‌افزار هماهنگ شود؛ آزمون Restore، ثبت نتیجه و نگهداری نسخه‌ای جدا یا محافظت‌شده بخش مهم اطمینان از قابلیت بازیابی است اگر بخواهی این بخش را از حالت تعریف به مهارت عملی تبدیل کنی، در رخداد پیچیده، لایه‌ها را جدا کن و یک نقطه سالم مرجع پیدا کن؛ مقایسه Client سالم و مشکل‌دار، Port سالم و مشکل‌دار یا زمان قبل و بعد از Change می‌تواند تفاوت معنی‌دار را آشکار کند؛ وقتی علت پیدا شد، Workaround و Root Cause را از هم جدا ثبت کن و بعد از Fix سرویس را از دید کاربر و Monitoring تأیید کن

Trigger برگشت از قبل مشخص باشد

قبل از تغییر مشخص کن چه نشانه یا زمانی باعث می‌شود ادامه ندهی و بازگشت امن کنی؛ بدون Trigger ممکن است تیم بیش از حد روی تغییر ناموفق بماند بازگشت امن Trigger را قبل از اجرا تعریف کن؛ مثلاً شکست Health Check حیاتی یا عبور از زمان مشخص، تا تصمیم برگشت زیر فشار لحظه‌ای مبهم نباشد Change Enablement بر این تأکید دارد که تغییر با ارزیابی ریسک، مجوز متناسب، زمان‌بندی، برنامه اجرا، معیار موفقیت و راه بازگشت کنترل شود؛ حتی تغییر کوچک اگر روی سرویس مشترک انجام شود می‌تواند دامنه اثر بزرگی داشته باشد؛ قبل از اجرا باید وضعیت فعلی ثبت شود، وابستگی‌ها شناخته شوند و بعد از تغییر هم آزمون فنی و تأیید کارکرد سرویس انجام شود؛ اگر شرایط از برنامه خارج شد، توقف و Rollback بخشی از اجرای حرفه‌ای است برای عیب‌یابی درست، این بخش را فقط به‌عنوان یک اصطلاح حفظ نکن و توجه داشته باش که عیب‌یابی حرفه‌ای یعنی مسئله را کوچک کنی نه اینکه تعداد تغییرها را زیاد کنی؛ Scope، Timeline، Recent Change و Evidence چهار ستون اولیه‌اند؛ سپس هر Test باید یک فرضیه را تأیید یا رد کند و نتیجه ثبت شود؛ اگر یک Test اطلاعات جدیدی نمی‌دهد، صرف تکرار آن ارزش تشخیصی ندارد

زمان بازگشت امن محاسبه شود

بازگشت امن، برنامه و اقدام بازگرداندن سیستم به وضعیت قبل از تغییر است؛ Trigger مشخص کن که چه زمانی باید تغییر را متوقف و برگردانی Change Enablement بر این تأکید دارد که تغییر با ارزیابی ریسک، مجوز متناسب، زمان‌بندی، برنامه اجرا، معیار موفقیت و راه بازگشت کنترل شود؛ حتی تغییر کوچک اگر روی سرویس مشترک انجام شود می‌تواند دامنه اثر بزرگی داشته باشد؛ قبل از اجرا باید وضعیت فعلی ثبت شود، وابستگی‌ها شناخته شوند و بعد از تغییر هم آزمون فنی و تأیید کارکرد سرویس انجام شود؛ اگر شرایط از برنامه خارج شد، توقف و Rollback بخشی از اجرای حرفه‌ای است برای عیب‌یابی درست، این بخش را فقط به‌عنوان یک اصطلاح حفظ نکن و توجه داشته باش که در رخداد پیچیده، لایه‌ها را جدا کن و یک نقطه سالم مرجع پیدا کن؛ مقایسه Client سالم و مشکل‌دار، Port سالم و مشکل‌دار یا زمان قبل و بعد از Change می‌تواند تفاوت معنی‌دار را آشکار کند؛ وقتی علت پیدا شد، Workaround و Root Cause را از هم جدا ثبت کن و بعد از Fix سرویس را از دید کاربر و Monitoring تأیید کن

بعد از بازگشت امن بررسی نهایی شود

بررسی نهایی یعنی بعد از تغییر با معیار از پیش مشخص ثابت کنیم سرویس واقعاً سالم شده است؛ تست فنی و سناریوی واقعی کاربر را با هم ببین اینکه Error فعلاً دیده نمی‌شود به‌تنهایی کافی نیست Change Enablement بر این تأکید دارد که تغییر با ارزیابی ریسک، مجوز متناسب، زمان‌بندی، برنامه اجرا، معیار موفقیت و راه بازگشت کنترل شود؛ حتی تغییر کوچک اگر روی سرویس مشترک انجام شود می‌تواند دامنه اثر بزرگی داشته باشد؛ قبل از اجرا باید وضعیت فعلی ثبت شود، وابستگی‌ها شناخته شوند و بعد از تغییر هم آزمون فنی و تأیید کارکرد سرویس انجام شود؛ اگر شرایط از برنامه خارج شد، توقف و Rollback بخشی از اجرای حرفه‌ای است در کار روزمره بهتر است این موضوع را این‌طور بررسی کنی: عیب‌یابی حرفه‌ای یعنی مسئله را کوچک کنی نه اینکه تعداد تغییرها را زیاد کنی؛ Scope، Timeline، Recent Change و Evidence چهار ستون اولیه‌اند؛ سپس هر Test باید یک فرضیه را تأیید یا رد کند و نتیجه ثبت شود؛ اگر یک Test اطلاعات جدیدی نمی‌دهد، صرف تکرار آن ارزش تشخیصی ندارد

مثال محیط واقعی

فرض کن در یک رخداد عیب‌یابی واقعی مشکلی گزارش شده و احتمال می‌دهی به برنامه بازگشت به وضعیت قبل مربوط باشد. قبل از تغییر، وضعیت فعلی را با ابزارهای شبکه، Logها و مقایسه قبل و بعد بررسی می‌کنی و نتیجه را با یک حالت سالم یا مستند معتبر مقایسه می‌کنی. اگر شواهد فرضیه را تأیید کردند، فقط همان بخش مرتبط را تغییر می‌دهی و بعد همان تست را دوباره اجرا می‌کنی تا مطمئن شوی مشکل واقعاً برطرف شده است

اشتباهات رایج

این اشتباه‌ها را تکرار نکن

  • اینکه Error فعلاً دیده نمی‌شود به‌تنهایی کافی نیست
  • تغییر دادن تنظیمات مرتبط با برنامه بازگشت به وضعیت قبل قبل از اینکه مطمئن شوی مشکل واقعاً به همین بخش مربوط است
  • نتیجه‌گیری درباره برنامه بازگشت به وضعیت قبل فقط از روی یک نشانه و بدون انجام تست نهایی
تمرین عملی

حالا خودت انجام بده

  1. در یک نمونه آزمایشی مرتبط با برنامه بازگشت به وضعیت قبل، فقط وضعیت فعلی را مشاهده کن و سه نکته‌ای را که برای تشخیص حالت سالم مهم‌اند یادداشت کن
  2. با ابزارهای شبکه، Logها و مقایسه قبل و بعد وضعیت مرتبط با برنامه بازگشت به وضعیت قبل را بدون تغییر بررسی کن، سه داده واقعی جمع کن و توضیح بده هرکدام چه چیزی به تو می‌گویند
  3. یک خطای فرضی مرتبط با برنامه بازگشت به وضعیت قبل بنویس و مشخص کن اولین تست کم‌خطر تو چیست و چه نتیجه‌ای فرضیه‌ات را رد می‌کند

نکته‌هایی که باید با خودت ببری

  • تغییر مهم روش برگشت داشته باشد
  • Backup با بازگشت امن یکسان نیست
  • Trigger برگشت از قبل مشخص باشد
  • زمان بازگشت امن محاسبه شود
  • بعد از بازگشت امن بررسی نهایی شود
  • قبل از تغییر، محدوده مشکل را مشخص کن و از کم‌خطرترین تست شروع کن
خودسنجی

قبل از رفتن به درس بعد، جواب را برای خودت توضیح بده

این نکته را با یک مثال توضیح بده: تغییر مهم روش برگشت داشته باشد. بعد بگو در عمل چطور آن را بررسی می‌کنی.

برای تغییر مهم قبل از اجرا مشخص کن چگونه و در چه زمانی به وضعیت قبل برمی‌گردی. Backup داشتن به‌تنهایی بازگشت امن Plan کامل نیست

این نکته را با یک مثال توضیح بده: Backup با بازگشت امن یکسان نیست. بعد بگو در عمل چطور آن را بررسی می‌کنی.

Backup نسخه‌ای جدا از داده اصلی برای بازیابی بعد از حذف، خرابی یا حادثه است؛ موفقیت Job، محل نگهداری، Retention و Test Restore را با هم ببین

این نکته را با یک مثال توضیح بده: Trigger برگشت از قبل مشخص باشد. بعد بگو در عمل چطور آن را بررسی می‌کنی.

قبل از تغییر مشخص کن چه نشانه یا زمانی باعث می‌شود ادامه ندهی و بازگشت امن کنی؛ بدون Trigger ممکن است تیم بیش از حد روی تغییر ناموفق بماند

مطالعه درس همیشه عمومی است

برای ذخیره پیشرفت، دوره را رسمی شروع کن

با ثبت‌نام، تکمیل درس‌ها و نمره آزمون روی حساب ذخیره می‌شود

ثبت‌نام و شروع رسمی