Как падают сложные системы

Vitalii Filiuchkov
7 min readJan 17, 2023

--

Original Copyright © 1998, 1999, 2000 by R.I.Cook, MD, for CtL

Photo by Sigmund on Unsplash

(Это краткий трактат о природе аварий; как оцениваются аварии; как авария связана с непосредственной причиной; и вытекающее из этого новое понимание безопасности пациентов)

Опасность — неотъемлемый атрибут сложных систем

Все интересные системы (например, транспорт, здравоохранение, производство электроэнергии) изначально и неизбежно опасны по своей природе. Иногда можно изменить количество опасных факторов, но процессы, задействованные в системе, сами по себе являются неотвратимо опасными. Именно наличие этих опасностей стимулирует создание многочисленных средств защиты от опасностей, характерных для этих систем.

Сложные системы надежно и успешно защищены от сбоев

Серьезные последствия возможного сбоя со временем приводят к созданию нескольких уровней защиты от этого сбоя. Системы защиты включают в себя как очевидные технические решения (например, резервное копирование, автоматизированные средства обеспечения техники безопасности) и человеческие компоненты (например, обучение, тренировки), а также различные организационные, институциональные и нормативные средства (например, описанные политики и процедуры, сертификация, рабочие инструкции, обучение команды). Результатом этих мер является создание ряда линий обороны, которые обычно отделяют операции от аварий и направляют работу системы в безаварийное русло.

Чтобы случилась катастрофа требуется множество сбоев — одного сбоя недостаточно

Система защиты работает. Системные операции, как правило, выполняются успешно. Явный катастрофический сбой происходит, когда объединяются несколько мелких, безобидных в сущности сбоев, создавая возможность для системной аварии. Каждый из этих небольших сбоев необходим, чтобы вызвать катастрофу, но только их комбинации достаточно, чтобы привести к результату. Другими словами, существует гораздо больше возможностей для аварий, чем явных случившихся системных аварий. Большая часть этих возможностей блокируется на ранней стадии созданными для этого средствами защиты, большинство дошедших до уровня эксплуатации блокируется соответствующими специалистами.

Сложные системы содержат постоянно изменяющийся набор скрытых в них сбоев

Сложность рассматриваемых систем делает невозможной их работу без множества внутренних ошибок. Поскольку каждая из них по отдельности неспособна привести к аварии, во время эксплуатации они рассматриваются как несущественные. Устранение всех этих ошибок ограничено в первую очередь экономическими затратами; кроме того, трудно заранее определить, как такие отказы могут привести к аварии. Набор ошибок в составе системы постоянно меняется вместе со сменой технологий, организацией работ и усилий по устранению сбоев.

Сложные системы работают в режиме ограниченной производительности (degraded mode)

Из сказанного выше следует, что сложные системы всегда работают как поврежденные системы. Система продолжает функционировать, поскольку содержит множество дополнительных средств обеспечения надежности, а также поскольку люди заставляют ее работать, несмотря на наличие множества ошибок. В ходе разбора случившихся аварий почти всегда отмечается, что в системе накоплена история «протоаварий», которые чуть не стали причиной катастрофы. Утверждение, что все эти ситуации должны были быть выявлены заранее, обычно основано на упрощенном понимании работы систем. Работа системы и результирующая производительность системы — непрерывно меняющееся сочетание сбоев и восстановлений компонентов (организационных, человеческих, технических).

Катастрофа всегда не за горами

Сложные системы всегда склонны к катастрофическим отказам. Работающие с этими системами инженеры почти всегда находятся в непосредственной физической и временной близости от этих потенциальных сбоев — катастрофа может произойти в любое время и практически в любом месте. Возможность катастрофического исхода — это неотъемлемое свойство сложных систем. Невозможно устранить возможность катастрофического сбоя системы — это сама природа сложных систем.

Поиск корневой причины аварии — в корне неверно

Поскольку системные аварии происходят как следствие сочетания множества ошибок, не существует единственной «причины аварии». Всегда существует множество факторов, несущественных поодиночке, но совместно ведущих к аварии. Поэтому невозможно определить «корневую причину» аварии. Расследования, направленные на выявление такой причины, основываются не на техническом понимании природы сбоя, а скорее на социальной потребности возложения на кого-то или что-то определенной вины за случившееся (Anthropological field research provides the clearest demonstration of the social construction of the notion of ‘cause’ (cf. Goldman L (1993), The Culture of Coincidence: accident and absolute liability in Huli, New York: Clarendon Press; and also Tasca L (1990), The Social Construction of Human Error, Unpublished doctoral dissertation, Department of Sociology, State University of New York at Stonybrook).

Ретроспективный взгляд искажает оценки человеческой деятельности после аварии

Знание последствий заставляет нас преувеличивать очевидность приведших к нему событий для специалистов. Это означает, что анализ работы людей, проводимый постфактум (в postmortem’ах), дает неточные результаты. Знание результатов мешает проводящему анализ объективно оценить поведение специалистов до аварии. Ему кажется, что люди «должны были знать», что те или иные события «неминуемо» привели бы к аварии. Необъективность ретроспективного анализа остается основным препятствием для расследования катастроф, в особенности — при экспертной оценке работы персонала.

Люди выполняют двойную роль: создают сбои и защищают от них

Специалисты управляют системой для того, чтобы получить продукт, ради которого эта система создана, и предотвратить аварии. Это неизбежная динамическая характеристика работы системы — постоянный поиск баланса между спросом на продукт и возможностью начала аварии. Сторонние наблюдатели редко осознают двойственность этой роли. В безаварийные времена основной является производственная роль; при возникновении сбоев подчеркивается роль защиты от сбоев. В любом случае сторонний наблюдатель не осознает постоянной и одновременной вовлеченности специалистов в исполнение обеих ролей.

Все действия инженеров — это азартная игра

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

Действия на “переднем крае” устраняют всю двусмысленность

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

Инженеры - адаптируемый элемент сложных систем

Специалисты и линейные руководители первого уровня активно адаптируют системы для получения максимальной производительности при минимуме аварий. Эта адаптация часто производится несистемно, от случая к случаю. Вот некоторые примеры такой адаптации:

  1. Реструктуризация системы для снижения влияния уязвимых элементов
  2. Концентрация ресурсов в областях, где ожидается наивысшая нагрузка
  3. Подготовка планов восстановления на случай ожидаемых и неожиданных сбоев.
  4. Создание средств раннего обнаружения отклонений в производительности системы с целью коррекции производительности системы или активации других средств повышения отказоустойчивости.

Уровень экспертизы специалистов в сложных системах постоянно меняется

Сложные системы требуют значительного опыта человека для их эксплуатации и управления. Этот опыт меняется по мере изменения технологий и из-за ротации экспертов. В любом случае, обучение и совершенствование навыков и экспертных знаний является одной из функций самой системы. В любой момент времени любую сложную систему будут обслуживать специалисты с разным уровнем экспертизы. Критические проблемы, связанные с экспертными знаниями, возникают из: 1) необходимости использовать редкие экспертные знания для наиболее сложных или важных производственных задач и 2) необходимости развивать экспертные знания для будущего использования.

Изменения приводят к новым видам аварий

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

Поиск «причины» снижает эффективность мер защиты от будущих сбоев

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

Безопасность — характеристика системы, а не ее компонентов

Безопасность это общее свойство системы; она не может быть сведена к сотруднику, устройству или отделу. Ее нельзя купить или произвести; она неотделима от других компонентов системы. Это значит, что безопасностью нельзя управлять как ресурсом. Состояние безопасности любой системы всегда динамично, непрерывные изменения системы ведут к непрерывным изменениям угроз и управления ими.

Люди непрерывно создают безопасность

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

Безаварийная работа требует опыта работы с авариями

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

Другие материалы автора:

--

--

Vitalii Filiuchkov

SRE Lead in Cloud Division of the largest telecom operator in Russia