Проектирование операций
|
---|
Тестирование сбоев в начале и часто в жизненном цикле разработки и определение влияния производительности на надежность. Для анализа первопричин и рассмотрения инцидентов необходимо обеспечить общую видимость состояния зависимостей и текущих сбоев между командами. Аналитические сведения, диагностика и оповещения из наблюдаемых систем являются фундаментальными для эффективного управления инцидентами и непрерывного улучшения.
Университет Contoso использует веб-приложение на основе микросервисов, которое предоставляет образовательные услуги, такие как онлайн-занятия, для преподавателей и студентов университета Contoso. Рабочая нагрузка основана на службе приложений Azure, базе данных SQL Azure, идентификаторе Microsoft Entra, Azure Key Vault, служебной шине Azure, Azure Monitor и Azure DevOps.
Реализация надежного мониторинга
создавать наблюдаемые системы, которые могут сопоставлять данные телеметрии.
Мониторинг и диагностика являются важными операциями. Если что-то пошло не так, необходимо знать, что именно произошло, когда это случилось и почему. Наблюдаемость на уровне компонента является фундаментальной, но агрегированная наблюдаемость компонентов и связанных потоков обеспечивает целостное представление о состоянии здоровья. Эти данные необходимы, чтобы инженеры по обеспечению надежности сайта могли расставить приоритеты в своих усилиях по исправлению.
вызов Contoso
- Приложение для обработки нагрузки развертывается как часть набора из пяти отдельных служб на нескольких функциональных уровнях.
- Команда хотела бы иметь возможность анализировать транзакции и запросы пользователей по мере прохождения различных уровней решения для выявления узких мест, которые могут привести к нестабильности и эффективному устранению неполадок при возникновении проблем.
Применение подхода и результатов
- Команда по управлению нагрузкой инструментирует элементы системы для записи журналов и метрик с помощью Application Insights и настраивает ведение журналов для всех сервисов платформы. Все журналы перенаправляются в рабочую область Azure Monitor для рабочей нагрузки.
- Данные в рабочей области AzM можно использовать для анализа работоспособности отдельных компонентов решения и агрегированных потоков и работоспособности решений.
- Сопоставление записей, относящихся к одному и тому же запросу между компонентами и уровнями, помогает команде определить работоспособность рабочей нагрузки и упростить их процессы устранения неполадок.
Прогнозирование потенциальных сбоев и аномального поведения
Сделайте видимыми активные неисправности с помощью приоритетных и действенных оповещений. Инвестируйте в надежные процессы и инфраструктуру, что приводит к более быстрой обработке.
Инженеры надежности сайта могут быть немедленно уведомлены, чтобы они могли устранять текущие инциденты в реальном времени и заранее устранять потенциальные сбои, выявленные прогнозными оповещениями, прежде чем они становятся активными инцидентами.
вызов Contoso
- Команда ожидает значительного увеличения трафика в начале каждого срока, так как учащиеся регистрируются на занятия, обращаются к учебным планам и покупают учебники.
- В течение этого критического периода учебного года команда должна обеспечить доступность достаточной емкости для увеличения ожидаемой нагрузки. Команда также должна быстро реагировать на другие потенциальные проблемы доступности, которые могут возникнуть.
Применение подхода и результатов
- Команда настраивает уровни веб-приложений и баз данных для автоматического масштабирования, чтобы иметь дополнительную емкость до ожидаемого увеличения спроса и продолжать выделять емкость по мере увеличения нагрузки.
- План реагирования на чрезвычайные ситуации корректируется, чтобы устанавливать, что оповещения, относящиеся к потокам, находящимся под нагрузкой в течение этого периода, приоритизируются группой реагирования на инциденты.
Проверка рисков надежности
Симулировать сбои и проводить тесты в производственных и предпроизводственных средах.
Полезно испытать сбои в рабочей среде, чтобы вы могли задать реалистичные ожидания для восстановления. Это позволяет принимать проектные решения, которые корректно реагируют на сбои. Кроме того, он позволяет протестировать пороговые значения, заданные для бизнес-метрик.
Задача от Contoso
- Обмен данными между веб-уровнем и службой REST регистрации учащихся в этой рабочей нагрузке зависит от сертификатов клиента.
- Так как функциональность регистрации учащихся не используется гораздо после начала срока, если срок действия сертификата, используемого службой регистрации учащихся, истекает, проблема может оказаться незамеченной в течение некоторого времени.
- Кроме того, в течение последнего периода регистрации в службе произошло несколько прерываний из-за неправильной обработки временных сбоев подключения. Команда внесла некоторые улучшения кода для обработки временных сбоев, но не уверена в том, как функциональность будет вести себя в реальных рабочих сценариях.
Применение подхода и результатов
- Команда разрабатывает тестирование искусственных транзакций, которое будет выполняться в рабочей среде по ежемесячному расписанию для имитации нескольких потоков, включая поток регистрации.
- Оповещения настроены для тестов синтетических транзакций, поэтому команда будет получать уведомления о сбоях, охватывающих риск истечения срока действия сертификатов.
- Кроме того, команда инвестировала в создание тестирования хаоса в SDLC, выполнение регулярного тестирования хаоса и сбор результатов для проверки методов самосохранения и для выявления ранее неизвестных проблем надежности.