@فاوادخالیقفواد خالق
مهندس ارشد SW @ Amazon EKS ، Kubernetes. مرا در توییتر fawadkhaliq دنبال کنید
چندی پیش ، در سال 2009 ، یک رفتار در سیستم (به عنوان مثال یک حالت اشتباه) بخشی از وقایع بود که منجر به از دست دادن پرواز 447 ایرفرانس شد. خلبانان با کشیدن چوب نسبت به از دست دادن ارتفاع واکنش نشان دادند ، یک واکنش مناسب با خلبان اتوماتیک کاملاً فعال شده است ، که باعث می شود هواپیما در یک پیکربندی کوهنوردی قرار گیرد. با این حال ، سیستم های هواپیما به دلیل مسدود بودن سنسور سرعت هوا ، به حالت اتوماسیون کمتری (از نظر ایرباس “قانون مستقیم”) وارد شده اند ، که به خلبانان اجازه می دهد هواپیما را در یک پیکربندی غرفه که دارای دماغه بالا است قرار دهند ، و از این طریق بهبود نیافتند.
ما برای ساختن نرم افزار و تکنیک های قابل اعتماد مسیری طولانی را طی کرده ایم ، با این وجود سیستم ها همیشه دائماً خراب می شوند. چه عاملی باعث می شود برخی سیستم ها بیش از سایرین مستعد خرابی شوند؟
اغلب اوقات ، شکست را به پیچیدگی نسبت می دهیم. این یک پاسخ منصفانه است اما تجربه و تکامل نرم افزار می گوید که موارد دیگری نیز وجود دارد. در حال اجرا بزرگ (در بعضی موارد ، به معنای واقعی کلمه بزرگترین) ، سیستم های پیچیده بیش از یک دهه ، یک الگوی که بارها می بینم حالت های خرابی یا حالت های کلی است. و اگر درست انجام نشود ، حالت ها می توانند یک سیستم را ذاتاً ناپایدار کنند. هر سیستم حالت های خرابی دارد اما …