Chaos Engineering ― это практика, при которой намеренно создаются ситуации сбоев в работе бизнес-сервиса для улучшения его надёжности. Это помогает избежать репутационных и финансовых проблем.
Практика позволяет:
- проверить устойчивость приложения;
- выявить слабые места и скрытые проблемы в проектировании и масштабировании;
- улучшить работу системы в реальных условиях использования.
Особенно это актуально для онлайн-сервисов ― финансовых и медицинских учреждений, телекоммуникационных и транспортных компаний, интернет-магазинов, соцсетей.
При проведении испытаний выполняется имитация отказа компонентов серверов, сетевой инфраструктуры или точечные отказы приложений. Обычно это делают при помощи стандартной модели испытаний, которую создали представители крупных IT-компаний со всего мира и участники международного сообщества
Awesome Chaos Engineering.
Кратко о том, как проводится имитация сбоя по хаос-инжирингу ↓
Определяем устойчивое состояние бизнес-сервиса. Этот шаг позволяет зафиксировать отправную точку, в которую нужно будет вернуться после проведения моделирования сбоя. Относительно устойчивого состояния ― стабильного рабочего состояния системы ― происходит изменение отклонения от нормы.
Формулируем гипотезу на основе реальных событий, таких как падающие сервера, неисправные жёсткие диски, нарушенное сетевое соединение. Готовимся к моделированию сбоя. Источником идей для формулирования гипотезы служат прошлые инциденты, известные слабые места технологий, которые используются в тестируемом продукте.
Моделируем сбой. Фиксируем все события, которые происходят во время эксперимента. На основании этих данных будет приниматься решение о найденном потенциальном отказе приложения.
Автоматизируем эксперимент и выполняем его постоянно. В каждой следующей версии бизнес-сервиса могут обнаружиться новые скрытые сбои. И постоянное выполнение моделирований позволяет защитить новые версии от потенциальных сбоев.