Не дайте вашей ИТ-организации стать жертвой каскада ошибок. Превентивное планирование поможет вам остановить возможную цепь ошибок, считают опрошенные порталом InformationWeek эксперты.

Каскад ошибок описывает программный сценарий, в котором один отрицательный результат приводит к другому неправильному результату, который затем приводит к цепи сбоев. С этой проблемой уже столкнулись многие ИТ-руководители.

«Если одна ошибка смогла пройти через вашу систему сдержек и противовесов, это может легко привести к тому, что ошибок станет еще больше», — предупреждает Трой Портилло, директор по операциям платформы для онлайн-обучения Studypool.

При обнаружении ошибки ее всегда лучше сразу же исправить. «Чем дольше вы ждете, когда на ошибку обратят ваше внимание, тем выше вероятность того, что она приведет к каскаду ошибок, — говорит Портилло. — Ни одна система не совершенна, но быстрое реагирование на проблему — лучший способ избежать будущих проблем, вызванных первоначальной ошибкой».

Коренные причины

ИТ функционируют подобно электрической цепи, в которой все выключатели в линии должны быть выключены, прежде чем по ней пойдет ток, объясняет Томми Гарднер, технический директор HP Federal. «Часто должны последовательно случиться несколько ошибок, чтобы ... произошла драматическая потеря данных», — говорит он.

Каскадная серия ошибок может произойти, если упускаются из виду важные превентивные шаги. «Например, непрерывность операций может заставить ИТ-команду сосредоточиться на предполагаемой угрозе, — говорит Гарднер. — Но если время и внимание сотрудников отвлечены на другое, возможно, рутинные обновления не будут выполнены».

Опасности плохого дизайна

Часто причиной ошибок может быть плохой дизайн системы. «Если система не спроектирована, чтобы должным образом обрабатывать ошибки в подсистемах, то всего одна ошибка может привести к сбою, который повлечет за собой целую серию», — объясняет Том Чисхолм, главный инженер по решениям в области обучения в компании-разработчике ПО Perforce.

«Например, если веб-приложение неправильно обрабатывает ошибки подключения к базе данных, то одна ошибка может привести к сбою всего приложения, если другие части системы не устойчивы к такому сбою, — поясняет он. — Плохо составленные запросы к базе данных также могут запустить цепочку сбоев. Это может привести к тупиковым ситуациям в базе данных, что, в свою очередь, может привести к каскадным сбоям во фронтенде».

Профилактические меры

Гарднер считает, что лучший способ предотвратить потенциальную катастрофу — создание проактивной защиты: «ИТ-команды должны думать о нескольких проблемах одновременно, понимать пределы и ограничения своей системы и создавать структурированные протоколы, которых следует придерживаться на постоянной основе». Он советует обучать членов команды передовым ИТ-практикам, чтобы мелкие ошибки пользователей не переросли в более серьезные проблемы. И проводить независимое тестирование ПО, а также планировать регулярные обновления кода, чтобы быть уверенными в том, что как открытое, так и проприетарное ПО не содержит уязвимых мест.

Чисхолм также предлагает тщательно тестировать ПО перед его запуском. «Найдите единичные точки отказа в контролируемой среде, прежде чем обнаружить их в производстве», — рекомендует он.

Между тем, лучший способ предотвратить каскадные сбои или восстановиться после них — это обеспечить отказоустойчивость в каждой подсистеме и периодически проверять ее на отказоустойчивость, говорит Чисхолм.

Он также рекомендует использовать инструменты мониторинга, чтобы следить за состоянием и производительностью системы. «Будьте проактивны в решении любых возникающих проблем, — говорит Чисхолм. — Кроме того, регулярный просмотр журналов и метрик поможет выявить потенциальные проблемы до того, как они станут серьезными».

Разорвать цепь

Несмотря на тщательное планирование, проект все равно может стать жертвой последовательных ошибок. «Знание системы — лучший способ избежать череды ошибок, — советует Гарднер. — Создание прерывания в любой точке процесса может остановить череду ошибок».

Практика обычно заставляет совершенствоваться. Гарднер предлагает представить членам ИТ-команды заведомо дикие сценарии возникновения ошибок, а затем предложить им создать эффективные способы их предотвращения. «Это может быть забавным практическим занятием, и если вы сможете наладить сотрудничество между командами безопасности и ИТ, у вас будет больше возможностей избежать уязвимостей и проблем с функциональностью продукта», — говорит он.

Сохранять спокойствие и продолжать работу

Выход из череды сбоев требует безэмоционального и аргументированного подхода. «Часто к моменту возникновения каскада уже слишком поздно пытаться справиться с ним быстро и изящно, — замечает Чисхолм. — Более того, вы, скорее всего, работаете в режиме паники, и необдуманные попытки остановить каскад могут привести к ухудшению ситуации».

Он советует отойти подальше, выпить кофе или другой напиток на выбор и глубоко вдохнуть. А затем не спеша и рационально оценить причину каскадных сбоев.

Возможно, самым важным, после того как работа вернется в нормальное русло, будет выяснить, что именно пошло не так. «Проанализируйте сбой и недостатки отказоустойчивости, которые привели к катастрофе, и обновите свои системы, чтобы подобная ситуация не повторилась», — советует Чисхолм.