Поделиться через


Стратегии архитектуры для использования зон доступности и регионов

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

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

Регионы Azure, используемые для решения, являются критически важным выбором. В руководстве по выбору регионов Azure описано, как выбрать и работать в нескольких географических регионах. Использование регионов и зон доступности в решении также влияет на несколько основных компонентов платформы Well-Architected Framework:

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

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

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

  • Операционное превосходство: Сложная архитектура требует больше усилий для развертывания, настройки и управления ими. Для высокодоступного решения может потребоваться также спланировать отработку отказа в дополнительный набор ресурсов. Переключение на резерв, возврат на основное и прозрачное перенаправление трафика могут быть сложными, особенно когда требуются ручные шаги. Рекомендуется автоматизировать процессы развертывания и управления. Дополнительную информацию см. в руководствах по столпу операционной эффективности, включая OE:05 Инфраструктура как код, OE:09 Автоматизация задач, OE:10 Дизайн автоматизациии OE:11 Практики развертывания.

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

Подсказка

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

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

Определения

Срок Definition
Активный-активный Архитектура, в которой одновременно несколько экземпляров решения активно обрабатывают запросы.
Active-passive Архитектура, в которой один экземпляр решения обозначается как основной и обрабатывает трафик, а один или несколько дополнительных экземпляров развертываются для обслуживания трафика, если основной экземпляр недоступен.
Асинхронная репликация Подход репликации данных, при котором данные записываются и фиксируются в одном месте. В дальнейшем изменения копируются в другое расположение.
Зона доступности Отдельная группа центров обработки данных в пределах региона. Каждая зона доступности не зависит от других зон доступности и имеет собственную мощность, охлаждение и сетевую инфраструктуру. Многие регионы поддерживают зоны доступности.
Центр обработки данных Объект, содержащий серверы, сетевое оборудование и другое оборудование для поддержки ресурсов и рабочих нагрузок Azure.
Локально избыточное развертывание Модель развертывания, в которой ресурс развертывается в одном регионе без ссылки на зону доступности. В регионе, поддерживающем зоны доступности, ресурс может быть развернут в любой из зон доступности региона.
Развертывание в нескольких регионах Модель развертывания, в которой ресурсы развертываются в нескольких регионах Azure.
Парные регионы Связь между двумя регионами Azure. некоторые регионы Azure подключены к другому региону, чтобы включить определенные типы решений с несколькими регионами. Новые регионы Azure не связаны.
Регион Географический периметр, содержащий набор центров обработки данных.
Архитектура региона Конкретная конфигурация региона Azure, включая количество зон доступности и связь региона с другим регионом.
Синхронная репликация Подход репликации данных, в котором данные записываются и фиксируются в нескольких местах. Каждый узел должен подтвердить завершение операции записи, прежде чем общая операция записи будет считаться завершенной.
Зональное закреплённое развертывание Модель развертывания, в которой ресурс развертывается в определенной зоне доступности.
Развертывание с резервированием по зонам Модель развертывания, в которой ресурс развертывается в нескольких зонах доступности. Корпорация Майкрософт управляет синхронизацией данных, распределением трафика и отработкой отказа в случае сбоя зоны.

Узнайте, как организованы регионы и зоны доступности в Azure

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

Регионы Azure имеют различные конфигурации, которые также называются архитектурами регионов.

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

На следующей схеме показано несколько примеров регионов Azure. Регионы 1 и 2 поддерживают зоны доступности.

Диаграмма, показывающая центры обработки данных, зоны доступности и регионы.

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

Существует два способа использования зон доступности в решении:

  • Зональные ресурсы закреплены в определенной зоне доступности. Вы можете объединить несколько зональных развертываний в разных зонах, чтобы соответствовать высоким требованиям к надежности. Вы несете ответственность за управление репликацией данных и распределением запросов между зонами. Если сбой возникает в одной зоне доступности, вы несете ответственность за переключение на другую зону доступности.

  • Ресурсы, избыточные между зонами, распределяются по нескольким зонам доступности. Корпорация Майкрософт управляет распределением запросов и репликацией данных между зонами. Если сбой происходит в одной зоне доступности, корпорация Майкрософт автоматически управляет переключением на резервный ресурс.

Службы Azure поддерживают один или оба этих подхода. Решения PaaS для платформы как услуги обычно поддерживают избыточное между зонами развертывание. Решения инфраструктуры как услуги (IaaS) обычно поддерживают зональные развертывания. Дополнительные сведения о работе служб Azure с зонами доступности см. в службах Azure с поддержкой зоны доступности.

Корпорация Майкрософт пытается использовать подходы, которые являются наименее разрушительными во время развертываний обновлений служб. Например, корпорация Майкрософт стремится развертывать обновления в одном поясе доступности одновременно. Этот подход может снизить влияние, которое может повлиять на активную рабочую нагрузку, так как рабочая нагрузка может продолжать выполняться в других зонах во время обновления. Однако это в конечном счете ответственность группы рабочей нагрузки, чтобы гарантировать, что их рабочая нагрузка продолжает функционировать во время обновлений платформы. Например, когда вы используете масштабируемые наборы виртуальных машин с гибким режимом оркестрацииили большинство служб Azure PaaS, Azure интеллектуально размещает ваши ресурсы, чтобы уменьшить влияние обновлений платформы. Рассмотрите возможность чрезмерной подготовки, которая развертывает больше экземпляров ресурса, чтобы некоторые экземпляры оставались доступными при обновлении других экземпляров. Дополнительные сведения о развертывании обновлений Azure см. в разделе "Рекомендации по безопасному развертыванию".

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

Дополнительные сведения о том, как Azure использует регионы и зоны доступности, см. в регионах Azure и зонах доступности.

Понимание совместной ответственности

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

Корпорация Майкрософт предоставляет зоны доступности и регионы, чтобы обеспечить гибкость в разработке решения в соответствии с вашими требованиями. При использовании управляемых служб корпорация Майкрософт берет на себя больше обязанностей по управлению ресурсами. Эти обязанности могут включать репликацию данных, отработку отказа, восстановление размещения и другие задачи, связанные с операционной распределенной системой.

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

Определение ключевых требований к бизнесу и рабочей нагрузке

Чтобы принять информированное решение об использовании зон доступности и регионов в решении, необходимо понять свои требования. Обсуждения между дизайнерами решений и заинтересованными лицами бизнеса должны соответствовать этим требованиям.

Толерантность к риску

Различные организации имеют различные степени терпимости к рискам. Даже в рамках одной организации отказоустойчивость рисков часто отличается по рабочей нагрузке. Большинство рабочих нагрузок не требуют чрезвычайно высокой доступности. Однако некоторые рабочие нагрузки настолько важны, что стоит смягчить даже маловероятные риски, такие как крупные стихийные бедствия, влияющие на широкую географическую область.

В следующей таблице перечислены некоторые распространенные риски, которые следует учитывать в облачной среде.

Риск Примеры Вероятность
Сбой оборудования — Проблема с жестким диском или сетевым оборудованием

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

- Стихийные бедствия в одной части городского района
Средний
Сбой в регионе - Крупные стихийные бедствия, влияющие на широкую географическую область

— Проблема сети или службы, которая делает одну или несколько служб Azure недоступными в целом регионе.
Low

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

Подсказка

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

Требования к надежности

Важно понимать требования к надежности рабочей нагрузки, например согласиться с целевыми объектами восстановления, такими как цели времени восстановления (RTO) и цели точки восстановления (RPO). Требования к надежности помогают решить, какие подходы следует исключить. Если у вас нет четких требований, вы не можете принять информированное решение о том, какой подход следует выполнить. Дополнительные сведения см. в стратегиях архитектуры для выявления и оценки потоков.

Цели уровня обслуживания

Вы должны понимать ожидаемый целевой уровень обслуживания (SLO) вашего решения. Например, у вас может быть бизнес-требование, что решение должно соответствовать 99,9% времени простоя.

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

Ваши архитектурные решения влияют на составное SLO вашего решения. В общем случае, чем больше избыточности, которое вы создаете в решении, тем выше уровень SLO, скорее всего, будет. Многие службы Azure предоставляют более высокие соглашения об уровне обслуживания при развертывании служб в конфигурации с избыточностью между зонами или в нескольких регионах. Просмотрите соглашения об уровне обслуживания для каждой из служб Azure, которые вы используете, чтобы убедиться, что вы узнаете, как повысить устойчивость и соглашение об уровне обслуживания службы.

Место расположения данных

Некоторые организации размещают ограничения на физические расположения, в которые могут храниться и обрабатываться их данные. Иногда эти требования основаны на правовых или нормативных стандартах. В других сценариях организация может принять политику расположения данных, чтобы избежать проблем с клиентами. Если у вас есть строгие требования к месту расположения данных, может потребоваться использовать развертывание в одном регионе или использовать подмножество регионов и служб Azure.

Замечание

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

Расположение пользователя

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

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

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

Даже если пользователи находятся в разных географических областях, рассмотрите необходимость развертывания в нескольких регионах. Рассмотрите возможность достижения ваших требований в одном регионе с помощью глобального ускорения трафика, например ускорения, предоставляемого Azure Front Door .

Бюджет

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

Сложность

Рекомендуется избежать ненужных сложностей в архитектуре решения. Чем сложнее вы вводите, тем труднее принимать решения о вашей архитектуре. Сложные архитектуры сложнее в эксплуатации, труднее обеспечивать безопасность и часто менее производительны. Убедитесь, что вы следуйте принципу простоты.

Пример сценария

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

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

схема, показывающая, что пользователь подключается к приложению, которое подключается к хранилищу.

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

Это решение можно развернуть несколькими способами. Каждый подход предоставляет другой набор преимуществ и приводит к разным затратам. На высоком уровне можно рассмотреть локально избыточное, зональное (закрепленное), избыточное по зонамили много-региональное развертывание. В следующей таблице приведены некоторые из основных проблем.

Столп локально избыточные зональные (закрепленные) Zone-redundant мультирегиональный
Reliability Низкая надежность Зависит от подхода Высокая или очень высокая надежность Высокая или очень высокая надежность
Оптимизация затрат Низкая стоимость Зависит от подхода Средняя стоимость Высокая стоимость
Эффективность производительности Допустимая производительность (для большинства рабочих нагрузок) Высокая производительность Допустимая производительность (для большинства рабочих нагрузок) Зависит от подхода
Операционное превосходство Низкие операционные требования Высокие операционные требования Низкие операционные требования Высокие операционные требования

В следующей таблице приведены некоторые подходы, которые можно использовать и как они влияют на архитектуру.

Архитектурные проблемы локально избыточные зональные (закрепленные) Zone-redundant мультирегиональный
Соответствие месту расположения данных High High High зависит от региона
Региональная доступность Все регионы Регионы с зонами доступности Регионы с зонами доступности зависит от региона

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

Подход к развертыванию 1. Локально избыточные развертывания

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

Схема, показывающая решение, развернутое в одном центре обработки данных, в пределах одной зоны доступности.

Большинство ресурсов Azure по умолчанию имеют высокий уровень обслуживания и встроенную избыточность в центре обработки данных, которым управляет платформа. Однако с точки зрения надежности, если в любой части региона возникает сбой, может возникнуть вероятность того, что рабочая нагрузка может быть затронута. Если это так, решение может быть недоступно или данные могут быть потеряны.

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

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

Столп Воздействие
Reliability Низкая надежность. Службы подвергаются сбоям, если центр обработки данных выходит из строя. Однако вы можете создать приложение, чтобы быть устойчивым к другим типам сбоев.
Оптимизация затрат Наименьшая стоимость. Вам нужно только один экземпляр каждого ресурса, и вы не несете никаких затрат на пропускную способность между регионами.
Эффективность производительности - Для большинства рабочих нагрузок:допустимая производительность. Этот подход, скорее всего, обеспечивает удовлетворительную производительность.

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

В следующей таблице перечислены некоторые проблемы с точки зрения архитектуры.

Архитектурные проблемы Воздействие
Соответствие месту расположения данных Высоко. При развертывании решения, использующего этот подход, данные хранятся в выбранном регионе Azure.
Региональная доступность Высоко. Этот подход можно использовать в любом регионе Azure.

Локально резервные развертывания с резервным копированием в разных регионах

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

схема, показывающая решение, развернутое в одном центре обработки данных, с резервными копиями в другом регионе.

При реализации этого подхода необходимо тщательно рассмотреть RTO и RPO.

  • Время восстановления: При возникновении регионального сбоя может потребоваться перестроить решение в другом регионе Azure, что влияет на время восстановления. Рассмотрите возможность создания решения с помощью подхода инфраструктуры в качестве кода (IaC), чтобы можно было быстро развернуть в другом регионе, если произошла серьезная авария. Убедитесь, что средства и процессы развертывания являются столь устойчивыми, как приложения, чтобы их можно было использовать для повторного развертывания решения, даже если произошел сбой. Запланируйте и отрепетируйте шаги, необходимые для восстановления решения в рабочее состояние.

  • Точка восстановления: Частота резервного копирования определяет объем потери данных, который может возникнуть, как точка восстановления. Обычно можно управлять частотой резервных копий, чтобы обеспечить соответствие RPO.

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

Столп Воздействие
Reliability Умеренная надежность. Службы подвергаются сбоям, если центр обработки данных выходит из строя. Данные резервируются асинхронно в географически разделенном регионе, что снижает влияние полного сбоя региона путем минимизации потери данных. В случае полного сбоя в регионе можно вручную восстановить операции в другом регионе. Однако процессы восстановления могут быть сложными, и может потребоваться время для ручного восстановления в другом регионе.
Оптимизация затрат Низкая стоимость. Как правило, добавление резервного копирования в другой регион стоит лишь немного больше, чем развертывание локально избыточного ресурса.
Эффективность производительности - Для большинства рабочих нагрузок:допустимая производительность. Этот подход, скорее всего, обеспечивает удовлетворительную производительность.

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

В следующей таблице перечислены некоторые проблемы с точки зрения архитектуры.

Архитектурные проблемы Воздействие
Соответствие месту расположения данных Зависит от выбора региона. Данные хранятся в основном в указанном регионе Azure. Однако необходимо выбрать другой регион для хранения резервных копий, поэтому важно выбрать регион, совместимый с требованиями к месту размещения данных.
Региональная доступность Высоко. Этот подход можно использовать в любом регионе Azure.

Подход к развертыванию 2. Зональные (закрепленные) развертывания

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

схема, показывающая решение, развернутое в определенной зоне доступности. Используется зональный подход к развертыванию.

Зональный подход снижает задержку между компонентами. Тем не менее, само по себе это не повышает устойчивость решения. Чтобы повысить устойчивость, необходимо развернуть несколько экземпляров компонентов в нескольких зонах доступности и решить, как маршрутизировать трафик между каждым экземпляром. В этом примере показан подход к маршрутизации трафика с активным пассивным трафиком.

Схема, показывающая решение, развернутое в нескольких зонах доступности. Используется подход к маршрутизации трафика с активно-пассивной реализацией.

В предыдущем примере подсистема балансировки нагрузки развертывается в нескольких зонах доступности. Важно учитывать, как маршрутизировать трафик между экземплярами в разных зонах доступности, так как сбой зоны также может повлиять на сетевые ресурсы, развернутые в этой зоне. Вы также можете рассмотреть возможность использования глобальной подсистемы балансировки нагрузки, такой как Azure Front Door или Azure Traffic Manager, который не развертывается в регионе вовсе.

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

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

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

  • Вы несете ответственность за распространение запросов на правильные ресурсы, например с помощью подсистемы балансировки нагрузки. Необходимо убедиться, что подсистема балансировки нагрузки соответствует вашим требованиям к устойчивости. Кроме того, необходимо решить, следует ли использовать модель распространения запросов "активный-пассивный" или "активный-активный".

  • Если в зоне доступности происходит сбой, необходимо обработать отказ, чтобы перенаправить трафик к ресурсам в другой зоне доступности.

Активное пассивное развертывание в нескольких зонах доступности иногда называется аварийное восстановление в регионе или аварийное восстановление метро.

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

Столп Воздействие
Reliability - При развертывании в одной зоне доступности:низкая надежность. Зональное развертывание не обеспечивает устойчивость к сбою в центре обработки данных или зоне доступности. Чтобы обеспечить высокую устойчивость, необходимо развернуть избыточные ресурсы в нескольких зонах доступности.

- При развертывании в нескольких зонах доступности:высокая надежность. Службы могут быть устойчивы к сбоям в центре обработки данных или зоне доступности.
Оптимизация затрат - При развертывании в одной зоне доступности:низкая стоимость. Для развертывания с одной зоной требуется только один экземпляр каждого ресурса.

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

В следующей таблице перечислены некоторые проблемы с точки зрения архитектуры.

Архитектурные проблемы Воздействие
Соответствие месту расположения данных Высоко. При развертывании решения, использующего этот подход, данные хранятся в выбранном регионе Azure.
Региональная доступность Регионы с зонами доступности. Этот подход доступен в любом регионе, поддерживающем зоны доступности .

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

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

Подсказка

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

Подход к развертыванию 3: Развертывание избыточное по зонам

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

Уровень хранилища также распространяется по нескольким зонам доступности. Копии данных вашего приложения распределяются по нескольким зонам доступности с помощью синхронной репликации. Когда приложение вносит изменения в данные, служба хранилища записывает изменения в несколько зон доступности. Транзакция считается завершенной только после завершения всех этих изменений. Этот процесс гарантирует, что каждая зона доступности всегда имеет up-to-date копии данных. Если в зоне доступности происходит сбой, для доступа к тем же данным можно использовать другую зону доступности.

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

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

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

Столп Воздействие
Reliability Высокая надежность. Службы устойчивы к сбоям центра обработки данных или зоны доступности. Данные синхронно реплицируются в зонах доступности без задержки.
Оптимизация затрат Средняя стоимость. В зависимости от используемых служб могут потребоваться некоторые затраты на более высокие уровни служб, чтобы обеспечить избыточность зоны.
Эффективность производительности - Для большинства рабочих нагрузок:допустимая производительность. Этот подход, скорее всего, обеспечивает удовлетворительную производительность.

- Для рабочих нагрузок с высокой задержкой:низкая производительность. Некоторые компоненты могут быть чувствительны к задержке из-за трафика между зонами или времени репликации данных.
Операционное превосходство Высокая эффективность работы. Обычно необходимо управлять только одним логическим экземпляром каждого ресурса. Для большинства служб во время сбоя зоны доступности отработка отказа отвечает корпорации Майкрософт и выполняется автоматически.

В следующей таблице перечислены некоторые проблемы с точки зрения архитектуры.

Архитектурные проблемы Воздействие
Соответствие месту расположения данных Высоко. При развертывании решения, использующего этот подход, данные хранятся в выбранном регионе Azure.
Региональная доступность Регионы с зонами доступности. Этот подход доступен в любом регионе, поддерживающем зоны доступности .

Этот подход возможен с множеством служб Azure, включая масштабируемые наборы виртуальных машин Azure, Службу приложений Azure, Функции Azure, Службу Azure Kubernetes (AKS), службу хранилища Azure, SQL Azure, служебную шину Azure и многие другие службы. Для получения полного списка служб, поддерживающих резервирование зон, см. в разделе "Служба зон доступности и региональная поддержка".

Развертывания с зональной избыточностью и резервным копированием по разным регионам

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

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

При реализации этого подхода необходимо тщательно рассмотреть RTO и RPO.

  • Время восстановления: Если происходит региональный сбой, может потребоваться перестроить решение в другом регионе Azure, что влияет на время восстановления. Рассмотрите возможность создания решения с помощью подхода IaC, чтобы быстро развернуть его в другом регионе во время крупной аварии. Убедитесь, что средства и процессы развертывания являются устойчивыми, как и приложения, чтобы их можно было использовать для повторного развертывания решения даже в случае сбоя. Запланируйте и репетируйте шаги, необходимые для восстановления вашего решения в рабочее состояние.

  • Точка восстановления: Частота резервного копирования определяет объем потери данных, который может возникнуть, как точка восстановления. Обычно можно контролировать частоту резервных копий для соответствия RPO.

Подсказка

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

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

Столп Воздействие
Reliability Очень высокая надежность. Службы устойчивы к сбоям центра обработки данных или зоны доступности. Для большинства служб данные реплицируются в зонах автоматически без задержки. Данные резервируются асинхронно в географически разделенном регионе. Эта резервная копия снижает влияние полного сбоя региона за счет минимизации потери данных. После полного сбоя региона можно вручную восстановить операции в другом регионе. Однако процессы восстановления могут быть сложными, и может потребоваться время для ручного восстановления в другом регионе.
Оптимизация затрат Средняя стоимость. Как правило, добавление резервного копирования в другой регион стоит лишь немного дороже, чем создание избыточности между зонами.
Эффективность производительности - Для большинства рабочих нагрузок:допустимая производительность. Этот подход, скорее всего, обеспечивает удовлетворительную производительность.

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

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

В следующей таблице перечислены некоторые проблемы с точки зрения архитектуры.

Архитектурные проблемы Воздействие
Соответствие месту расположения данных Зависит от выбора региона. Данные хранятся в основном в указанном регионе Azure, но для хранения резервных копий необходимо выбрать другой регион. Выберите регион, совместимый с требованиями к месту размещения данных.
Региональная доступность Регионы с зонами доступности. Этот подход доступен в любом регионе, поддерживающем зоны доступности .

Подход к развертыванию 4. Развертывание в нескольких регионах

Вы можете совместно использовать несколько регионов Azure для распространения решения по широкому географическому региону. Этот подход с несколькими регионами можно использовать для повышения надежности решения или поддержки географически распределенных пользователей. При развертывании в нескольких регионах также снижается риск возникновения временных ограничений емкости ресурсов в одном регионе. Если расположение данных является важной проблемой для решения, тщательно рассмотрите регионы, которые используются для хранения данных только в расположениях, которые соответствуют вашим требованиям.

Активные и пассивные регионы

Архитектура с несколькими регионами сложна, и существует множество способов разработки решения с несколькими регионами. Для некоторых рабочих нагрузок имеет смысл, чтобы несколько регионов одновременно обрабатывали запросы (активно-активные развертывания). Для других рабочих нагрузок лучше назначить один основной регион и использовать один или несколько дополнительных регионов для резервирования (активно-пассивные развертывания). В этом разделе основное внимание уделяется второму сценарию, в котором один регион активен, а другой — пассивным. Дополнительные сведения о решениях с несколькими регионами active см. в разделе "Шаблон меток развертывания" и "Геодокум".

Репликация данных

Взаимодействие между регионами гораздо медленнее, чем взаимодействие между регионами. Как правило, более большое географическое расстояние между двумя регионами вызывает большую задержку сети из-за более длительного физического расстояния, на которое должны перемещаться данные. Дополнительные сведения о ожидаемой задержке сети при подключении между двумя регионами см. в статистике задержки между сетями Azure.

Задержка в сети между регионами может значительно повлиять на разработку решения, так как необходимо тщательно рассмотреть, как дополнительная задержка влияет на репликацию данных и другие транзакции. Для многих решений архитектура между регионами требует асинхронной репликации, чтобы свести к минимуму влияние трафика между регионами на производительность.

Асинхронная репликация данных

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

диаграмма, демонстрирующая развернутое в нескольких регионах решение. Репликация данных выполняется асинхронно.

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

Столп Воздействие
Reliability Высокая надежность. Решение устойчиво к сбою центра обработки данных, зоны доступности или всего региона. Данные реплицируются, но могут не быть синхронными, поэтому возможна потеря данных в сценарии переключения на резерв.
Оптимизация затрат Высокая стоимость. Необходимо развернуть отдельные ресурсы в каждом регионе, и каждый ресурс несет затраты на развертывание и обслуживание. Репликация данных в разных регионах также может привести к значительным затратам.
Эффективность производительности Высокая производительность. Запросы приложений не требуют трафика между регионами, поэтому задержка трафика обычно низкой.
Операционное превосходство Низкая операционная эффективность. Необходимо развернуть ресурсы и управлять ими в нескольких регионах. Вы также несете ответственность за резервное переключение между регионами во время регионального сбоя.

В следующей таблице перечислены некоторые проблемы с точки зрения архитектуры.

Архитектурные проблемы Воздействие
Соответствие месту расположения данных Зависит от выбора региона. Этот подход требует выбрать несколько регионов, в которых будет выполняться ваша рабочая нагрузка. Выберите регионы, совместимые с требованиями к месту размещения данных.
Региональная доступность сопряжены многие регионы Azure. Некоторые службы Azure используют парные регионы для автоматической репликации данных. Если вы выполняете рабочую нагрузку в регионе , который не имеет пары, может потребоваться использовать другой подход для репликации данных.

Синхронная репликация данных

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

Схема, показывающая решение, развернутое в нескольких регионах. Репликация данных выполняется синхронно.

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

Столп Воздействие
Reliability Очень высокая надежность. Решение устойчиво к сбою центра обработки данных, зоны доступности или всего региона. Данные всегда синхронизируются между регионами. Таким образом, даже если весь регион завершается сбоем, данные остаются полными и доступными в другом регионе.
Оптимизация затрат Высокая стоимость. Необходимо развернуть отдельные ресурсы в каждом регионе, и каждый ресурс несет затраты на развертывание и обслуживание. Репликация данных в разных регионах также может привести к значительным затратам.
Эффективность производительности Низкая производительность. Для запросов приложений требуется трафик между регионами. В зависимости от расстояния между регионами синхронная репликация может добавить значительную задержку в запросы.
Операционное превосходство Низкая операционная эффективность. Необходимо развернуть ресурсы и управлять ими в нескольких регионах. Вы также несете ответственность за резервное переключение между регионами во время регионального сбоя.

В следующей таблице перечислены некоторые проблемы с точки зрения архитектуры.

Архитектурные проблемы Воздействие
Соответствие месту расположения данных Зависит от выбора региона. Этот подход требует выбрать несколько регионов, в которых будет выполняться ваша рабочая нагрузка. Выберите регионы, совместимые с требованиями к месту расположения данных.
Региональная доступность сопряжены многие регионы Azure. Некоторые службы Azure используют парные регионы для автоматической репликации данных. Если вы выполняете рабочую нагрузку в регионе , который не имеет пары, может потребоваться использовать другой подход для репликации данных.

Архитектура регионов

При разработке решения с несколькими регионами следует учитывать, связаны ли регионы Azure, которые планируется использовать.

Вы можете создать решение с несколькими регионами, даже если регионы не связаны. Однако подходы, используемые для реализации архитектуры с несколькими регионами, могут отличаться. Например, в хранилище можно использовать геоизбыточное хранилище (GRS) с парными регионами. Если GRS недоступен, рассмотрите возможность использования таких функций, как репликация объектов хранилища или разработка приложения для записи в несколько регионов.

Объедините подходы с несколькими зонами и регионами

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

Это важно

Критически важные рабочие нагрузки должны использовать как несколько зон доступности , так и несколько регионов.

Как службы Azure поддерживают подходы к развертыванию

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

Чтобы узнать больше о конкретных вариантах развертывания и подходах, которые стоит рассмотреть для каждой службы Azure, посетите центр надежности.

Примеры вариантов использования

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

Корпоративное прикладное программное обеспечение для предприятия

Contoso, Ltd., является крупной производственной компанией. Компания реализует бизнес-приложение для управления некоторыми компонентами финансовых процессов.

Бизнес-требования: Сведения, которыми управляет система, трудно заменить, поэтому данные должны быть надежно сохранены. Архитекторам требуется, чтобы система влечет за собой как можно меньше времени простоя и потери данных. Сотрудники Contoso используют систему на протяжении рабочего дня, поэтому высокую производительность важно, чтобы избежать ожидания участников команды. Стоимость также является проблемой, поскольку финансовая команда должна платить за решение.

Рекомендуемый подход:избыточное между зонами развертывание с резервным копированием в разных регионах обеспечивает несколько уровней устойчивости с высокой производительностью.

Внутреннее приложение

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

Бизнес-требования: Для этой рабочей нагрузки эффективность затрат является основной проблемой. Компания "Четвертый Кофе" оценила влияние простоев на бизнес и решила, что приложению не нужно уделять внимание устойчивости или производительности. Компания принимает риск того, что сбой в зоне доступности Azure или регионе может временно сделать приложение недоступным.

Предлагаемые подходы:

Миграция устаревших приложений

Fabrikam, Inc., переносит устаревшее приложение из локального центра обработки данных в Azure. Они планируют использовать подход IaaS, основанный на виртуальных машинах. Приложение не предназначено для облачной среды, а взаимодействие между уровнем приложений и базой данных очень чатым.

Бизнес-требования: Производительность является приоритетом для этого приложения. Устойчивость также важна, и приложение должно продолжать работать, даже если центр обработки данных Azure испытывает сбой.

Предлагаемый подход:

Приложение для здравоохранения

Компания Lamna Healthcare внедряет новую электронную систему медицинских записей на платформе Azure.

Бизнес-требования: Из-за характера данных, которые хранятся в этом решении, размещение данных критически важно. Lamna работает в строгой нормативной базе, которая предписывает, что данные должны оставаться в определенном расположении.

Предлагаемые подходы:

Банковская система

Woodgrove Bank выполняет свои основные банковские операции из большого решения, развернутого в Azure.

Бизнес-требования: Эта система критически важна. Любые сбои могут привести к серьезным финансовым последствиям для клиентов. В результате Woodgrove Bank имеет очень низкую устойчивость к риску. Система нуждается в самом высоком уровне надежности, и архитектура должна снизить риск любых сбоев, которые могут быть устранены.

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

Программное обеспечение как услуга

Proseware, Inc., создает программное обеспечение, которое компании по всему миру используют. База пользователей компании широко распределена по географическому расположению.

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

Предлагаемые подходы:

Дальнейшие шаги

Следующие эталонные архитектуры и примеры сценариев предназначены для решений с несколькими зонами и несколькими регионами:

Используйте следующие службы Azure для реализации решений в нескольких зонах доступности: