Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure Service Fabric — это платформа распределенных систем, которая упрощает упаковку, развертывание и управление масштабируемыми и надежными микрослужбами и контейнерами. Эти ресурсы развертываются на подключенном к сети наборе виртуальных или физических машин, известных как кластер.
В этой статье предполагается, что в качестве архитектора вы рассмотрели дерево решений вычислений и выбрали Service Fabric в качестве вычислительной платформы для рабочей нагрузки. В этой статье приведены рекомендации по архитектуре, сопоставленные с принципами Well-Architected платформы.
Область технологий
В этом обзоре рассматриваются взаимосвязанные решения для следующих ресурсов Azure:
- Service Fabric
Note
Это руководство по обслуживанию основывается на руководстве по виртуальным машинам и масштабируемым наборам Azure. Наборы для масштабирования виртуальных машин поддерживают узлы Service Fabric. В этом руководстве по службе приведены рекомендации по работе внутреннего сервера вычислений для узлов Service Fabric.
Важно различать кластер и рабочую нагрузку в руководстве по архитектуре и конфигурации Service Fabric. Администратор кластера Service Fabric и их поставщик ресурсов несут ответственность за настройку кластера. Разработчики обрабатывают конфигурацию рабочей нагрузки. Это руководство содержит соображения и рекомендации для обеих ролей.
Следующие контрольные списки и рекомендации по проектированию указывают, применимо ли руководство к архитектуре кластера, архитектуре рабочей нагрузки или обоим.
Reliability
Цель компонента надежности заключается в обеспечении непрерывной функциональности путем создания достаточной устойчивости и возможности быстрого восстановления после сбоев.
принципы проектирования надежности обеспечивают высокоуровневую стратегию проектирования, применяемую для отдельных компонентов, системных потоков и системы в целом.
Контрольный список разработки рабочей нагрузки
Запустите стратегию проектирования, опираясь на проверочный контрольный список для проектирования надежности. Определите, насколько это отвечает вашим бизнес-требованиям, принимая во внимание надежность Service Fabric. Расширьте стратегию, чтобы включить дополнительные подходы по мере необходимости.
(Кластер) Определите соответствующий уровень надежности для кластера на основе общей целевой метрики надежности для рабочей нагрузки. Уровень надежности кластера, который определяется, определяет минимальное количество узлов для развертывания для типа основного узла. Дополнительные сведения см. в разделе "Уровни надежности".
(Кластер) Для критически важных рабочих нагрузок рекомендуется использовать зоны доступности для кластеров Service Fabric.
(Кластер) В рабочих сценариях используйте SKU стандартного управляемого кластера с уровнем надёжности Silver, для которого требуется как минимум пять виртуальных машин. Номер SKU уровня "Стандартный" обеспечивает большую надежность, чем номер SKU "Базовый", который подходит для непроизводственных сценариев.
(Кластер) Создайте дополнительные типы вторичных узлов для рабочих нагрузок, чтобы изолировать различные типы рабочих нагрузок, такие как интерфейсные службы и серверные службы. Затем вы можете самостоятельно управлять этими службами и масштабировать их. Каждый тип узла поддерживается собственным масштабируемым набором.
Рекомендации по настройке
| Recommendation | Benefit |
|---|---|
| (Кластер) Управление API Azure может напрямую интегрироваться с Service Fabric . Рассмотрите возможность использования службы управления API для предоставления и разгрузки перекрестной функциональности для интерфейсов API, размещенных в кластере. | Управление API — это шлюз приложений с расширенными возможностями, который помогает безопасно публиковать, управлять и отслеживать API, развернутые в кластере Service Fabric. |
| (Рабочая нагрузка) Для сценариев рабочей нагрузки с сохранением состояния рекомендуется использовать модель Reliable Services. | Модель Надежных служб активирует службы при возникновении сбоев системы или проблем с сетью или при возникновении сбоев в работе служб. Для служб с отслеживанием состояния состояние сохраняется при возникновении сбоев. |
Security
Цель компонента "Безопасность" — обеспечить конфиденциальности, целостности и доступности гарантии рабочей нагрузки.
Принципы проектирования безопасности обеспечивают высокоуровневую стратегию проектирования для достижения этих целей, применяя подходы к техническому проектированию Service Fabric.
Контрольный список разработки рабочей нагрузки
Начните стратегию проектирования, основываясь на контрольном списке проверки проектирования для безопасности, и выявляйте уязвимости и меры управления для улучшения состояния безопасности. Расширьте стратегию, чтобы включить дополнительные подходы по мере необходимости.
(Кластер и рабочая нагрузка) Ознакомьтесь с рекомендациями по безопасности продуктов Service Fabric. Дополнительные сведения см. в следующих ресурсах:
(Кластер) Применение сегментации сети и элементов управления. Настройте группы безопасности сети (NSG), чтобы ограничить поток трафика между подсетями и типами узлов.
(Кластер) Используйте собственные средства для безопасного управления секретами приложений и сертификатами клиента. Для управления секретами приложений используйте хранилище секретов Service Fabric. Для управления сертификатами используйте Azure Key Vault.
(Кластер) Рассмотрите возможность использования существующей подсистемы балансировки нагрузки, чтобы использовать внутреннюю подсистему балансировки нагрузки и определить различные подсистемы балансировки нагрузки и группы безопасности сети для каждого типа узла.
(Кластер) Включите интеграцию Microsoft Entra, чтобы обеспечить безопасное управление доступом к кластеру. Пользователи могут пройти проверку подлинности с помощью учетных данных Entra. Кроме того, можно использовать сертификаты клиента кластера и администратора. Не распределяйте сертификаты клиента кластера среди пользователей Service Fabric Explorer.
(Кластер и рабочая нагрузка) Создайте процесс для отслеживания даты окончания срока действия сертификатов клиента.
(Кластер и рабочая нагрузка) Обслуживание отдельных кластеров для разработки, промежуточной и рабочей среды. Рабочие среды обычно требуют более строгих элементов управления безопасностью, чем непроизводственные среды. И изоляция сред друг от друга добавляет уровень безопасности, если одна среда скомпрометирована.
Рекомендации по настройке
| Recommendation | Benefit |
|---|---|
| (Кластер) Убедитесь, что вы открываете правильные порты для развертывания приложений и рабочих нагрузок. | Эта конфигурация помогает обеспечить безопасное взаимодействие между ресурсами Service Fabric и остальной частью рабочей нагрузки. |
| (Кластер) Используйте отдельный сертификат шифрования данных для шифрования значений при использовании хранилища секретов Service Fabric для распространения секретов. | Отдельный сертификат расшифровки изолирует сертификаты, что снижает риск сбоя одной точки и обеспечивает более детализированный контроль доступа. |
| (Кластер) Примените список управления доступом (ACL) к сертификату клиента для кластера Service Fabric. | ACL обеспечивает дополнительный уровень проверки подлинности, чтобы лучше управлять доступом к сертификатам. |
| (Кластер) Используйте запросы ресурсов и ограничения для управления использованием ресурсов на узлах в кластере. | Ограничения ресурсов помогают гарантировать, что одна служба не потребляет слишком много ресурсов и лишает другие службы. |
| (Рабочая нагрузка) Включите сертификаты клиента в приложения Service Fabric. | Сертификаты клиента для проверки подлинности обеспечивают повышенную безопасность как на уровне кластера, так и на уровне рабочей нагрузки. |
| (Рабочая нагрузка) Используйте управляемое удостоверение для проверки подлинности приложений Service Fabric в ресурсах Azure. | Управляемые идентификаторы помогают безопасно управлять учетными данными в коде для аутентификации в различных службах, не сохраняя их локально на рабочей станции разработчика или в системе управления версиями. |
| (Кластер и рабочая нагрузка) Размещение ненадежных приложений: — Используйте самые мощные технологии изоляции. — удаление доступа к среде выполнения Service Fabric. — Следуйте другим рекомендациям Service Fabric. |
Эти методики помогают гарантировать, что только доверенные и проверенные приложения могут взаимодействовать с критически важными компонентами. Они также снижают влияние ненадежных приложений, имеющих уязвимости или вредоносный код в обычных операциях кластера. |
Оптимизация затрат
Оптимизация затрат фокусируется на выявлении тенденций расходов, приоритетном вложении инвестиций в критически важные области и оптимизации затрат в других сферах путем соблюдения бюджета организации при выполнении бизнес-требований.
Принципы проектирования оптимизации затрат обеспечивают высокоуровневую стратегию проектирования для достижения этих целей и обеспечения компромиссов в техническом проектировании, связанном с Service Fabric и ее средой.
Контрольный список разработки рабочей нагрузки
Начните стратегию проектирования на основе контрольного списка оценки для оптимизации затрат при инвестициях. Настройте структуру, чтобы рабочая нагрузка соответствовала бюджету, выделенному для рабочей нагрузки. Проект должен использовать правильные возможности Azure, отслеживать инвестиции и находить возможности для оптимизации с течением времени.
(Рабочая нагрузка и кластер) Используйте калькулятор цен Azure , чтобы оценить неотложную стоимость. Выбранные вами вычислительные экземпляры, хранилище, сетевые ресурсы и IP-адреса при создании кластера Service Fabric приводят к начислению платы. Сама Service Fabric не взимает плату. Дополнительные сведения о моделировании затрат см. в примере процесса вычисления затрат для планирования приложений.
(Кластер) Выберите соответствующие номера SKU виртуальных машин. Выберите виртуальные машины на основе характеристик рабочей нагрузки. Например, определите, является ли рабочая нагрузка нагружающей процессор или выполняет прерываемые процессы.
(Кластер) Выберите соответствующие номера SKU кластера. Используйте номер SKU уровня "Стандартный" для рабочих сред и номер SKU "Базовый" для непроизводственных сред, если у вас нет конкретной причины. Используйте соответствующие типы узлов и размеры в каждой среде.
(Кластер и рабочая нагрузка) Выберите соответствующие уровни и размеры управляемых дисков. Ознакомьтесь с руководством по использованию Well-Architected Framework для дискового хранилища. Чтобы предотвратить ненужные расходы на ресурсы, не используйте номера SKU виртуальных машин, которые включают временные предложения дисков.
Рекомендации по настройке
| Recommendation | Benefit |
|---|---|
| (Кластер) Рассмотрите номер SKU виртуальной машины, который включает временную поддержку дисков , если вам не нужно поддерживать состояние. | Оптимизируйте ресурсы, за которые вы платите. Временный диск вместо управляемого диска может снизить затраты на рабочие нагрузки без отслеживания состояния. |
| (Кластер и рабочая нагрузка) Соответствуйте выбор SKU для виртуальной машины требованиям к рабочей нагрузке. Убедитесь, что вы определите правильные типы узлов, размещенные в масштабируемых наборах, в соответствии с вашими требованиями. | Сопоставление вашего выбора с требованиями рабочей нагрузки помогает избежать оплаты ненужных и дорогих SKU виртуальных машин. |
| (Кластер и рабочая нагрузка) Выровняйте выбор типа диска с требованиями к рабочей нагрузке. | Соответствующий тип управляемого диска помогает избежать оплаты за дорогостоящие и ненужные типы дисков. |
Операционное превосходство
Операционное совершенство в основном сосредоточено на процедурах практики разработки, управления выпусками и наблюдаемости.
Принципы проектирования операционного превосходства обеспечивают высокоуровневую стратегию проектирования для достижения целей, связанных с операционными требованиями рабочей нагрузки.
Контрольный список разработки рабочей нагрузки
Начните формировать стратегию проектирования на основе контрольного списка проверки разработки в рамках программы Операционного Превосходства для определения процессов наблюдения, тестирования и развертывания, связанных с Service Fabric.
(Кластер и рабочая нагрузка) Интегрируйте компоненты Service Fabric, включая кластеры, связанную инфраструктуру и сам приложение, в платформу мониторинга и оповещения. Дополнительные сведения см. в разделе "Рекомендации по мониторингу".
(Кластер и рабочая нагрузка) Используйте модель работоспособности Service Fabric для непрерывного мониторинга работоспособности решения. Это инструмент должен дополнить общую модель здоровья рабочей нагрузки.
(Кластер и рабочая нагрузка) Создайте процесс для отслеживания даты окончания срока действия сертификатов клиента. Например, функция Key Vault отправляет сообщение электронной почты при истечении определенного процента срока действия сертификата.
(Кластер и рабочая нагрузка) Используйте методики непрерывной интеграции и непрерывного развертывания (CI/CD) для управления развертываниями кластера. Используйте специально созданное средство, например Azure Pipelines или Github Actions, для управления конвейерами CI/CD. Эти инструменты помогают централизованно управлять всеми развертываниями рабочих нагрузок во всех средах с соответствующими стратегиями контроля версий.
Рекомендации по настройке
| Recommendation | Benefit |
|---|---|
| (Рабочая нагрузка) Используйте Application Insights для мониторинга рабочих нагрузок. | Application Insights предоставляет комплексный мониторинг производительности приложений для динамических веб-приложений, что позволяет собирать и анализировать данные телеметрии приложений. Эта практика улучшает работоспособность приложения и мониторинг производительности. |
| (Кластер и рабочая нагрузка) Используйте Azure Monitor для мониторинга событий инфраструктуры кластера и контейнеров. | Azure Monitor предоставляет комплексные возможности мониторинга и диагностики, которые можно использовать для сбора и анализа журналов и метрик из приложений и инфраструктуры Azure. Azure Monitor хорошо интегрируется с платформой Azure, включая Service Fabric. |
| (Кластер) Внедрите соответствующие политики здоровья кластера в рамках моделирования здоровья. | Эти политики позволяют настроить оценку сбоев с точки зрения работоспособности кластера. Например, можно задать максимальный процент неработоспособных узлов, которые допускаются, прежде чем кластер считается находящимся в ошибочном состоянии. |
| (Кластер) Реализуйте соответствующие политики работоспособности приложений и типов служб в рамках моделирования работоспособности. | Политика работоспособности приложения описывает, как вычисляются события и как объединяются состояния работоспособности приложений и их дочерних компонентов. Service Fabric считает сущность неработоспособной, если у нее есть отчет о работоспособности или если какой-либо из дочерних компонентов содержит предупреждение или состояние ошибки. |
| (Кластер и рабочая нагрузка) Используйте Azure Chaos Studio для внедрения сбоев в решение в рамках стратегии тестирования. | Намеренное внедрение сбоев в решение помогает выявлять потенциальные точки сбоя и практиковать меры реагирования на инциденты. |
| (Кластер и рабочая нагрузка) Используйте Azure Pipelines в качестве решения CI/CD. | Решение CI/CD, например Azure Pipelines, помогает эффективно управлять развертываниями, согласованно и безопасно. В Azure Pipelines поддерживается встроенная поддержка развертываний для Service Fabric. |
Эффективность производительности
Эффективность производительности заключается в поддержании пользовательского опыта даже при увеличении нагрузки путем управления мощностями. Стратегия включает масштабирование ресурсов, выявление и оптимизацию потенциальных узких мест, а также оптимизацию для пиковой производительности.
Принципы проектирования производительности и эффективности обеспечивают стратегию высокого уровня для достижения целей по производительности в условиях ожидаемого использования.
Контрольный список разработки рабочей нагрузки
Начните стратегию проектирования, основываясь на контрольном списке проверок разработки для обеспечения эффективности для определения основных показателей производительности для Service Fabric.
(Кластер) Воспользуйтесь преимуществами оптимизации производительности и улучшения функций, необходимых рабочей нагрузке. Рекомендации по базовой вычислительной платформе см. в руководстве по службе виртуальных машин.
(Кластер) Разверните виртуальные машины и размеры дисков, которые соответствуют вашим требованиям к производительности, не вызывая ненужных расходов на неиспользуемую емкость. Убедитесь, что вы можете легко добавить емкость для удовлетворения будущих планов роста.
(Рабочая нагрузка) Общие сведения о моделях программирования, поддерживаемых Service Fabric. Выберите лучшую модель для требований к рабочей нагрузке. Каждая модель программирования имеет уникальные преимущества и недостатки, а определенные требования к рабочей нагрузке могут соответствовать одной модели лучше, чем другие.
(Рабочая нагрузка) Используйте установленные шаблоны облачной архитектуры для разработки рабочей нагрузки. Шаблоны, дополняющие проекты приложений Service Fabric, включают микрослужбы, управляемые событиями и шаблоны архитектуры фоновой обработки .
Рекомендации по настройке
| Recommendation | Benefit |
|---|---|
| (Кластер) Исключите процессы Service Fabric, выполняемые на виртуальных машинах Windows, из антивирусной программы Microsoft Defender, если политики безопасности позволяют исключить процессы и пути для программного обеспечения с открытым кодом. | Эта конфигурация снижает влияние на производительность и затраты на потребление ресурсов, которые влечет за собой антивирусная программа Microsoft Defender. |
| (Кластер) Включите автоматическое масштабирование для кластера, чтобы добавлять или уменьшать узлы по запросу на дополнительный тип узла. | Автоматическое масштабирование снижает затраты на управление и потенциальное влияние на бизнес, так как вы можете отслеживать и оптимизировать количество узлов, которые обслуживают рабочую нагрузку. |
| (Кластер) Рассмотрите возможность использования ускоренной сети. | Ускоренная сетевая обработка обеспечивает высокопроизводительный канал, который обходит хост в пути данных, что снижает задержку, джиттер и использование ЦП для наиболее требовательных сетевых рабочих нагрузок. |
| (Кластер) Рекомендуется использовать шифрование на узле вместо шифрования дисков Azure. | Шифрование на узле поддерживает все типы и образы ОС, включая пользовательские образы, зашифровав данные виртуальной машины в службе хранилища Azure. Шифрование дисков Azure не поддерживает эти функции. |
| (Рабочая нагрузка) Реализуйте модели программирования Service Fabric , которые лучше всего подходят для рабочей нагрузки. | Соответствующая модель программирования использует встроенные функции, поддерживающие требования рабочей нагрузки, такие как управление состоянием, параллелизм и повторное использование существующей базы кода. Чтобы поддерживать стандарты развертывания, выберите модель программирования, которая соответствует этим стандартам. |
| (Кластер и рабочая нагрузка) Реализуйте масштабирование в соответствии с бизнес-требованиями. Найдите правильный механизм масштабирования для рабочей нагрузки. | Масштабирование обеспечивает максимальное использование ресурсов для решения. |
Политики Azure
Azure предоставляет широкий набор встроенных политик, связанных с Service Fabric и его зависимостями. Некоторые из предыдущих рекомендаций можно проверять с помощью политики Azure. Например, можно проверить, можно ли:
- Кластеры Service Fabric настроены быть устойчивыми к отказам между зонами.
- В кластерах Service Fabric свойство
ClusterProtectionLevelзадано какEncryptAndSign. - Кластеры Service Fabric настроены только для использования идентификатора Microsoft Entra для проверки подлинности клиента.
Для комплексного управления ознакомьтесь со встроенными определениями политики Azure для Service Fabric и других политик, которые могут повлиять на безопасность кластеров и приложений.
Рекомендации помощника по Azure
Помощник по Azure — это персонализированный облачный консультант, который поможет вам следовать рекомендациям по оптимизации развертываний Azure.
Для получения дополнительной информации см. Azure Advisor.
Пример архитектуры
Базовая архитектура, демонстрирующая ключевые рекомендации: оркестрация контейнеров для микрослужб.