Azure Chaos Studio помогает организациям проверять устойчивость приложений
Azure Chaos Studio помогает организациям проверять устойчивость приложений
Azure Chaos Studio помогает организациям проверять отказоустойчивость приложений, моделируя сбои, переключения на резервные серверы, нарушения работы сети и отказы инфраструктуры до того, как они повлияют на производственную среду
Вы не можете с уверенностью сказать, что ваше приложение отказоустойчиво, пока эта отказоустойчивость не будет проверена. Лучше узнать об этом, намеренно сломав его в тестовой среде и наблюдая за его реакцией, чем столкнувшись с сбоем в рабочей среде. Azure Chaos Studio — это наш управляемый сервис, предназначенный именно для этого, безопасно и целенаправленно.
Сегодня Azure Chaos Studio Workspaces находится в режиме публичного предварительного просмотра: это подход, ориентированный на сценарии, который позволяет тестировать режимы сбоев, реально встречающиеся у клиентов Azure в производственной среде. Мы усердно работали над тем, чтобы сделать Workspaces простыми в использовании, с широкой поддержкой сбоев и именованными сценариями, которые имитируют реальные сбои, а не отдельные ошибки.
Почему проектирования с учетом устойчивости недостаточно
Клиенты Azure инвестировали в отказоустойчивую архитектуру: многозонные развертывания, геоизбыточное хранилище, автоматическое переключение баз данных при сбое, логика повторных попыток, балансировка нагрузки на стороне клиента. Однако главный вопрос возникает, когда начинается инцидент: когда происходит сбой, восстанавливают ли эти механизмы ваше приложение в предполагаемые сроки?
В реальных сбоях архитектурная схема не учитывает специфику системы. Зонально-избыточное развертывание может завершиться неудачей из-за неправильной настройки проверки работоспособности, выполненной несколько лет назад. База данных с автоматическим переключением на резервный сервер может привести к сбою приложения, если строка подключения жестко привязана к одному региону. Геоизбыточное хранилище может на короткое время выдавать устаревшие данные для чтения, которые код приложения никогда не ожидал. Эти ошибки распространены и проявляются только при возникновении сбоя.
Надежность и отказоустойчивость в Azure — это общая ответственность . Microsoft отвечает за платформу и отказоустойчивость, заложенную в сервисы Azure . Клиенты отвечают за настройку этой отказоустойчивости и кода, который ее использует. Ни один уровень не компенсирует пробел в другом. Единственный способ узнать, выдержит ли ваша архитектура, конфигурация и логика приложения проверку в производственной среде, — это доказать их работоспособность в случае сбоя до того, как это проверит их на практике.
Как Chaos Studio Workspaces меняет подход к тестированию отказоустойчивости
Chaos Studio — это управляемая служба Azure для моделирования хаоса, предназначенная для проверки поведения приложений в условиях сбоев. Имитируя контролируемые сбои в инфраструктуре, сетях, базах данных и зависимостях приложений, она помогает командам выявлять уязвимости в отказоустойчивости до того, как они обнаружатся у клиентов. Рабочие пространства Chaos Studio ориентированы на сценарии, соответствующие ситуации в производственной среде, поэтому вы начинаете с реального сценария сбоя, а не с отдельных ошибок. Вы начинаете с именованного сценария, такого как «сбой зоны», «сбой DNS» или «переключение SQL» , уже заданного для ресурсов в рабочем пространстве.
Большинство сбоев задействуют сразу два уровня. Первый — это уровень платформы: восстановилась ли работа сервиса, завершилось ли переключение на резервный сервер в рамках целевого времени восстановления, была ли перенаправлена передача трафика. Второй — это уровень приложения: сохранил ли ваш код целостность данных, обработал ли выполняющиеся транзакции, повторил ли необходимые действия, корректно ли происходит снижение производительности. Тест на хаос, который останавливает только виртуальную машину (ВМ), позволяет оценить состояние уровня платформы. Сценарии в Chaos Studio Workspaces разработаны для проверки всей системы.
Рабочие пространства упрощают начало работы. Наиболее распространенная причина, по которой тестирование отказоустойчивости заходит в тупик, заключается в том, что команды не знают, с чего начать. Рабочее пространство — это новый ресурс верхнего уровня: вы указываете ему подписку или группу ресурсов, и его управляемое удостоверение определяет область действия и рекомендует подходящие сценарии. Эти сценарии отображаются внутри рабочего пространства, готовые к настройке и запуску, а обновление обновляет рекомендации при каждом изменении вашей инфраструктуры.
Библиотека реальных сценариев сбоев. Chaos Studio Workspaces поставляется с тщательно подобранными сценариями, основанными на закономерностях, наблюдаемых в реальных инцидентах Azure, поэтому тестируемые вами сценарии — это те, с которыми действительно сталкиваются клиенты. Рассматривайте их как шаблоны отказоустойчивости, быстрый способ тестирования режимов сбоев, которые чаще всего требуются командам, а если вам потребуется что-то другое, создайте свои собственные сценарии на основе той же библиотеки ошибок.
Доступно уже сегодня:
- Зона доступности отключена: масштабируемые наборы виртуальных машин (VMSS) отключаются с целевым назначением для каждой зоны, чтобы проверить маршрутизацию между зонами и восстановить работу.
- Отключение зоны доступности и переключение базы данных: Отключение вычислительной зоны в сочетании с переключением Azure Database for PostgreSQL (Flexible Server) позволяет отслеживать поведение переключения в соответствии с настроенными целями восстановления и обработкой подключений на стороне приложения.
- Сбой DNS: полный сбой разрешения DNS-имен из-за правил NSG, блокирующих трафик резолверов, для проверки поведения вашего приложения при сбое разрешения имен.
- Сбой в работе Microsoft Entra ID: ошибка поставщика идентификационных данных, проверяющая возможности повторной аутентификации, кэширования токенов и резервных путей.
- «Наплыв кэша»: очистка кэша Redis в сочетании с перезапуском базы данных и сбоем процесса App Service для проверки поведения в условиях шторма промахов кэша и вызванного этим всплеска активности базы данных. Вариант со сбоем процесса App Service в настоящее время поддерживает планы Windows App Service.
- Нарушение работы системы обмена сообщениями, управляемой событиями: Azure Service Bus и Event Hubs отключаются для проверки обработки недоставленных сообщений и обратного давления.
В основе каждого сценария лежат детальные действия на уровне API, разработанные для рабочих пространств :
- Зональное отключение VMSS
- Завершить процесс службы приложений
- Принудительное переключение на резервный сервер для Azure Database for PostgreSQL L (Flexible Server)
- Очистка управляемого Redis Azure
- Сетевые средства контроля на основе групп сетевой безопасности (NSG)
Каждый сценарий автоматически формирует необходимые ошибки. А если готовый сценарий не подходит для вашей рабочей нагрузки, вы можете создать свой собственный. Новый конструктор сценариев — это инструмент перетаскивания в портале Azure , позволяющий создавать пользовательские сценарии с помощью перетаскивания, располагая шаги, ветви и ошибки с той же гибкостью, что и классические эксперименты Chaos Studio, теперь доступные непосредственно в рабочих областях. Начните с готового шаблона или создайте сценарий с нуля, используя полную библиотеку ошибок.
Сбои в работе агентов виртуальных машин, такие как проблемы с центральным процессором (ЦП) и нехваткой памяти, также выполняются в рабочих пространствах . Каждый сценарий автоматически подбирает правильную комбинацию сбоев, поэтому запуск сценария «Отключение зоны + Переключение базы данных» не означает, что нужно думать в категориях «выключить экземпляры VMSS в зоне 1, а затем принудительно переключить основную базу данных». Библиотека будет продолжать развиваться в рамках публичного предварительного просмотра и в GA, и со временем планируется изучить дополнительные сценарии, такие как:
- резервирование учетной записи хранения при сбое
- Microsoft Azure SQL Managed Instance failover
- Microsoft Azure Front Door и Microsoft Azure Application Gateway
- Деградация частичной зоны
- Хаос подов, присущий Microsoft Azure Kubernetes Service (AKS).
- Регион, наблюдаемый клиентом, недоступен.
Эта же основа актуальна и для приложений ИИ, внедряемых в производство. Вспомогательные инструменты , агенты, конвейеры генерации с расширенными возможностями извлечения данных и конечные точки вывода могут вносить новые специфические для ИИ сбои, но они по-прежнему опираются на те же строительные блоки Azure, что и другие распределенные приложения: вычислительные ресурсы, базы данных, кэши, поисковые индексы, идентификация, сети, обмен сообщениями и хранилище. Chaos Studio Workspaces может проверить эту основу уже сегодня, используя такие сценарии, как отключение зоны, переключение на резервную базу данных, сбой DNS, перегрузка кэша и сбой в обмене сообщениями, вызванный событиями, в то время как каталог продолжает развиваться в направлении специфичных для ИИ моделей поведения, таких как изменение скорости извлечения данных, ограничение количества токенов и изменения поведения модели под нагрузкой, по мере того, как накапливаются новые данные в результате тесного сотрудничества с клиентами, создающими ИИ на Azure.
Отчеты по сценариям . После завершения выполнения сценария Chaos Studio Workspaces генерирует структурированный отчет о тренировке. В нем описывается, что именно было внедрено в результате сценария, какие ресурсы были затронуты, как развивался график восстановления, какие сигналы были связаны с тренировкой по сравнению с обычным базовым уровнем, и где рабочая нагрузка вела себя иначе, чем ожидалось. Отчет выглядит как внутренний анализ инцидента, что делает его полезным как для команды, проводившей тренировку, так и для руководителей, которые хотят регулярно проверять отказоустойчивость. Команды могут экспортировать его и прикреплять к заявкам на изменения, аудиторским документам или обзорам состояния сервисов.
Внедрение тестирования устойчивости в операции, использующие искусственный интеллект.
Наряду с продуктом мы предлагаем два способа управления Chaos Studio из инструментов, с которыми уже работают инженеры. Первый — это навык Chaos Studio для GitHub Copilot: он проведет вас через весь цикл в диалоге. Направьте рабочую область на подписку, посмотрите рекомендуемые сценарии, запустите детализацию и получите отчет о том, что произошло на самом деле , сопоставив его с сигналами Azure Monitor .
Второй вариант — это сервер протокола контекста модели (MCP), который предоставляет доступ к тем же операциям Chaos Studio в виде типизированных инструментов, поэтому другие помощники и автономные агенты: Claude, Cursor, Codex или ваш собственный, могут создавать рабочую область , запускать сценарий и запрашивать сигналы, связанные с ней, без участия человека. Оба варианта работают с одними и теми же API Chaos Studio и вашей собственной учетной записью Azure , и вы можете попробовать их уже сегодня .
Мы запускаем это в первый же день по одной причине: когда клиент спрашивает ИИ-помощника о Chaos Studio, этот опыт должен формироваться нами, а не импровизироваться большой языковой моделью (LLM), считывающей наш REST API. По нашему опыту, одна из самых сложных частей тестирования отказоустойчивости часто заключается в решении о том, стоит ли вообще проводить это тестирование, и это решение все чаще принимается с помощью инструментов чата, которые уже используют инженеры, поэтому это должно быть реализовано и там.
Куда это всё движется: навык становится этапом автоматизированных операционных процессов в Microsoft Foundry и одним из способов, с помощью которого агент Azure SRE проверяет собственные предположения о причинах сбоев рабочей нагрузки. Попробуйте и расскажите нам, чего не хватает; мы устраним эти пробелы в рамках публичного предварительного просмотра.
Начать
Сегодня Azure Chaos Studio Workspaces находится в режиме публичного предварительного просмотра. Планируемая дата выхода в общий доступ — конец 2026 года, однако она может измениться.
Для начала:
- Создайте рабочую область, ограниченную подпиской или группой ресурсов, которые вы хотите протестировать.
- Пусть система обнаружения автоматически подберет рекомендуемые сценарии для найденных ресурсов. Предпочитаете создавать собственные? Откройте конструктор сценариев и составьте пользовательский сценарий из библиотеки ошибок — написание скриптов не требуется.
- Проведите первое испытание. Если вы никогда не проводили эксперименты по анализу хаоса, запустите Zone Down . Полный отказ зоны доступности покажет, как размещение вычислительных ресурсов, переключение на резервную базу данных, разрешение DNS и логика повторных попыток на уровне приложений реагируют на стресс. Если ваша рабочая нагрузка восстановится в приемлемые сроки, вы получите данные о том, как она реагирует на одну из наиболее распространенных причин длительных простоев в облаке. Если нет, вы обнаружите проблему на своих условиях, а не на условиях ваших клиентов.
Устойчивость — это не то, что можно обеспечить с помощью одной функции, одного механизма резервирования или одного архитектурного решения. Это инженерная дисциплина, и эта дисциплина требует проверки. Azure Chaos Studio Workspaces — это способ сделать эту проверку стандартной для рабочих нагрузок Azure, включая рабочие нагрузки ИИ, которые все больше наших клиентов внедряют в производство
