Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье рассматривается область разработки платформы приложений рабочей нагрузки решения Azure VMware. В этой области рассматриваются конкретные задачи и обязанности, связанные с развертыванием, настройкой и обслуживанием приложений, размещенных в среде решения Azure VMware. Владелец приложения отвечает за приложения в среде решения Azure VMware. Этот отдельный или командный отдел управляет аспектами, связанными с развертыванием, настройкой, мониторингом и обслуживанием приложений.
Ключевыми целями хорошо архитекторированного приложения являются:
- Проектирование для масштабирования. Более высокий уровень требований пользователей и одновременных транзакций следует обрабатывать деликатно, без ухудшения качества или прерывания работы службы.
- Производительность. Обеспечьте быстрое время отклика с низкой задержкой и эффективно управляйте использованием ресурсов.
- Надежность и устойчивость. Спроектируйте избыточные шаблоны для обеспечения отказоустойчивости, которые помогают обеспечить, что ваше приложение остается отзывчивым и быстро восстанавливается после сбоев.
Эта статья предназначена для разработчиков, архитекторов и владельцев приложений с рекомендациями, которые относятся к решению Azure VMware. Эти методики помогают создавать приложения, которые остаются надежными, безопасными, масштабируемыми и обслуживаемыми на протяжении всего жизненного цикла.
Проектирование для масштабируемости и эффективного распределения ресурсов
Влияние: надежность, эффективность производительности, безопасность
В этом разделе рассматриваются эффективное выделение и использование вычислительных ресурсов на виртуальных машинах и рабочих нагрузках в частном облаке решения Azure VMware. Эти ресурсы могут включать ресурсы ЦП, памяти, хранилища и сети. В этом разделе также рассматривается реализация методов адаптивного масштабирования. Эти методы можно использовать для динамической адаптации подготовки ресурсов для удовлетворения колебаний спроса. Основная цель заключается в достижении оптимального использования ресурсов путем снижения недоиспользования и избыточного обеспечения, что может привести к неэффективности и увеличению расходов.
Используйте домены отказов
Домены сбоя в решении Azure VMware представляют логические группировки ресурсов в растянутом кластере. Эти ресурсы используют общий домен физического сбоя. Домены сбоя помогают повысить доступность в различных сценариях сбоя. Упорядочение ресурсов в доменах сбоя помогает обеспечить распространение критически важных компонентов приложения по нескольким доменам сбоев.
Разместив виртуальные машины и другие ресурсы в отдельные домены сбоя, команда приложений помогает убедиться, что приложение остается доступным во время сбоя центра обработки данных или инфраструктуры. Например, можно разделить виртуальные машины на домены сбоя, которые распределяются по географически распределенным центрам обработки данных. Затем приложение может оставаться в рабочем состоянии, если один центр обработки данных испытывает полный сбой.
Команды приложений должны рассмотреть возможность создания правил близости и анти-близости для VM-VM, основанных на доменах сбоя. Правила привязки ВМ-ВМ размещают критически важные ВМ в одной зоне сбоя, чтобы гарантировать отсутствие их распределения по нескольким центрам обработки данных. Правила анти-аффинити предотвращают совместное размещение связанных виртуальных машин в одном домене сбоя. Эта практика помогает гарантировать резервирование.
Использование VM-VM политик защиты от сопоставления в трехуровневых приложениях
В решении Azure VMware сценарий использования политик антиаффинности VM-VM включает трехуровневое приложение. Цель заключается в повышении высокого уровня доступности, отказоустойчивости и устойчивости каждого уровня приложений. Для достижения этой цели можно использовать политики защиты от сходства для распространения уровней между разными узлами в частном облаке решения Azure VMware.
Чтобы реализовать этот вариант использования, создайте распределенную отказоустойчивую архитектуру с помощью VM-VM политик защиты от сопоставления на трех уровнях. Эта настройка улучшает доступность всего приложения и помогает убедиться, что сбой одного узла не нарушает весь уровень или все приложение.
Например, на интерфейсном веб-уровне, который обслуживает запросы пользователей, можно применить политики анти-аффинности VM-VM для распределения веб-серверов между разными физическими узлами. Такой подход помогает повысить доступность и отказоустойчивость. Аналогичным образом можно использовать меры защиты от сходства для защиты серверов приложений в бизнес-уровне и повышения устойчивости данных на уровне базы данных.
Recommendations
- Создайте карты, показывающие взаимозависимости виртуальных машин, схемы обмена данными и модели использования, чтобы обеспечить необходимость близости.
- Определите, помогает ли политика аффинности VM-VM соответствовать метрикам производительности и соглашениям об уровне обслуживания.
- Проектирование для обеспечения высокой доступности с помощью реализации анти-аффинитетных политик VM-VM для защиты от отказов узлов и распределения вашего приложения по нескольким узлам.
- Чтобы избежать избыточного выделения ресурсов, распределите рабочую нагрузку между небольшими виртуальными машинами, а не несколькими крупными.
- Регулярно отслеживайте, пересматривайте и настраивайте политики привязки для выявления потенциальной конкуренции ресурсов. При необходимости адаптируйте эти политики.
Использование политик аффинности узлов виртуальных машин для изоляции производительности
Некоторые рабочие нагрузки, которые запускают виртуальные машины на разных уровнях приложений, работают лучше, когда они совместно размещены. Этот вариант использования часто возникает, когда приложениям требуются:
- Изоляция производительности для ресурсоемких вычислительных рабочих нагрузок с высокой производительностью.
- Соответствие соглашениям о лицензировании. Например, для спецификаций системы может потребоваться сопоставление, которое связывает виртуальную машину с определенным набором ядер для обеспечения соответствия лицензированию Windows или SQL Server.
- Соответствие нормативным требованиям и целостность данных , чтобы виртуальные машины, принадлежащие определенным доменам безопасности или классификациям данных, были ограничены определенными узлами или подмножеством узлов в кластере.
- Упрощенная конфигурация сети, которая помещает виртуальные машины на один узел. В этом случае конфигурация сети между уровнями упрощается. Уровни используют одинаковую сетевую связность и не требуют дополнительных переходов через сеть.
Если необходимо поддерживать совместное размещение уровней приложений, можно выбрать политики аффинности узла ВМ, чтобы обеспечить развертывание уровней на одном узле и в пределах одной зоны доступности.
Замечание
Команда платформы отвечает за настройку размещения виртуальных машин, правил сходства узлов и пула ресурсов. Но команда приложений должна понимать требования к производительности каждого приложения, чтобы убедиться, что потребности приложения выполнены.
Команды приложений должны комплексно оценивать размещение виртуальных машин и участвовать в тщательном планировании. Размещение виртуальных машин может представлять потенциальные проблемы, такие как дисбаланс ресурсов и неравномерное распределение рабочих нагрузок. Эти ситуации могут привести к негативным последствиям для оптимизации производительности и ресурсов. Кроме того, размещение всех рабочих нагрузок в одной зоне доступности может создать одну точку сбоя в аварии. Рекомендуется реплицировать конфигурацию в нескольких зонах доступности, чтобы повысить устойчивость центра обработки данных во время сбоя.
Recommendations
- Тщательно спланируйте использование политик размещения и политик размещения виртуальных машин с учетом привязки к хосту. По возможности рассмотрите альтернативные решения, такие как балансировка нагрузки, пулы ресурсов в VMware vSphere, распределенные базы данных, контейнеризация и зоны доступности.
- Регулярно отслеживайте использование ресурсов и производительность для выявления каких-либо дисбалансов или проблем.
- Выберите стратегию размещения виртуальных машин, которая сбалансирована и гибкая. Этот подход помогает максимально эффективно использовать ресурсы, сохраняя высокий уровень доступности и обеспечивая соответствие требованиям к лицензированию.
- Тестируйте и проверяйте конфигурации политик размещения с учетом соответствия ВМ и узлов, чтобы убедиться, что они соответствуют конкретным требованиям вашего приложения и не оказывают негативного влияния на общую производительность и устойчивость.
Распределение трафика с помощью приложения или сетевой подсистемы балансировки нагрузки
Помимо использования политик размещения балансировка нагрузки также является важным компонентом современных приложений для обеспечения обеспечения:
- Эффективное распределение ресурсов.
- Повышение доступности приложений.
- Оптимальная производительность приложения.
Балансировка нагрузки соответствует этим критериям при сохранении гибкости для масштабирования рабочей нагрузки и управления.
После развертывания приложений на виртуальных машинах рассмотрите возможность использования средства балансировки нагрузки, например шлюза приложений Azure для создания внутренних пулов. Шлюз приложений — это подсистема балансировки нагрузки управляемого веб-трафика и служба доставки приложений, которая может управлять и оптимизировать входящий трафик HTTP и HTTPS в веб-приложения. В качестве точки входа для веб-трафика шлюз приложений предлагает различные типы функций. Примеры включают терминацию TLS/SSL, маршрутизацию на основе URL-адресов, привязку сеансов и функции брандмауэра веб-приложений.
После того как ресурсы в внутренних пулах будут доступны, создайте прослушиватели, чтобы указать порты и правила маршрутизации для входящих запросов. Затем можно создать проверки состояния для мониторинга работоспособности ваших виртуальных машин и указания на то, когда необходимо удалить неисправные внутренние ресурсы из списков распределения нагрузки.
Реализация завершения TLS/SSL и управления сертификатами
Шифрование TLS/SSL должно применяться для всех взаимодействий между приложениями и браузерами пользователей. Это шифрование помогает защитить данные сеанса от перехвата и атак посредника. Если приложению требуется завершение TLS/SSL, настройте необходимый TLS/SSL-сертификат в шлюзе приложений, чтобы выгрузить обработку TLS/SSL с внутренних виртуальных машин.
После создания TLS/SSL-сертификатов поместите их в службу, например Azure Key Vault, которая помогает безопасно хранить и получать доступ к ним. Используйте PowerShell, Azure CLI или такие средства, как служба автоматизации Azure, для обновления и продления сертификатов.
Управление интерфейсами API
Управление API Azure помогает безопасно публиковать внутренние и внешние конечные точки API. Пример конечной точки — это внутренний API, который находится в частном облаке решения Azure VMware за подсистемой балансировки нагрузки или шлюзом приложений. Управление API помогает управлять методами и поведением API, например применением политик безопасности для принудительной проверки подлинности и авторизации. Управление API также может направлять запросы API к внутренним службам через Шлюз приложений.
На следующей схеме трафик от потребителей передается в общедоступную конечную точку управления API. Затем трафик пересылается в внутренние API, которые выполняются в решении Azure VMware.
Recommendations
- Чтобы повысить безопасность и производительность приложений решения Azure VMware, используйте шлюз приложений с серверной частью решения Azure VMware для распространения трафика в конечные точки приложения.
- Убедитесь, что существует подключение между внутренними сегментами, в которых размещено решение Azure VMware, и подсетью, содержащей шлюз приложений или балансировщик нагрузки.
- Настройте проверки работоспособности для мониторинга работоспособности бекэнд-экземпляров.
- Выгрузите завершение TLS/SSL в шлюз приложений, чтобы сократить затраты на обработку на внутренних виртуальных машинах.
- Безопасно храните ключи TLS/SSL в хранилищах.
- Оптимизируйте процессы путем автоматизации таких задач, как обновления сертификатов и продление.
Оптимизация растянутых кластеров для укрепления непрерывности бизнес-процессов и готовности к аварийному восстановлению
Влияние: надежность
Растянутые кластеры предоставляют кластерам VMware высокий уровень доступности и аварийного восстановления в нескольких географически распределенных центрах обработки данных.
Следующая конфигурация поддерживает архитектуры «active-active». Сеть виртуальной зоны хранения (vSAN) охватывает два центра обработки данных. Третья зона доступности сопоставляется с свидетелем vSAN, который служит кворумом для сценариев разделения мозга.
Распределение приложения между несколькими зонами доступности и регионами помогает обеспечить непрерывную доступность во время сбоев центра обработки данных. Разверните уровни приложений и уровни данных в обоих центрах обработки данных и включите синхронную репликацию.
Настройка отказоустойчивости и политики отказов для допуска (FTT)
Общая емкость приложения зависит от нескольких переменных. Примерами являются конфигурация избыточного массива независимых дисков (RAID), значение атрибута failures to tolerate, а также политики отказоустойчивости (FTT), которые управляют количеством сбоев, которые может выдержать ваша система хранения. Командам приложений необходимо определить уровень избыточности, необходимый для приложения. Важно также отметить, что более высокие значения FTT повышают устойчивость данных, но увеличивают затраты на хранение.
Recommendations
- Разверните приложение в общем хранилище, чтобы данные виртуальной машины сохранялись согласованно в растянутом кластере. Включите синхронную репликацию.
- Настройте домены сбоя, чтобы определить способ реагирования растянутых кластеров в сценарии сбоя.
- Реализуйте автоматическое переключение на резервную систему и переключение обратно, чтобы свести к минимуму ручное вмешательство во время мероприятий по переключению и восстановлению.
Настройка политик синхронизации данных и хранения
Методы синхронизации данных важны, если ваше приложение полагается на состояние данных и базы данных, чтобы обеспечить их согласованность и доступность в случае аварии. Синхронизация данных помогает обеспечить высокий уровень доступности и отказоустойчивость критически важных виртуальных машин, выполняющих приложения.
Владелец приложения может определить политику хранения, чтобы обеспечить следующее:
- Критически важные виртуальные машины, запускающие приложение, получают необходимый уровень избыточности и производительности данных.
- Виртуальные машины позиционируются для использования возможностей высокой доступности расширенного кластера в решении Azure VMware.
Примеры политик могут включать следующие факторы:
- Конфигурация vSAN. Используйте VMware vSAN с растянутым кластером между зонами доступности.
- Количество неудач, которые следует терпеть. Установите политику, чтобы терпеть по крайней мере один или несколько сбоев. Например, используйте макет RAID-1.
- Производительность. Настройте параметры, связанные с производительностью, чтобы оптимизировать IOPS и задержку для критически важных виртуальных машин.
- Правила сходства. Настройте правила сходства, чтобы обеспечить размещение виртуальных машин или групп виртуальных машин в отдельных узлах или доменах сбоя в растянутом кластере, чтобы обеспечить максимальную доступность во время сбоев центра обработки данных.
- Резервное копирование и репликация. Укажите интеграцию с решениями резервного копирования и репликации, чтобы обеспечить регулярное резервное копирование и репликацию данных виртуальной машины в дополнительное расположение для дополнительной защиты данных.
Recommendations
- Определите политики хранения данных в vSAN, чтобы указать избыточность и производительность, необходимые для различных дисков виртуальных машин.
- Сконфигурируйте приложения для работы в режиме "активный-активный" или "активный-пассивный", чтобы критически важные компоненты приложений могли пережить сбой при отказах центра обработки данных.
- Общие сведения о требованиях к сети каждого приложения. Приложения, выполняемые в зонах доступности, могут нести более высокую задержку, чем приложения с трафиком в пределах зоны доступности. Спроектируйте приложение так, чтобы оно могло справляться с этой задержкой.
- Запустите тесты производительности в политиках размещения, чтобы оценить их влияние на приложение.
Дальнейшие шаги
Теперь, когда вы изучили платформу приложений, узнайте, как установить подключение, создать периметры для рабочей нагрузки и равномерно распределить трафик для рабочих нагрузок приложения.
Используйте средство оценки для оценки вариантов проектирования.