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