Общие сведения о инженерии хаоса и устойчивости

Прежде чем приступить к использованию Azure Chaos Studio, полезно понять основные концепции проектирования надежности сайта.

Что такое устойчивость?

Никогда не было проще создавать крупномасштабные распределенные приложения. Инфраструктура размещена в облаке, а поддержка языков программирования разнообразна. Существует также множество компонентов и служб с открытым исходным кодом и размещенных компонентов и служб для сборки.

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

Приложения и службы должны планировать и устранять такие проблемы, как:

  • Сбои служб.
  • Нарушения известных и неизвестных зависимостей.
  • Внезапная непредвиденная нагрузка.
  • Задержки во всей системе.

Приложения и службы должны быть разработаны для обработки сбоев и защиты от нарушений.

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

Что такое инженерия хаоса и внедрение ошибок?

  • Проектирование хаоса: практика применения приложений и служб в реальном мире стрессов и сбоев. Цель заключается в создании и проверке устойчивости к ненадежным условиям и отсутствием зависимостей.
  • Внедрение ошибок: акт введения ошибки в систему. Для целевых системных компонентов можно использовать различные ошибки, такие как задержка сети или потеря доступа к хранилищу. Вы можете создавать сценарии, из-за которые приложение или служба должны иметь возможность обрабатывать или восстанавливаться.

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

Эксперимент может представлять реальный сценарий, например отключение питания центра обработки данных или задержку сети на DNS-сервере. Его также можно использовать для имитации условий пограничных вычислений. Примерами являются черной пятницы покупкиprees или когда билеты на концерт пойдут на продажу для популярной группы.