Общие сведения о инженерии хаоса и устойчивости
Прежде чем приступить к использованию Azure Chaos Studio, полезно понять основные концепции проектирования надежности сайта.
Что такое устойчивость?
Никогда не было проще создавать крупномасштабные распределенные приложения. Инфраструктура размещена в облаке, а поддержка языков программирования разнообразна. Существует также множество компонентов и служб с открытым исходным кодом и размещенных компонентов и служб для сборки.
К сожалению, нет гарантии надежности для этих базовых компонентов и зависимостей, или для систем, построенных на них. Инфраструктура может работать в автономном режиме, и в любое время могут возникать нарушения работы службы или сбоя. Незначительные нарушения в одной области могут быть увеличены и имеют давние побочные эффекты в другом.
Приложения и службы должны планировать и устранять такие проблемы, как:
- Сбои служб.
- Нарушения известных и неизвестных зависимостей.
- Внезапная непредвиденная нагрузка.
- Задержки во всей системе.
Приложения и службы должны быть разработаны для обработки сбоев и защиты от нарушений.
Приложения и службы, которые имеют дело с стрессом и проблемами, являются устойчивыми. Надежность отдельных компонентов хороша, но устойчивость является свойством всей системы. Сквозная устойчивость системы должна быть проверена в интегрированной рабочей среде с условиями и нагрузкой, которая сталкивается в рабочей среде.
Что такое инженерия хаоса и внедрение ошибок?
- Проектирование хаоса: практика применения приложений и служб в реальном мире стрессов и сбоев. Цель заключается в создании и проверке устойчивости к ненадежным условиям и отсутствием зависимостей.
- Внедрение ошибок: акт введения ошибки в систему. Для целевых системных компонентов можно использовать различные ошибки, такие как задержка сети или потеря доступа к хранилищу. Вы можете создавать сценарии, из-за которые приложение или служба должны иметь возможность обрабатывать или восстанавливаться.
Эксперимент хаоса — это применение ошибок по отдельности, параллельно или последовательно в отношении одного или нескольких ресурсов подписки или зависимостей. Цель заключается в мониторинге поведения системы и работоспособности, чтобы вы могли действовать над любыми возникающими проблемами.
Эксперимент может представлять реальный сценарий, например отключение питания центра обработки данных или задержку сети на DNS-сервере. Его также можно использовать для имитации условий пограничных вычислений. Примерами являются черной пятницы покупкиprees или когда билеты на концерт пойдут на продажу для популярной группы.