Обзор Azure Well-Architected Framework — Azure Service Fabric
Azure Service Fabric — это платформа распределенных систем, которая упрощает упаковку, развертывание и управление масштабируемыми и надежными микрослужбами и контейнерами. Эти ресурсы развертываются на подключенном к сети наборе виртуальных или физических машин, который называется кластером.
В Azure Service Fabric есть две модели кластеров: стандартные кластеры и управляемые кластеры.
Стандартные кластеры требуют определения ресурса кластера вместе с рядом вспомогательных ресурсов. Эти ресурсы должны быть правильно настроены при развертывании и поддерживаться правильно на протяжении всего жизненного цикла кластера. В противном случае кластер и службы не будут работать должным образом.
Управляемые кластеры упрощают операции развертывания и управления. Модель управляемого кластера состоит из одного ресурса управляемого кластера Service Fabric, который инкапсулирует и абстрагирует базовые ресурсы.
В этой статье рассматривается в основном модель управляемого кластера для простоты. Однако вызовы выполняются для любых специальных соображений, которые применяются к стандартной модели кластера .
В этой статье описаны рекомендации по архитектуре Azure Service Fabric. Руководство основано на пяти основных принципах архитектурного превосходства:
- Надежность
- Безопасность
- Оптимизация затрат
- Эффективность работы
- Оптимизация производительности
Необходимые компоненты
Понимание основных компонентов хорошо спроектированной платформы может помочь создать высококачественную, стабильную и эффективную облачную архитектуру. Ознакомьтесь со страницей обзора Azure Well-Architected Framework, чтобы ознакомиться с пятью основными аспектами архитектуры.
Ознакомьтесь с основными понятиями архитектуры Azure Service Fabric и микрослужб, которые помогут вам понять контекст рекомендаций, описанных в этой статье.
Надежность
В следующих разделах рассматриваются рекомендации по проектированию и конфигурации, относящиеся к Azure Service Fabric и надежности.
При обсуждении надежности в Azure Service Fabric важно различать надежность кластера и надежность рабочей нагрузки. Надежность кластера — это общая ответственность между администратором кластера Service Fabric и их поставщиком ресурсов, а надежность рабочей нагрузки — это домен разработчика. Azure Service Fabric имеет рекомендации и рекомендации для обеих этих ролей.
В контрольном списке конструктора и списке рекомендаций ниже выносятся вызовы, чтобы указать, подходит ли каждый выбор к архитектуре кластера, архитектуре рабочей нагрузки или обоим.
Дополнительные сведения о надежности кластера Azure Service Fabric см. в документации по планированию емкости.
Дополнительные сведения о надежности рабочей нагрузки Azure Service Fabric см . в подсистеме надежности, включенной в архитектуру Service Fabric.
Контрольный список проектирования
При выборе дизайна для Azure Service Fabric ознакомьтесь с принципами проектирования для добавления надежности в архитектуру.
- Архитектура кластера. Используйте стандартный номер SKU для рабочих сценариев. Стандартный кластер: используйте уровень устойчивости Silver (5 виртуальных машин) или больше для рабочих сценариев.
- Архитектура кластера. Для критически важных рабочих нагрузок рекомендуется использовать Зоны доступности для кластеров Service Fabric.
- Архитектура кластера. Для рабочих сценариев используйте подсистему балансировки нагрузки уровня "Стандартный". Управляемые кластеры создают общедоступный экземпляр Azure Load Balancer (цен. категория "Стандартный") и полное доменное имя со статическим общедоступным IP-адресом для первичных и вторичных узлов. Вы также можете использовать собственную подсистему балансировки нагрузки, которая поддерживает подсистемы балансировки нагрузки SKU уровня "Базовый" и "Стандартный".
- Архитектура кластера: создание дополнительных типов вторичных узлов для рабочих нагрузок.
Рекомендации
Ознакомьтесь со следующей таблицей рекомендаций по оптимизации конфигурации Azure Service Fabric для обеспечения надежности службы.
Рекомендация для Azure Service Fabric | Преимущества |
---|---|
Архитектура кластера. Используйте стандартный номер SKU для рабочих сценариев. | Этот уровень гарантирует, что поставщик ресурсов поддерживает надежность кластера. Стандартный кластер: управляемый кластер SKU уровня "Стандартный" обеспечивает эквивалент уровня устойчивости Silver. Чтобы добиться этого с помощью стандартной модели кластера, потребуется использовать 5 виртуальных машин (или более). |
Архитектура кластера. Рекомендуется использовать Зоны доступности для кластеров Service Fabric. | Управляемый кластер Service Fabric поддерживает развертывания, охватывающие несколько Зон доступности, чтобы обеспечить устойчивость зоны. Такая конфигурация обеспечит высокую доступность критически важных системных служб и приложений для защиты от отдельных неисправных точек. |
Архитектура кластера. Рассмотрите возможность использования Azure Управление API для предоставления и разгрузки перекрестных функций для API, размещенных в кластере. | Управление API может интегрироваться с Service Fabric напрямую. |
Архитектура рабочей нагрузки. Для сценариев рабочей нагрузки с отслеживанием состояния рекомендуется использовать надежные службы. | Модель Надежных служб позволяет службам оставаться даже в ненадежных средах, когда компьютеры завершаются ошибкой или сбоем сети, или в случаях, когда сами службы сталкиваются с ошибками и сбоем или сбоем. В службах с отслеживанием состояния состояние сохраняется даже при наличии ошибок сети или других сбоев. |
Дополнительные предложения см. в разделе "Принципы обеспечения надежности".
Безопасность
В следующих разделах рассматриваются рекомендации по проектированию и конфигурации, относящиеся к Azure Service Fabric и безопасности.
При обсуждении безопасности в Azure Service Fabric важно различать безопасность кластера и безопасность рабочей нагрузки. Безопасность кластера является общей ответственностью между администратором кластера Service Fabric и их поставщиком ресурсов, а безопасность рабочей нагрузки является доменом разработчика. Azure Service Fabric имеет рекомендации и рекомендации для обеих этих ролей.
В контрольном списке конструктора и списке рекомендаций ниже выносятся вызовы, чтобы указать, подходит ли каждый выбор к архитектуре кластера, архитектуре рабочей нагрузки или обоим.
Дополнительные сведения о безопасности кластера Azure Service Fabric см. в сценариях безопасности кластера Service Fabric.
Дополнительные сведения о безопасности рабочей нагрузки Azure Service Fabric см. в справочнике по приложению и службе Service Fabric.
Контрольный список проектирования
При выборе дизайна для Azure Service Fabric ознакомьтесь с принципами проектирования для добавления безопасности в архитектуру.
- Архитектура кластера. Убедитесь, что группы безопасности сети (NSG) настроены для ограничения потока трафика между подсетями и типами узлов. Убедитесь, что для развертывания приложений и рабочих нагрузок открыты правильные порты .
- Архитектура кластера. При использовании хранилища секретов Service Fabric для распространения секретов используйте отдельный сертификат шифрования данных для шифрования значений.
- Архитектура кластера. Развертывание сертификатов клиента путем добавления их в Azure Key Vault и ссылки на универсальный код ресурса (URI) в развертывании.
- Архитектура кластера. Включите интеграцию Microsoft Entra для кластера, чтобы пользователи могли получить доступ к Service Fabric Explorer с помощью учетных данных Microsoft Entra. Не распределяйте сертификаты клиента кластера среди пользователей для доступа к обозревателе.
- Архитектура кластера. Для проверки подлинности клиента используйте сертификаты клиента только для чтения и (или) проверку подлинности Microsoft Entra.
- Архитектура кластера и рабочей нагрузки: создание процесса для мониторинга даты окончания срока действия сертификатов клиента.
- Архитектура кластера и рабочей нагрузки: обслуживание отдельных кластеров для разработки, промежуточного хранения и рабочей среды.
Рекомендации
Рассмотрим следующие рекомендации по оптимизации конфигурации Azure Service Fabric для обеспечения безопасности:
Рекомендация для Azure Service Fabric | Преимущества |
---|---|
Архитектура кластера. Убедитесь, что группы безопасности сети (NSG) настроены для ограничения потока трафика между подсетями и типами узлов. | Например, у вас может быть экземпляр Управление API (одна подсеть), интерфейсная подсеть (предоставление веб-сайта напрямую) и серверная подсеть (доступная только для внешнего интерфейса). |
Архитектура кластера. Развертывание сертификатов Key Vault в масштабируемых наборах виртуальных машин кластера Service Fabric. | Централизованное хранение секретов приложения в Azure Key Vault позволяет управлять их распространением. Key Vault значительно снижает вероятность случайной утечки секретов. |
Архитектура кластера. Примените список контроль доступа (ACL) к сертификату клиента для кластера Service Fabric. | Использование ACL обеспечивает дополнительный уровень проверки подлинности. |
Архитектура кластера: используйте запросы ресурсов и ограничения для управления использованием ресурсов на узлах в кластере. | Применение ограничений ресурсов помогает убедиться, что одна служба не потребляет слишком много ресурсов и сокращает другие службы. |
Архитектура рабочей нагрузки: шифрование значений секрета пакета Service Fabric. | Шифрование в значениях секретов обеспечивает дополнительный уровень безопасности. |
Архитектура рабочей нагрузки: включение сертификатов клиента в приложения Service Fabric. | Наличие в приложениях сертификатов клиента для проверки подлинности обеспечивает возможность безопасности как на уровне кластера, так и на уровне рабочей нагрузки. |
Архитектура рабочей нагрузки: проверка подлинности приложений Service Fabric в ресурсах Azure с помощью управляемого удостоверения. | Использование управляемого удостоверения позволяет безопасно управлять учетными данными в коде для проверки подлинности в различных службах, не сохраняя их локально на рабочей станции разработчика или в системе управления версиями. |
Архитектура кластера и рабочей нагрузки. Следуйте рекомендациям Service Fabric при размещении ненадежных приложений. | Следуя рекомендациям, вы следуйте рекомендациям по обеспечению безопасности. |
Дополнительные предложения см. в разделе "Принципы обеспечения безопасности".
Помощник по Azure помогает обеспечить и повысить безопасность Azure Service Fabric. Рекомендации можно просмотреть в разделе Помощника по Azure в этой статье.
Определения политик
Политика Azure помогает поддерживать стандарты организации и оценивать соответствие между ресурсами. При настройке Azure Service Fabric следует учитывать следующие встроенные политики:
- Для кластеров Service Fabric должно быть задано
EncryptAndSign
свойство ClusterProtectionLevel. Это значение по умолчанию для управляемых кластеров и не изменяется. Стандартный кластер: убедитесь, что для clusterProtectionLevel задано значениеEncryptAndSign
. - Кластеры Service Fabric должны использовать только идентификатор Microsoft Entra для проверки подлинности клиента.
Все встроенные определения политик, связанные с Azure Service Fabric, перечислены в встроенных политиках — Service Fabric.
Оптимизация затрат
В следующих разделах рассматриваются рекомендации по проектированию и рекомендации по настройке, относящиеся к Azure Service Fabric и оптимизации затрат.
При обсуждении оптимизации затрат с помощью Azure Service Fabric важно различать затраты на ресурсы кластера и затраты на рабочие нагрузки. Ресурсы кластера являются общими ответственностью между администратором кластера Service Fabric и их поставщиком ресурсов, а ресурсы рабочей нагрузки являются доменом разработчика. Azure Service Fabric имеет рекомендации и рекомендации для обеих этих ролей.
В контрольном списке конструктора и списке рекомендаций ниже выносятся вызовы, чтобы указать, подходит ли каждый выбор к архитектуре кластера, архитектуре рабочей нагрузки или обоим.
Для оптимизации затрат кластера перейдите к калькулятору цен Azure и выберите Azure Service Fabric из доступных продуктов. Вы можете протестировать различные планы конфигурации и оплаты в калькуляторе.
Дополнительные сведения о ценах на рабочую нагрузку Azure Service Fabric см. в примере процесса вычисления затрат для планирования приложений.
Контрольный список проектирования
При выборе дизайна Для Azure Service Fabric ознакомьтесь с принципами проектирования для оптимизации стоимости архитектуры.
- Архитектура кластера. Выберите соответствующий номер SKU виртуальной машины.
- Архитектура кластера: используйте соответствующий тип узла и размер.
- Архитектуры кластера и рабочей нагрузки: используйте соответствующий уровень и размер управляемого диска.
Рекомендации
Ознакомьтесь со следующей таблицей рекомендаций по оптимизации конфигурации Azure Service Fabric для затрат:
Рекомендация для Azure Service Fabric | Преимущества |
---|---|
Архитектура кластера. Избегайте номеров SKU виртуальных машин с предложениями временных дисков. | Service Fabric использует управляемые диски по умолчанию, поэтому избежать предложений временных дисков гарантирует, что вы не платите за ненужные ресурсы. |
Архитектура кластера. Если необходимо выбрать определенный номер SKU виртуальной машины по соображениям емкости, и это может предложить временный диск, рассмотрите возможность использования временной поддержки дисков для рабочих нагрузок без отслеживания состояния. | Сделайте большую часть ресурсов, за которые вы оплачиваете. Использование временного диска вместо управляемого диска может снизить затраты на рабочие нагрузки без отслеживания состояния. |
Архитектура кластера и рабочей нагрузки: выравнивание размера SKU и размера управляемого диска с требованиями к рабочей нагрузке. | Сопоставление выбора с требованиями рабочей нагрузки гарантирует, что вы не платите за ненужные ресурсы. |
Дополнительные предложения см. в разделе "Принципы оптимизации затрат".
Эффективность работы
В следующих разделах рассматриваются рекомендации по проектированию и конфигурации, относящиеся к Azure Service Fabric и операционному превосходству.
При обсуждении безопасности с помощью Azure Service Fabric важно различать операции кластера и операции рабочей нагрузки. Операция кластера — это общая ответственность между администратором кластера Service Fabric и их поставщиком ресурсов, а операция рабочей нагрузки — это домен разработчика. Azure Service Fabric имеет рекомендации и рекомендации для обеих этих ролей.
В контрольном списке конструктора и списке рекомендаций ниже выносятся вызовы, чтобы указать, подходит ли каждый выбор к архитектуре кластера, архитектуре рабочей нагрузки или обоим.
Контрольный список проектирования
При выборе дизайна для Azure Service Fabric ознакомьтесь с принципами проектирования для повышения эффективности работы.
- Архитектура кластера: подготовка решения для мониторинга кластера.
- Архитектура кластера. Просмотрите политики работоспособности кластера в модели работоспособности Service Fabric.
- Архитектура рабочей нагрузки: подготовка решения для мониторинга приложений.
- Архитектура рабочей нагрузки. Просмотрите политики работоспособности приложений и типов служб в модели работоспособности Service Fabric.
- Архитектура кластера и рабочей нагрузки: подготовка решения для мониторинга инфраструктуры.
- Архитектура кластера и рабочей нагрузки. Проектирование кластера с помощью конвейеров сборки и выпуска для непрерывной интеграции и развертывания.
Рекомендации
Ознакомьтесь со следующей таблицей рекомендаций, чтобы оптимизировать конфигурацию Azure Service Fabric для обеспечения эффективности работы:
Рекомендация для Azure Service Fabric | Преимущества |
---|---|
Архитектура рабочей нагрузки: используйте Application Insights для мониторинга рабочих нагрузок. | Application Insights интегрируется с платформой Azure, включая Service Fabric. |
Архитектура кластера и рабочей нагрузки: создание процесса для мониторинга даты окончания срока действия сертификатов клиента. | Например, Key Vault предлагает функцию, которая отправляет сообщение электронной почты по истечении x% от срока действия сертификата. |
Архитектуры кластеров и рабочих нагрузок. Для предварительно производственных кластеров используйте Azure Chaos Studio для детализации сбоев службы при сбое экземпляра масштабируемого набора виртуальных машин. | Практические сценарии нарушения работы служб помогут вам понять, что находится под угрозой в вашей инфраструктуре и как лучше устранить проблемы, если они возникают. |
Архитектура кластера и рабочей нагрузки: используйте Azure Monitor для мониторинга событий инфраструктуры кластера и контейнеров. | Azure Monitor хорошо интегрируется с платформой Azure, включая Service Fabric. |
Архитектуры кластеров и рабочих нагрузок: используйте Azure Pipelines для непрерывной интеграции и развертывания. | Azure Pipelines хорошо интегрируется с платформой Azure, включая Service Fabric. |
Дополнительные предложения см. в разделе "Принципы операционного превосходства".
Оптимизация производительности
В следующем разделе рассматриваются рекомендации по настройке, относящиеся к Azure Service Fabric и эффективности производительности.
При обсуждении безопасности с помощью Azure Service Fabric важно различать операции кластера и операции рабочей нагрузки. Производительность кластера является общей ответственностью между администратором кластера Service Fabric и их поставщиком ресурсов, а производительность рабочей нагрузки — это домен разработчика. Azure Service Fabric имеет рекомендации и рекомендации для обеих этих ролей.
В контрольном списке конструктора и списке рекомендаций ниже выносятся вызовы, чтобы указать, подходит ли каждый выбор к архитектуре кластера, архитектуре рабочей нагрузки или обоим.
Дополнительные сведения о том, как Azure Service Fabric может частично устранить проблемы с производительностью для вашей рабочей нагрузки с помощью счетчиков производительности Service Fabric, см. в статье Рекомендации по мониторингу и диагностике для Azure Service Fabric.
Контрольный список проектирования
- Архитектура кластера. Исключите процессы Service Fabric из Защитника Windows для повышения производительности.
- Архитектура кластера. Выберите соответствующий номер SKU виртуальной машины.
- Архитектура рабочей нагрузки: определите, какая модель программирования будет использоваться для служб.
- Архитектуры кластера и рабочей нагрузки: используйте соответствующий уровень и размер управляемого диска.
Рекомендации
Рассмотрим следующие рекомендации по оптимизации конфигурации Azure Service Fabric для повышения производительности.
Рекомендация для Azure Service Fabric | Преимущества |
---|---|
Архитектура кластера. Исключите процессы Service Fabric из Защитника Windows для повышения производительности. | По умолчанию антивирусная программа "Защитник Windows" установлена в Windows Server 2016 и 2019. Чтобы снизить влияние на производительность и затраты на потребление ресурсов, связанные с Защитником Windows, и если политики безопасности позволяют исключить процессы и пути для программного обеспечения с открытым исходным кодом, можно исключить. |
Архитектура кластера. Рекомендуется использовать автомасштабирование для кластера. | Автомасштабирование предоставляет большую эластичность и позволяет добавлять или удалять узлы по запросу на узле дополнительного типа. Подобная автоматическая гибкая реакция на событие снижает расходы на управление и потенциальные последствия для бизнеса за счет мониторинга и оптимизации количества узлов, обслуживающих рабочую нагрузку. |
Архитектура кластера: рекомендуется использовать ускоренную сеть. | Ускорение сети обеспечивает высокопроизводительный путь, который проходит узел из пути к данным, что снижает задержку, jitter и загрузку ЦП для наиболее требовательных сетевых рабочих нагрузок. |
Архитектура кластера: использование шифрования на узле вместо Шифрование дисков Azure (ADE). | Этот метод шифрования улучшает ADE, поддерживая все типы и образы ОС, включая пользовательские образы, для виртуальных машин путем шифрования данных в службе служба хранилища Azure. |
Архитектура рабочей нагрузки. Просмотрите модели программирования Service Fabric, чтобы решить, какую модель лучше всего подходит для ваших служб. | Service Fabric поддерживает несколько моделей программирования. Каждый из них имеет свои собственные преимущества и недостатки. Зная о доступных моделях программирования, вы можете сделать лучший выбор для разработки служб. |
Архитектура рабочей нагрузки. Используйте микрослужбы с слабой связью для рабочих нагрузок, где это необходимо. | Использование микрослужб позволяет получить большую часть возможностей Service Fabric. |
Архитектура рабочей нагрузки: используйте архитектуру на основе событий для рабочих нагрузок, где это необходимо. | Использование архитектуры на основе событий позволяет получить большую часть функций Service Fabric. |
Архитектура рабочей нагрузки: используйте фоновую обработку для рабочих нагрузок, где это необходимо. | Использование фоновой обработки позволяет получить большую часть возможностей Service Fabric. |
Архитектура кластера и рабочей нагрузки. Просмотрите различные способы масштабирования решения в Service Fabric. | Масштабирование можно использовать для включения максимального использования ресурсов для решения. |
Дополнительные предложения см . в разделе "Принципы эффективности производительности".
Рекомендации Помощника по Azure
Помощник по Azure — это персонализированный облачный консультант, который помогает следовать рекомендациям по оптимизации развернутых служб Azure. Ниже приведены некоторые рекомендации, которые помогут повысить надежность, безопасность, эффективность затрат, производительность и эффективность работы при использовании Azure Service Fabric.
Безопасность
- Для кластеров Service Fabric должно быть задано
EncryptAndSign
свойство ClusterProtectionLevel. Это значение по умолчанию для управляемых кластеров и не изменяется. Стандартный кластер: убедитесь, что для clusterProtectionLevel задано значениеEncryptAndSign
. - Кластеры Service Fabric должны использовать только идентификатор Microsoft Entra для проверки подлинности клиента.
Дополнительные ресурсы
Ознакомьтесь со статьей о параметрах конфигурации управляемого кластера Azure Service Fabric, чтобы получить список всех параметров при создании и обслуживании кластера.
Ознакомьтесь с основами архитектуры приложений Azure, чтобы узнать, как разрабатывать рабочие нагрузки. Хотя Service Fabric можно использовать исключительно как платформу размещения контейнеров, используя хорошо спроектированные рабочие нагрузки, используют полные функциональные возможности Service Fabric.
Следующие шаги
Используйте эти рекомендации при создании управляемого кластера Service Fabric с помощью шаблона ARM или с помощью портал Azure: