Концепция испытаний компьютерных систем с помощью имитации различных сбоев существует и применяется уже давно. Такие испытания иногда называют «хаос-инженерией», а в интернет-группе Chaos Community выработали даже строгое определение этого термина: «хаос-инженерия — это дисциплина проведения экспериментов в распределенных информационных системах с целью укрепления уверенности в способности системы противостоять турбулентным условиям в эксплуатационной среде» (см. также principlesofchaos.org/ru).
Применение хаос-инженерии — логичное решение в нынешних условиях, когда сети зачастую распределены по нескольким мультиоблачным платформам и постоянно подвергаются кибератакам, считает старший аналитик Forrest Research Дэвид Мутер. Распределенные системы слишком сложны. При испытаниях такой системы нельзя полагаться на понимание и предсказуемость ее работы. Разумеется, во избежание риска испытания систем проводятся не в эксплуатационной среде. Для них создаются две среды: испытательная и контрольная, что позволяет быть уверенным в том, что наблюдаемые эффекты возникли именно из-за имитированного сбоя, а не по какой-либо другой причине. Как и в научных экспериментах, специалисты, занимающиеся хаос-инженерией, формулируют гипотезу о том, что система сможет продолжить работу в случае сбоя и проверяют ее, сравнивая поведение испытываемой системы с контрольной.
При внедрении хаос-инженерии аналитик рекомендует придерживаться ряда выработанных на практике правил. В частности, к испытаниям нужно привлекать разработчиков приложений, чтобы они могли использовать полученную информацию в дальнейшей работе. Важно наладить коммуникацию в группах, чтобы об испытаниях знали все, кто работает с системами. Тогда они смогут правильно реагировать на сбои. Наконец, следует знать, что методы хаос-инженерии можно применять к любым сложным распределенным системам — в том числе к системам сетевой безопасности. Возможность сбоя системы безопасности остается всегда, и специалистам нужно уметь действовать в таких ситуациях.