Рекомендации по проектированию с высоким уровнем доступности в нескольких регионах

Применяется к этой рекомендации по контрольным спискам надежности Платформы Azure Well-Architected Framework:

RE:05 Добавление избыточности на разных уровнях, особенно для критически важных потоков. Применяйте избыточность к уровням вычислений, данных, сети и других уровней инфраструктуры в соответствии с определенными целевыми показателями надежности.

Связанные руководства.Избыточность | с помощью зон и регионов доступности

В этом руководстве описываются рекомендации по проектированию высокодоступной облачной среды с несколькими регионами. Высокий уровень доступности — это базовый принцип проектирования для обеспечения надежности. Высокодоступная архитектура помогает избежать простоя в максимально возможной степени и эффективно восстанавливаться в случае простоя.

Активный — активный и активный — пассивный — это общие типы архитектуры, которые могут применяться различными способами в зависимости от платформы, на которой вы развертываете среду. В этом руководстве основное внимание уделяется проектированию облачной среды с несколькими регионами. В Azure можно также разработать архитектуру "активный — активный" или "активный — пассивный" в одном регионе с помощью зон доступности. Подробные рекомендации по проектированию высокодоступной архитектуры с использованием зон доступности см. в руководстве azure Well-Architected Framework.

Ключевые стратегии проектирования

Два фундаментальных подхода к проектированию высокодоступной облачной среды — "активный — активный" и "активный — пассивный". Среды "активный — активный" предназначены для обработки рабочих нагрузок в каждом регионе, в котором развертывается рабочая нагрузка. Среды "активный — пассивный" предназначены для обработки рабочих нагрузок только в основном регионе, но при необходимости выполняют отработку отказа в дополнительный (пассивный) регион. Выбор лучших регионов Azure для рабочей нагрузки является ключевой частью разработки высокодоступной среды с несколькими регионами. Инструкции по выбору регионов Azure см. в руководстве Выбор регионов Azure.

В этом разделе описываются параметры проектирования, которые следует учитывать при оценке каждого шаблона и уточнении архитектуры в соответствии с бизнес-требованиями.

Рекомендации по проектированию рабочей нагрузки повторяемым масштабируемым способом см. в статье Шаблон меток развертывания . Этот шаблон проектирования поможет оптимизировать проект с высоким уровнем доступности для эффективного управления.

В следующих разделах описаны варианты проектирования двух шаблонов.

Шаблон "активный — активный"

  • Активный — активный при емкости. Зеркальные метки развертывания в двух или более регионах Azure, каждый из которых настроен для обработки рабочих нагрузок в регионе или регионах, которые они обслуживают, и масштабируемых для обработки нагрузок из других регионов в случае регионального сбоя.

    • Сеть. Используйте задержку или взвешаемую глобальную маршрутизацию для распределения трафика между регионами.

    • Репликация и согласованность данных. Используйте глобально распределенное хранилище данных, например Azure Cosmos DB , для чтения и записи в нескольких регионах. Для реляционных баз данных используйте доступные для чтения реплики со строками подключения только для чтения.

    • Преимущество этой конструкции: более низкие эксплуатационные затраты, чем при перепроизбыточенном проекте.

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

  • Избыточная подготовка "активный — активный". Зеркальные метки развертывания в двух или более регионах Azure, каждый из которых переизбыток для обработки рабочих нагрузок в регионе или регионах, которые они обслуживают, и для обработки нагрузок из других регионов в случае регионального сбоя.

    • Сеть. Используйте задержку или взвешаемую глобальную маршрутизацию для распределения трафика между регионами.

    • Репликация и согласованность данных. Используйте глобально распределенное хранилище данных, например Azure Cosmos DB , для чтения и записи в нескольких регионах. Для реляционных баз данных используйте доступные для чтения реплики со строками подключения только для чтения.

    • Преимущество этой конструкции: наиболее устойчивая конструкция.

    • Недостаток этой конструкции: более высокие эксплуатационные расходы, чем масштабируемая конструкция.

  • Общие преимущества обеих проектов: высокая устойчивость и низкий риск полного сбоя рабочей нагрузки.

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

Шаблон "активный — пассивный"

  • Теплый запасной: один основной регион и один или несколько дополнительных регионов. Дополнительный регион развертывается с минимальными возможными вычислениями и размерами данных и выполняется без нагрузки. Этот регион называется теплым запасным регионом. После отработки отказа вычислительные ресурсы и ресурсы данных масштабируются для обработки нагрузки из основного региона.

    • Сеть. Используйте приоритетную глобальную маршрутизацию.

    • Репликация и согласованность данных. Реплицируйте базу данных в пассивный регион и используйте возможности автоматической отработки отказа решений PaaS (платформа как услуга), таких как Azure Cosmos DB и база данных Azure SQL.

    • Преимущество этой конструкции: наименьшее время восстановления среди проектов "активный — пассивный".

    • Недостаток этой конструкции: самые высокие эксплуатационные затраты среди проектов "активный — пассивный".

  • Холодный запас: один основной регион и один или несколько дополнительных регионов. Дополнительный регион масштабируется для обработки полной нагрузки, но все вычислительные ресурсы остановлены. Этот регион называется холодным запасным регионом. Перед отработой отказа необходимо запустить ресурсы.

    • Сеть. Используйте приоритетную глобальную маршрутизацию.

    • Репликация и согласованность данных. Реплицируйте базу данных в пассивный регион и используйте возможности автоматической отработки отказа решений PaaS, таких как Azure Cosmos DB и Azure SQL Database.

    • Преимущество этой конструкции: более низкие эксплуатационные расходы по сравнению с теплой конструкцией запасных частей.

    • Недостаток этой конструкции: больше времени восстановления, чем у теплой запасных конструкций.

  • Повторное развертывание при аварии: один основной регион и один или несколько дополнительных регионов. В дополнительном регионе развертываются только необходимые сети. Операторы должны выполнять скрипты подготовки в дополнительном регионе для отработки отказа рабочих нагрузок. Такая конструкция называется повторное развертывание при аварии.

    • Сеть. Используйте приоритетную глобальную маршрутизацию.

    • Репликация и согласованность данных. Разверните новые экземпляры базы данных и восстановите данные из резервных копий.

    • Преимущество этой конструкции: минимальные эксплуатационные расходы.

    • Недостаток этой структуры: самое длительное время восстановления.

  • Общие преимущества проектов "активный — пассивный": ниже эксплуатационные затраты и меньшее ежедневное бремя управления по сравнению с проектами типа "активный — активный". Не нужно синхронизировать состояние приложения.

  • Распространенные недостатки конструкций "активный — пассивный": более длительный и сложный процесс восстановления. Более высокая вероятность того, что для успешной отработки отказа потребуется вмешательство вручную.

Примечание

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

Упрощение поддержки Azure

  • Azure Front Door сочетает в себе функции глобальной маршрутизации диспетчера трафика Azure с системой доставки содержимого и брандмауэром веб-приложений для управления рабочей нагрузкой с высоким уровнем доступности.

  • Azure Cosmos DB — это глобально распределенная платформа баз данных NoSQL, которая может помочь запустить среду "активный — активный" и свести к минимуму вероятность простоя при возникновении регионального сбоя.

Контрольный список надежности

См. полный набор рекомендаций.