اگر خراب نشده، درستش نکن
همه ما این را زیاد شنیدهایم، درست است؟ «اگر خراب نشده، درستش نکن.» مردم در همه جا از آن به عنوان راهی برای جلوگیری از بهبودها، نوسازی یا بازسازی استفاده میکنند. بسیاری از مردم این را میگویند و مانند بسیاری از چنین عباراتی، در ظاهر معقول به نظر میرسد. اما در عمل، واقعاً اینطور نیست یا حداقل به روشی که معمولاً استفاده میشود نیست چون به درستی درک نشده است.
این بسیار شبیه مفهوم گفتن به مردم است که همه تخممرغهایشان را در یک سبد نگذارند، که بیشتر اوقات در موقعیتهایی که قیاس تخممرغ و سبد قابل اعمال نیست یا از واقعیت معکوس است، اعمال میشود. اما چون یک عبارت حفظ شده است، فراموش میکنند که یک استعاره وجود دارد که باید ثابت بماند تا کار کند. میتواند به تصمیمات وحشتناکی منجر شود چون یک ترس غیرمنطقی بر پایه هیچ چیز ایجاد میکند.
به همین ترتیب، ایده عدم تعمیر چیزهایی که خراب نشدهاند از این نظریه میآید که چیزی که کاملاً خوب و کارآمد است نباید فقط به خاطر دستکاری از هم جدا شود و دوباره با هم کنار هم گذاشته شود. این منطقی است. اما به دلایلی، این منطق تقریباً هرگز به مواردی که منطقی بود اعمال نمیشود (حتی مطمئن نیستم مثال خوبی از یکی از این موارد بتوانم بیاورم) بلکه به دستگاههای پیچیدهای اعمال میشود که برای کارکرد صحیح نیاز به نگهداری و مراقبت منظم دارند.
البته اگر کفش شما خراب نشده، آن را از هم جدا نکنید و سعی نکنید دوباره آن را با چسب سر هم بگذارید. اما سیستمهای زیرساختی کسبوکار شما هیچ شباهتی به کفش ندارند. آنها سیستمهای زندهای هستند با سطوح عظیمی از پیچیدگی که در یک محیط دائماً در حال تغییر عمل میکنند. آنها به نگهداری، نظارت، بهروزرسانی و مواردی از این قبیل نیاز دارند تا سالم بمانند. مانند یک خودرو، اما به مراتب بیشتر.
هرگز، امیدواریم، نمیشنوید که کسی به شما بگوید تا زمانی که موتور گیر نکرده نیازی به تعویض روغن خودرویتان ندارید. البته که نه، حتی اگر هنوز خراب نشده، هدف انجام تعمیرات نگهداری برای جلوگیری از خراب شدن آن است. میدانیم که با یک خودرو، اگر صبر کنیم تا خراب شود، واقعاً خراب خواهد شد. به همین ترتیب پنچر نگه نمیداریم تا لاستیکهای پنچر از چرخها کنده شوند. این فقط منطقی نیست.
گفتن به کسی که سیستمها را نگهداری نکند تا دیر شود همان گفتن به آنها است که آنها را خراب کنند. یک خودروی به خوبی نگهداریشده ممکن است صدها هزار کیلومتر، شاید میلیونها کیلومتر دوام بیاورد. یکی بدون روغن خوششانس است اگر بتواند از شهر رد شود. خریدن یک موتور جدید هر چند روز به جای مراقبت از موتور فعلی به این معناست که ممکن است در طول عمرتان بدون خراب کردن یک موتور باشید.
همین موضوع برای زیرساخت کسبوکار شما نیز صدق میکند. کد پیر میشود، سیستمها فرسوده میشوند، فناوریهای جدید ظهور میکنند، نیازهای جدیدی وجود دارد، شبکه با دنیای بیرون تعامل دارد، ویژگیهای جدیدی مورد نیاز هستند، آسیبپذیریها و شکنندگیها شناسایی و رفع میشوند، بهروزرسانیها منتشر میشوند، حملات جدید توسعه مییابند و موارد دیگر. حتی اگر ویژگیهای جدیدی هرگز ایجاد نمیشدند، سیستمها باید به طور مداوم مدیریت و نگهداری شوند تا عملیات ایمن و قابل اعتماد را تضمین کنند - مثل یک خودرو اما هزار بار پیچیدهتر.
از نظر سیستمهای فناوری اطلاعات، خراب شدن به معنای قرار گرفتن غیرضروری در معرض هک شدن، سرقت داده، از دست رفتن داده، خرابی و ناکارآمدی است. در دنیای واقعی، باید سیستم را در همان لحظه که به نگهداری نیاز دارد، خراب در نظر بگیریم. چه مقدار باجافزاری امروز تهدید نبود اگر سیستمها به سادگی به درستی نگهداری میشدند؟ ما در فناوری اطلاعات باید قدم برداریم و توضیح دهیم که سیستمهای نگهدارینشده قبلاً خراب هستند، فاجعه فقط هنوز رخ نداده است.
اگر بخواهیم از شعار «اگر خراب نشده، درستش نکن» در فناوری اطلاعات پیروی کنیم، *تا* زمانی که دادههایمان دزدیده شده باشد صبر میکنیم تا آسیبپذیریها را وصله کنیم، یا تا زمانی که دادهها غیرقابل بازیابی شده باشند صبر میکنیم تا ببینیم آیا پشتیبانهای کاری داریم. البته این منطقی نیست. اما این چیزی است که اغلب پیشنهاد میشود وقتی مردم میگویند تا سیستمها خراب نشده آنها را تعمیر نکنید - آنها به شما میگویند بگذارید خراب شوند! مقاومت کنید، این نوع توصیه را نپذیرید. توضیح دهید که هدف نگهداری خوب فناوری اطلاعات، جلوگیری از خراب شدن سیستمها در صورت امکان است. اجتناب از فاجعه، به جای دعوت از آن.