Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Центры событий Azure — это платформа потоковой передачи данных в режиме реального времени и служба приема событий, которая может получать и обрабатывать миллионы событий в секунду. Она предоставляет единую платформу потоковой передачи с буфером хранения времени, отделяя производителей событий от потребителей событий. Центры событий изначально интегрируются со службами аналитики Azure и поддерживают несколько протоколов, включая AMQP, Apache Kafka и HTTPS для гибкой архитектуры потоковой передачи событий.
В этой статье предполагается, что в качестве архитектора вы рассмотрели дерево принятия решений для обмена сообщениями и выбрали Центры событий Azure в качестве решения для обмена сообщениями для рабочей нагрузки.
В этой статье приведены рекомендации по архитектуре, сопоставленные с принципами Well-Architected платформы.
Область технологий
В этом обзоре рассматриваются взаимосвязанные решения для следующих ресурсов Azure:
- Центры событий Azure
Reliability
Цель компонента надежности заключается в обеспечении непрерывной функциональности путем создания достаточной устойчивости и возможности быстрого восстановления после сбоев.
принципы проектирования надежности обеспечивают высокоуровневую стратегию проектирования, применяемую для отдельных компонентов, системных потоков и системы в целом.
Контрольный список разработки рабочей нагрузки
Начните стратегию проектирования на основе контрольного списка для проверки надежности. Определите свою релевантность бизнес-требований, учитывая характер приложения и критически важное значение его компонентов. Расширьте стратегию, чтобы включить дополнительные подходы по мере необходимости.
Просмотрите квоты и ограничения, которые могут ограничить разработку: Анализ квот и ограничений, влияющих на решения архитектуры. Для масштабных сценариев следует учитывать ограничения разделов, связанные с различными уровнями сервиса, так как они значительно отличаются.
Определите, сколько единиц пропускной способности или единиц обработки требуется. Эти параметры определяют емкость приема сообщений и устанавливают границы масштабирования для рабочей нагрузки. Поддерживайте размер полезной нагрузки в пределах максимального размера сообщения для выбранного уровня.
Выберите соответствующие периоды хранения сообщений, удовлетворяющие уровню служб и требованиям к восстановлению и воспроизведению. Спланируйте архитектуру вашего приложения с учетом ограничений группы клиентов для каждого пространства имен.
Предвидеть потенциальные сбои с помощью анализа режима сбоя: Анализ режима сбоев обеспечивает систематический подход для выявления сбоев и создания стратегий устранения рисков, которые обеспечивают устойчивость службы обмена сообщениями.
Failure Смягчение последствий Пространство имен недоступно Реализация мониторинга и оповещений для раннего обнаружения (см. рекомендации по мониторингу). Планирование возможностей отработки отказа между регионами. Раздел недоступен Разработка стратегий распределения секций для предотвращения отдельных точек сбоя. Реализуйте логику повторных попыток с экспоненциальным откатом в производителях и потребителях. Большие объемы сообщений превышают ограничения пропускной способности Планирование масштабирования емкости для обработки пиков трафика. Реализуйте механизм ограничения нагрузки на стороне клиента с помощью шаблонов предохранителя. Определите целевые показатели надежности для рабочих нагрузок потоковой передачи событий: Задайте четкие целевые показатели надежности для руководства по архитектуре решений и операционных методик. Определите цели уровня обслуживания ,которые включают доступность сообщений, задержку обработки потребителей и сквозную производительность доставки. Используйте индикаторы уровня обслуживания (SLIS) для измерения этих метрик.
Задайте целевые показатели доступности, которые соответствуют гарантии соглашения об уровне обслуживания (SLA) 99,9% для уровня "Стандартный" и 99,99% для выделенного уровня. Оцените требования к периоду хранения, которые непосредственно влияют на цели восстановления и решения по выбору уровней для рабочей нагрузки.
Реализуйте стратегии избыточности для устранения отдельных точек сбоя: Добавьте несколько уровней избыточности, включая зоны доступности, георепликацию и распределение секций. Включите избыточность на уровне зон в уровнях обслуживания «Premium» и «Dedicated» для автоматической репликации в разных зонах доступности с прозрачным переключением на резервный узел в том же регионе.
Используйте георепликацию для пространств имен выделенного уровня, чтобы включить асинхронную репликацию событий и метаданных в нескольких регионах в режиме реального времени. Этот подход предоставляет возможности региональной резервной системы при отказах.
Добавьте уровневую избыточность разделов и приложений и используйте равномерное распределение ключей разделов, чтобы предотвратить горячие точки. Разверните модели резервирования производителей и потребителей, чтобы обеспечить продолжение операций в случае отказа экземпляров. Добавьте резервирование учетной записи для хранения данных, чтобы защитить данные, связанные с контрольными точками, необходимые для управления состоянием потребителя.
Проектирование надежного масштабирования для обработки переменных рабочих нагрузок: Настройте масштабирование инфраструктуры с помощью автоматического увеличения на уровнях "Стандартный" и "Премиум". Эта функция автоматически масштабирует единицы пропускной способности во время пиков трафика. Используйте выделенный уровень для прогнозируемой производительности с зарезервированной емкостью.
Тщательное планирование масштабирования секций, так как после создания не удается уменьшить число секций. Реализуйте масштабирование на уровне приложения с помощью шаблонов производителя, которые распределяют нагрузку между секциями. Для оптимальной пропускной способности выберите соответствующие ключи партиций и согласуйте экземпляры групп потребителей с количеством партиций.
Реализуйте мониторинг и оповещения для надежности: Настройте Azure Monitor для сбора метрик. Отслеживайте объем приема сообщений, использование пропускной способности и задержку потребителей. Добавьте метрики инфраструктуры для мониторинга работоспособности пространства имен.
Настройте пороговые значения, соответствующие ЦЕЛ и уровню воздействия на бизнес. Отслеживайте многомерные метрики для получения детализированной видимости на уровнях пространства имен, концентратора событий и разделов.
Настройте Центры событий для самосохранения и корректной деградации: Центры событий не включают встроенную очередь недоставленных писем. Реализуйте пользовательские шаблоны для обработки подозрительных сообщений и использования шаблонов разбиения цепи для защиты трафика во время сценариев восстановления.
Изоляция потребителей путем создания отдельных групп потребителей с одним активным приемником для каждой группы. Настройте обработку исключений пакета SDK для корректного перехвата
EventHubsExceptionилиOperationCancelledExceptionиз стратегий повторных попыток. Включите функцию отслеживания, чтобы обеспечить устойчивое хранилище для сценариев воспроизведения событий и восстановления.Выполните тестирование надежности для проверки устойчивости: Используйте тесты надежности, чтобы убедиться, что рабочая нагрузка соответствует целевым показателям доступности и производительности. Включите следующие тесты:
Тестирование доступности разделов, восстановление лага потребителей и масштабирование пропускной способности в условиях реалистичной потоковой передачи.
Выполните стресс-тестирование, чтобы проверить производительность в ожидаемых и пиковых условиях трафика.
Выполните тестирование задержки обработки, чтобы согласовать скорость обработки со скоростью приема данных.
Проверьте устойчивость решения с помощью инженерии хаоса и введя преднамеренные сбои.
Выполните тестирование переключения на резерв, чтобы проверить возможности географического восстановления после катастроф и избыточности зоны.
Тестирование сбоев зависимостей для Azure-хранилища и других зависимых служб.
Разработка стратегии аварийного восстановления для обеспечения непрерывности бизнес-процессов: Используйте гео-аварийное восстановление для уровней "Стандартный" и "Премиум" или георепликацию для выделенного уровня, чтобы содержать региональные возможности отказоустойчивости. Определите цель времени восстановления (RTO) и целевую точку восстановления (RPO) на основе бизнес-требований. Выберите режимы аварийного восстановления, такие как активный-пассивный для оптимизации затрат или активный-активный для минимального RTO.
Используйте географическое восстановление после сбоев для уровней "Стандартный" и "Премиум", чтобы обеспечить репликацию метаданных между сопряженными пространствами имен в разных регионах. Эта конфигурация предоставляет возможности автоматического переключения при отказах во время региональных сбоев. Реализуйте возможности отказоустойчивости на стороне клиента для ускорения восстановления. Оцените требования к согласованности данных для выбранного шаблона.
Создайте планы обеспечения непрерывности операций, которые включают документированные процедуры резервного копирования для метаданных и сместов потребителей, рабочие инструкции, планы связи и регулярное тестирование аварийного восстановления по расписанию.
Рекомендации по настройке
| Recommendation | Преимущества |
|---|---|
| Включите избыточность зоны доступности при создании пространства имен, выбрав регион Azure с поддержкой зоны доступности. | Обеспечивает автоматическую отработку отказа на уровне центра обработки данных с минимальным временем восстановления и без изменений в приложении. |
| Включите георепликацию для пространств имен выделенного уровня для репликации событий и метаданных в нескольких регионах в реальном времени. Настройте первичные и вторичные регионы с соответствующим сетевым подключением и отслеживайте метрики задержки репликации, чтобы обеспечить согласованность данных между регионами. |
Обеспечивает региональную отказоустойчивость и минимальную потерю данных в условиях региональных сбоев. |
| Настройте связь для гео-дисастерного восстановления между основными и вторичными пространствами имен, а затем настройте псевдоним для пары пространств имен. Обновите строки подключения, чтобы использовать псевдоним для прозрачного переключения при отказе. | Включает возможность перехода на резервный регион с прозрачным переключением клиента с использованием подключения псевдонима. Эта конфигурация обеспечивает непрерывность бизнес-процессов во время региональных сбоев. |
| Реализуйте хэш-ключи секций для распределения событий и задайте соответствующее число секций во время создания концентратора событий. Отслеживайте метрики уровня партиции для обнаружения горячих точек и проверки балансировки нагрузки. | Запрещает горячие точки секции и обеспечивает горизонтальное масштабирование с помощью сбалансированного распределения нагрузки между секциями. |
| Включите автоматическое расширение для пространств имен уровня "Стандартный" и задайте максимальные единицы пропускной способности на основе проекций пиковой нагрузки. Используйте уровень "Премиум" для устойчивых рабочих нагрузок с высокой пропускной способностью, требующих прогнозируемой производительности. | Предотвращает ограничение скорости приема данных с помощью автоматического масштабирования емкости и поддерживает стабильную доступность во время колебаний нагрузки без необходимости ручного вмешательства. |
| Настройте оповещения в Azure Monitor для Event Hubs на задержку потребителей, использование пропускной способности и ограничение скорости обработки событий. Задайте пороговые значения, которые соответствуют соглашениям об уровне обслуживания. Включите оповещения о сбоях подключения и проверки подлинности, а затем создайте группы действий оповещений для реагирования на инциденты. |
Обеспечивает раннее обнаружение проблем, сокращает время реагирования на инциденты и предоставляет аналитические сведения о планировании емкости с помощью мониторинга. |
Безопасность
Цель компонента "Безопасность" — обеспечить конфиденциальности, целостности и доступности гарантии рабочей нагрузки.
Принципы проектирования безопасности предоставляют высокоуровневую стратегию проектирования для достижения этих целей, применяя подходы к техническому проектированию Центров событий Azure.
Контрольный список разработки рабочей нагрузки
Начните стратегию проектирования, основываясь на контрольном списке проверки проектирования для безопасности, и выявляйте уязвимости и меры управления для улучшения состояния безопасности.
Создайте базовый план безопасности для рабочих нагрузок Центров событий: Просмотрите базовые показатели безопасности Центров событий , которые рассматривают ключевые домены безопасности. Примените элементы управления Microsoft Cloud Security Benchmark для центров событий, охватывающих шифрование неактивных и передаваемых данных, возможности сетевой изоляции и детализированные механизмы контроля доступа.
Реализуйте стратегии сегментации для изоляции ресурсов Центров событий и контроля границ доступа: Применяйте стратегии изоляции для нескольких аспектов рабочей нагрузки, таких как управление доступом на основе удостоверений, границы сети и группирование ресурсов. Используйте Microsoft Entra ID с управлением доступом на основе ролей (RBAC), чтобы создать логические границы контроля доступа для сегментации на основе удостоверений.
Настройте сегментацию сети для изоляции потокового трафика. Используйте возможности интеграции виртуальной сети и частного подключения, чтобы предотвратить доступ к общедоступному Интернету. Настройте изоляцию на уровне пространства имен для разделения границ клиента и реализуйте разделение групп потребителей для обработки событий с несколькими клиентами в общем развертывании Event Hubs.
Настройте управление удостоверениями и доступом: Используйте идентификатор Microsoft Entra в качестве доверенного поставщика удостоверений для централизованной проверки подлинности и авторизации в рабочих нагрузках Центров событий.
Настройте авторизацию на основе ролей для детализированных элементов управления доступом с помощью политик SendOnly и ListenOnly. Эти политики разделяют разрешения издателя и потребителя. Включите политики условного доступа для обеспечения безопасности с учетом контекста на основе соответствия устройств, сетевого расположения и контекста пользователя.
Назначьте отдельные роли для удостоверений администратора и высокого уровня привилегий и включите JIT-доступ. Используйте управляемые удостоверения для снижения накладных расходов на управление учетными данными для шаблонов связи между службами.
Добавьте элементы управления безопасностью сети для защиты трафика центров событий и подключения: Используйте частные конечные точки, конечные точки службы и правила брандмауэра IP для защиты потокового трафика от несанкционированного доступа. Настройте частные конечные точки для устранения воздействия в Интернете. Включите конечные точки службы для обеспечения безопасного подключения к виртуальной сети без общедоступной маршрутизации.
Настройте группы безопасности сети для фильтрации трафика и потока управления на уровне подсети. Настройте правила брандмауэра IP, чтобы разрешить доступ только из определенных IP-адресов и диапазонов CIDR.
Настройка шифрования данных для потоков событий Центров событий и метаданных : Включите управляемые клиентом ключи для расширенного контроля шифрования и соответствия нормативным требованиям. Используйте двойное шифрование для сценариев, требующих дополнительной защиты. Установите TLS 1.2 в качестве минимальной конфигурации для безопасных клиентских подключений и межслужбового взаимодействия.
Установите стратегии ротации ключей и операционные процедуры для ключей под управлением клиента. Разверните управляемый модуль HSM, если для организации требуется хранилище ключей высокой безопасности.
Ужесточение конфигураций пространства имен и сущностей Event Hubs для уменьшения области атак: Отключите авторасширение, если оно не требуется для управления емкостью. Отключите другие неиспользуемые функции и протоколы для удаления потенциальных векторов атак.
Удалите неиспользуемые группы потребителей и центры событий и включите только необходимые рабочие нагрузки функции.
Обеспечьте безопасность строк подключения Центров событий и ключей доступа с помощью правильного управления секретами: Используйте управляемые удостоверения в качестве предпочтительного метода аутентификации, чтобы избежать хранения учетных данных. Если необходимо использовать строки подключения или маркеры SAS, храните их безопасно и регулярно поворачивайте.
Сохраните строки подключения Центров событий в Azure Key Vault и настройте отдельные ключи для производителей и потребителей, чтобы обеспечить минимальные привилегии. Сохраняйте отдельные ключи доступа для разных потребителей и сред, чтобы можно было отозвать определенный доступ. Разверните краткосрочные маркеры SAS, чтобы снизить риск воздействия на безопасность.
Реализуйте мониторинг безопасности и ведение журнала для операций Центров событий: Настройте ведение журнала диагностики для записи событий проверки подлинности, шаблонов доступа плоскости данных и изменений конфигурации. Настройте мониторинг удостоверений и доступа для отслеживания неудачных попыток проверки подлинности и попыток повышения привилегий.
Отслеживайте шаблоны сетевого доступа, чтобы обнаружить несанкционированный доступ, проверив, где происходят подключения. Сохраняйте журналы изменений конфигурации и административных операций для поддержки анализа соответствия требованиям и безопасности.
Включите обнаружение угроз, чтобы предупредить вас о подозрительных действиях, включая необычные тома доступа или неизвестные источники. Мониторинг операций группы потребителей и шаблонов доступа к секциям для обнаружения аномалий. Используйте аналитику поведения пользователей и сущностей, чтобы определить ненормальные шаблоны использования, которые могут указывать на инциденты безопасности.
Реализуйте процессы тестирования и проверки безопасности для рабочих нагрузок потоковой передачи Центров событий: Проводите тестирование, проверяя корректное функционирование ролей Владельца данных, Отправителя данных и Получателя данных в пределах пространства имен, центра событий и областей группы потребителей. Убедитесь, что политики условного доступа эффективно блокируют несанкционированные подключения производителя и потребителей.
Проверьте сетевую безопасность Центров событий с помощью тестирования подключения к частной конечной точке, проверки правил брандмауэра IP-адресов для доступа производителя и потребителя, а также проверки интеграции виртуальной сети для изоляции потокового трафика.
Проверьте шифрование ключей, управляемых клиентом, для данных событий и метаданных, проверьте принудительное применение TLS 1.2 для подключений AMQP и HTTPS и убедитесь, что двойное шифрование работает должным образом. Выполните тесты на проникновение для систем потоковой передачи, включая попытки обхода проверки подлинности продюсера, перечисление группы потребителей и проверки контроля доступа на уровне разделов.
Рекомендации по настройке
| Recommendation | Преимущества |
|---|---|
| Используйте идентификатор Microsoft Entra для авторизации доступа к ресурсам Центров событий . Назначьте встроенные роли, включая владельца данных, отправителя данных и приемника данных на соответствующих уровнях области в зависимости от требований к доступу. Объединяйте эти назначения на уровне пространства имен, концентратора событий или группы потребителей, чтобы получить детализированный контроль доступа, соответствующий операционным потребностям. |
Обеспечивает детализированный контроль доступа между областями и четко отделяет производителей, потребителей и административных операций. |
| Разверните частные конечные точки в выделенных подсетях для сетевой изоляции и настройте группы безопасности сети для управления потоком трафика в подсети Центров событий. Кроме того, применяйте правила брандмауэра IP на уровне пространства имен для известных исходных сетей и упорядочивайте пространства имен в виртуальных сетях на основе зон безопасности. |
Удаляет общедоступный интернет-доступ через частное подключение и сопоставляет управление трафиком на уровне сети с зонами безопасности организации. |
| Включите проверку подлинности идентификатора Microsoft Entra на уровне пространства имен и отключите проверку подлинности SAS, где доступны управляемые удостоверения. Создайте политики условного доступа , для которых требуются соответствующие устройства, и блокируйте доступ из ненадежных расположений. Требовать многофакторную проверку подлинности (MFA) для пользователей с ролью владельца данных Центров событий для повышения административной безопасности. |
Включение на уровне пространства имен централизует конфигурацию проверки подлинности в сущностях Event Hubs. Отключение SAS удаляет затраты на управление общими учетными данными. |
| Установите минимальную версию TLS 1.2 в области пространства имен, чтобы заблокировать старые уязвимые протоколы. Включите ведение журнала диагностики и запрос нарушений версий TLS в Log Analytics, чтобы определить несоответствующие клиенты. | TLS 1.2 предотвращает использование устаревших уязвимостей SSL или TLS, которые могут компрометировать данные при передаче. |
| Создайте ключ RSA 2048 в Key Vault и назначьте управляемому пространству имен роль "Encryption User" в службе Crypto Key Vault. Настройте пространство имён для использования управляемого клиентом ключа и установите политику ротации на 90 дней в Key Vault. Включите двойное шифрование при создании пространства имен, так как вы не можете добавить эту возможность позже. |
Конфигурация CMK обеспечивает соответствие нормативным требованиям к суверенитету данных. Политика смены на 90 дней балансирует безопасность с операционной стабильностью. Двойное шифрование во время создания обеспечивает дополнительный уровень защиты с самого начала. |
| Назначьте политику, которая настраивает Центры событий, чтобы использовать частные зоны DNS в области подписки для обеспечения согласованности конфигурации. Создайте правило генерации оповещений журнала действий для операций записи Microsoft.EventHub и отправьте уведомления через группу действий. Просматривайте рекомендации Microsoft Defender в облаке по пространствам имен Event Hubs каждую неделю. |
Назначение политики на уровне подписки гарантирует согласованную конфигурацию в пределах пространств имен. Еженедельные проверки Defender для облака помогают выявлять улучшения безопасности. |
| Сохраните строки подключения в Key Vault с набором 90-дневного срока действия и назначьте роль пользователя секретов Key Vault управляемому удостоверению приложения. Если вам нужны маркеры SAS, создайте маркеры уровня сущности с сроком действия один час и используйте только разрешения "Отправка" или "Прослушивание". | 90-дневный срок действия требует регулярной смены учетных данных. Доступ к управляемому удостоверению к Key Vault удаляет дополнительные требования к хранилищу учетных данных. Срок действия токена SAS в течение одного часа ограничивает временное окно для уязвимости учетных данных. Разрешения только на отправку и прослушивание сокращают зону воздействия в случае компрометации токена. |
| Отправьте журналы диагностики в рабочую область Log Analytics, а затем добавьте соединитель данных Event Hubs в Microsoft Sentinel в разделе "Соединители данных" для расширенного обнаружения угроз. Создайте оповещение для метрики RequestsAuthenticationError с пороговым значением более 10 в час для обнаружения атак проверки подлинности и потенциальных инцидентов безопасности. |
Соединитель Microsoft Sentinel центрирует события безопасности Центров событий с другими ресурсами Azure для обнаружения угроз. UEBA обнаруживает ненормальные шаблоны доступа, которые пропускают статические правила. Оповещение метрики RequestsAuthenticationError уведомляет вас о атаках проверки подлинности в режиме реального времени, чтобы вы могли реагировать на инциденты и устранять угрозы безопасности. |
| Добавьте задачу проверки соответствия политик Azure в Azure Pipelines и проверьте шаблоны Bicep или ARM с помощью расширения Microsoft Security DevOps перед развертыванием. Настройте утверждение среды для конвейера так, чтобы требовать отсутствия нарушений политики. Перед тестированием на проникновение отправьте уведомление на портале Azure. |
Проверка соответствия политик предотвращает развертывание неправильно настроенных ресурсов. Расширение Security DevOps обнаруживает распространенные проблемы безопасности IaC перед развертыванием. Уведомление портала гарантирует соответствие требованиям к тестированию на проникновение Майкрософт и соответствует политикам безопасности Azure во время оценки безопасности. |
Оптимизация затрат
Оптимизация затрат фокусируется на обнаружении шаблонов расходов, приоритете инвестиций в критически важные области и оптимизации в других в соответствии с бюджетом организации при выполнении бизнес-требований.
Принципы проектирования оптимизации затрат предоставляют высокоуровневую стратегию проектирования для достижения этих целей и обеспечения компромиссов в техническом проектировании, связанном с Центрами событий Azure и ее средой.
Контрольный список разработки рабочей нагрузки
Начните стратегию проектирования на основе контрольного списка оценки для оптимизации затрат при инвестициях. Точно настройте структуру для выравнивания рабочей нагрузки с выделенным бюджетом. Проект должен использовать правильные возможности Azure, отслеживать инвестиции и находить возможности для оптимизации с течением времени.
Создание и обслуживание модели затрат для рабочих нагрузок Центров событий: Оцените требования единицы пропускной способности или единицы обработки на основе пиковых и средних шаблонов трафика для точного планирования емкости. Включите расходы на автоматическое увеличение и анализ уровней обслуживания — Базовый, Стандартный, Премиум и Выделенный — в ваши оценки затрат.
Вычисляйте затраты на хранение сообщений на основе периодов хранения и томов сообщений. Учитывайте затраты на использование Event Hubs Capture для операций и хранения в целевом хранилище. Учитывайте затраты на реестр схем, расходы на передачу данных между регионами и затраты на аварийное восстановление для резервных регионов.
Реализуйте мониторинг затрат и оповещения о бюджете для ресурсов Центров событий: Настройте microsoft Cost Management для детального отслеживания затрат и анализа. Применение тегов ресурсов для точного распределения затрат между рабочими нагрузками и бизнес-единицами. Активируйте обнаружение аномалий затрат, чтобы пометить непредвиденные шаблоны расходов и отслеживать использование единиц пропускной способности.
Отслеживайте затраты на хранение сообщений и тенденции роста, отслеживайте затраты на запись и расходы на целевое хранилище и устанавливайте оповещения о бюджете для постепенного увеличения и внезапных пиков. Обеспечение видимости расходов на передачу данных между регионами.
Оптимизация планирования емкости Центров событий и настройки автомасштабирования для повышения эффективности затрат: Анализ шаблонов трафика для определения оптимальной единицы пропускной способности или выделения единиц обработки. Отслеживайте использование секций для возможностей оптимизации. Планируйте пропускную способность для стабильного состояния и пикового спроса с соответствующими резервами для эффективности с минимальными затратами.
Установите максимальные пределы для автоматического наращивания в развертываниях уровня "Стандартный", чтобы предотвратить непредвиденное увеличение затрат. Настройте количество партиций для эффективного использования пропускной способности и масштабирования числа потребителей. Используйте нагрузочное тестирование для проверки допущений емкости.
Оцените экономическую эффективность уровня, сравнивая стоимость уровня услуг и компромиссы в производительности на основе характеристик рабочей нагрузки. Рассмотрите уровень "Выделенный" для высокообъемных прогнозируемых рабочих нагрузок, где устойчивая производительность обеспечивает наиболее выгодную общую стоимость владения.
Установите политики безопасности затрат и управления для развертываний Центров событий: Создайте определения политики Azure, которые применяют ограничения единиц пропускной способности и ограничивают выбор уровня служб. Определите политики периода хранения, чтобы предотвратить долгосрочный рост затрат на хранение.
Настройте рабочие процессы одобрения для развертываний с высокой производительностью и повышения уровня. Разрешить исключения из политики для законных требований. Создавайте процессы управления, включающие регулярные проверки использования ресурсов и документированные процедуры, которые помогут вам спланировать емкость.
Оптимизируйте среды разработки и тестирования, чтобы сократить затраты на Центры событий: Используйте уровень "Базовый" или "Стандартный" с минимальными единицами пропускной способности и более короткими сроками хранения для сценариев разработки и тестирования. Используйте имитацию событий и искусственные данные для снижения затрат на трафик. Поддержка реалистичных возможностей тестирования. Отдельные бюджеты для сред разработки.
Реализуйте автоматическое управление жизненным циклом для планирования завершения работы в нерабочие часы. Организуйте совместное использование ресурсов через общие пространства имен для нескольких проектов, если позволяет безопасность. Такой подход повышает эффективность затрат без ущерба для производительности.
Автоматизация оптимизации затрат и процессов непрерывного улучшения: Автоматизируйте корректировки единиц пропускной способности на основе шаблонов трафика и автоматизируйте корректировки периода хранения на основе шаблонов доступа к данным. Консолидируйте недоиспользуемые ресурсы автоматически, чтобы повысить общую загрузку.
Используйте службу автоматизации Azure для оркестрации стандартных задач и процессов управления жизненным циклом. Интеграция рекомендаций по оптимизации затрат Azure Advisor.
Консолидация и оптимизация использования ресурсов Центров событий в рабочих нагрузках: Оцените, могут ли рабочие нагрузки безопасно совместно использовать пространства имен и ресурсы, и убедитесь, что их шаблоны трафика дополняют друг друга.
Реализуйте многопользовательские архитектуры с четкими границами изоляции и отдельными группами потребителей для разделения рабочих нагрузок в общих концентраторах событий. Консолидация мест захвата для оптимизации затрат на хранение и управление.
Создание распределения затрат с помощью механизмов обратной оплаты для общих ресурсов. Создайте политики для утверждений подключения рабочей нагрузки.
Рекомендации по настройке
| Recommendation | Преимущества |
|---|---|
| Настройте управление затратами для детального отслеживания затрат и анализа. Создайте бюджеты с пороговыми значениями оповещений 50%, 75%, 90% и 100% для многоэтапных предупреждений контроля затрат. Настройте автоматические отчеты о затратах на еженедельные и ежемесячные расписания для обеспечения согласованной видимости затрат и анализа тенденций. |
Обеспечивает точное распределение затрат и возврат расходов между рабочими нагрузками и предоставляет ранние предупреждения о перерасходе затрат с помощью многоуровневого оповещения. |
| Выберите нужный уровень служб (базовый, стандартный, премиум или выделенный) на основе экономического анализа. Настройте авторасширение с ограничениями максимальной пропускной способности в соответствии с бюджетными ограничениями. |
Сопоставление уровня с рабочей нагрузкой требует оптимизации затрат. Установка максимального значения для автоматического раздувания предотвращает непредвиденные затраты. |
| Настройте периоды хранения, например 1–7 дней для уровня "Стандартный" или до 90 дней для выделенного уровня. Согласуйте эти периоды с шаблонами доступа к данным и требованиями к соответствию. Включите Event Hubs Capture, чтобы использовать хранилище BLOB-объектов Azure или Azure Data Lake Store для долгосрочного хранения. Выберите уровни хранилища "Холодный" или "Архив" для данных, которые были захвачены и к которым редко обращаются. |
Снижает затраты на хранение с помощью оптимизированных политик хранения и предоставляет доступные долгосрочные варианты архивации. |
| Разверните определения политики Azure , которые устанавливают ограничения единиц пропускной способности и ограничивают допустимые уровни для применения элементов управления затратами. Настройте рабочий процесс утверждения исключения политики для контролируемой гибкости. |
Обеспечивает автоматизированное управление затратами с помощью элементов управления на основе политик и снижает риски перерасхода затрат. Разрешает контролируемые исключения для законных бизнес-требований с помощью структурированных процессов утверждения. |
| Создайте Runbook службы автоматизации, чтобы завершать работу нижних сред по будням и выходным и тем самым снижать затраты на среду выполнения. Используйте Функции Azure для настройки триггеров автоматического запуска во время разработки. Применение тегов среды для выделения целевых объектов автоматизации и распределения затрат. |
Сокращает затраты на разработку и тестирование с помощью автоматизированного управления жизненным циклом и предоставляет соответствующие функциональные возможности для рабочих нагрузок разработки с меньшими затратами. |
| Настройте рекомендации по затратам Помощника Azure с фильтрами Event Hubs, чтобы автоматически выявлять возможности для оптимизации. Для систематического улучшения затрат используйте Azure Logic Apps для автоматической обработки рекомендаций помощника. Используйте Функции Azure для настройки единиц пропускной способности на основе триггеров оповещений для автоматической оптимизации затрат. |
Обеспечивает непрерывную оптимизацию затрат с помощью автоматизированного анализа и корректировки. |
Операционное превосходство
Операционное совершенство в основном сосредоточено на процедурах, касающихся практик разработки , наблюдаемости и управления релизами. Принципы проектирования операционной эффективности обеспечивают высокоуровневую стратегию проектирования для достижения этих целей в соответствии с операционными требованиями рабочей нагрузки.
Контрольный список разработки рабочей нагрузки
Запустите стратегию проектирования на основе контрольного списка проверки разработки для операционного превосходства для определения процессов для наблюдения, тестирования и развертывания, связанных с Центрами событий Azure.
Применяйте безопасные методы развертывания для изменений конфигурации: Используйте метод развертывания blue-green для изменений на уровне пространства имен. Используйте канареечные развертывания для потребительских приложений с помощью изолированных групп пользователей.
Отслеживайте работоспособность разделов во время развертывания, тенденции задержки обработки и метрики пропускной способности для обеспечения успешного развертывания. Включите последовательные обновления, чтобы потребители постепенно переходили к новым версиям без простоя.
Разработайте стратегии проектирования инфраструктуры как кода (IaC) для управления ресурсами: Используйте шаблоны ARM, Bicep или Terraform в зависимости от ваших нужд для обеспечения покрытия свойств ресурсов Event Hubs и управления зависимостями.
Отдельные конфигурации на уровне пространства имен, такие как ценовая категория, параметры автоматического расширения и сетевой безопасности от параметров, относящихся к концентратору событий, таких как количество секций, периоды хранения и группы потребителей. Добавьте параметры для вариантов конкретного уровня, таких как ограничения единиц пропускной способности и периоды хранения.
Реализуйте обнаружение смещения для критически важных параметров потоковой передачи, например счетчиков секций. Настройте процессы автоматического исправления для изменений единиц пропускной способности и задач жизненного цикла группы потребителей.
Установите конвейеры сборки и развертывания для рабочих нагрузок: Создайте конвейеры непрерывной интеграции и непрерывного развертывания (CI/CD), которые развертывают инфраструктуру центров событий, приложения и схемы.
Рассматривайте стадию промежуточного развертывания как обязательный этап. Разверните инфраструктуру на отдельных этапах, а затем разверните потребительские приложения с правильной последовательности и управлением схемой.
Реализуйте мониторинг и ведение журнала для операций: Отслеживайте метрики, касающиеся характеристик потоковой передачи, таких как использование секций, задержка потребителей, скорость пропускной способности и использование емкости пространства имен.
Структурированное ведение журнала помогает устранять неполадки и поддерживать операции. Добавьте идентификаторы корреляции для отслеживания всего процесса событий от производителей к потребителям.
Создание настраиваемых панелей мониторинга для просмотра состояния разделов и мониторинга эффективности групп потребителей. Настройте пороговые значения оповещений для задержки потребителей и исчерпания единиц пропускной способности для упреждающего реагирования.
Проектирование операций и процедур реагирования на чрезвычайные ситуации: Создайте операционные процедуры для управления группами потребителей, перебалансировки секций, масштабирования единиц пропускной способности и корректировки политики хранения.
Разработка процедур реагирования на инциденты для решения конкретных сценариев, включая недоступность партиций, накопление отставания потребителей и ограничение пропускной способности.
Планирование гео-катастрофического восстановления в случае сбоя в основном регионе, координация переключения потребительских приложений и регулярное тестирование процедур для подтверждения их эффективности.
Автоматизация задач управления, мониторинга и поддержки: Автоматизация создания группы потребителей, анализа масштабирования секций, корректировки единиц пропускной способности и мониторинга задержки потребителей.
Используйте автоматизированные рабочие книги для выполнения рутинных задач, включая ротацию политик доступа, обновления конфигурации и обслуживание пространства имен. Обеспечение согласованной реализации и снижение вероятности человеческой ошибки.
Используйте политику Azure для обнаружения смещения конфигурации между параметрами. Настройте автоматизированный ответ на инциденты для решения проблем с задержкой обработки запросов клиентов, масштабированием пропускной способности и восстановлением после сбоя подключения.
Реализуйте стратегии тестирования и проверки для потоковых рабочих нагрузок: Протестируйте алгоритмы назначения секций, чтобы обеспечить сбалансированное распределение нагрузки, проверить эффективность пакетной обработки и эффективности ключа секции и проверить поведение масштабирования группы потребителей в различных сценариях пропускной способности. Выполните сквозные тесты потоковой передачи, которые имитируют реалистичные объемы событий и потребительскую задержку.
Проверьте конфигурации Центров событий, включая счетчики секций, выделение единиц пропускной способности и параметры периода хранения на ранних этапах разработки. Проверьте совместимость с эволюцией схем с реестром схем, подтвердите управление контрольными точками группы потребителей и проверьте логику повторных попыток производителя и шаблоны обработки ошибок потребителей перед вводом в эксплуатацию.
Рекомендации по настройке
| Recommendation | Преимущества |
|---|---|
| Создайте шаблоны IaC в Bicep или Terraform, которые задают пространство имен для Центров событий, параметры конфигураций концентратора событий, число разделов, пропускную способность и группы потребителей, используя соответствующие параметры для значений, относящихся к конкретной среде. | Обеспечивает единообразное развертывание в различных средах. Уменьшает ошибки конфигурации вручную и включает изменения инфраструктуры, контролируемые версией, с помощью возможностей автоматической проверки. |
| Реализуйте многоэтапные конвейеры CI/CD, которые изолируют этапы для инфраструктуры, потребительских приложений и развертывания схем, включая шлюзы утверждения для продакшена и этапы автоматизированного тестирования. | Оркестрирует и координирует развертывания. Включает интегрированное тестирование и проверку и обеспечивает видимость общей функциональной производительности конвейера. |
| Настройте Azure Monitor с помощью пользовательских панелей мониторинга, ведения журнала диагностики с структурированными идентификаторами корреляции и интеграции Application Insights для сквозной трассировки транзакций в приложениях производителя и потребителей. | Обеспечивает оперативную видимость и возможности мониторинга в режиме реального времени. Обеспечивает эффективное устранение неполадок с использованием распределенного трассирования, аудита и обнаружения аномалий. |
| Разработка операционных инструкций с помощью рабочих книг Azure Monitor. Используйте эти модули Runbook для документирования управления группами потребителей, шагов масштабирования пропускной способности, процедур перебалансирования секций и интерактивных действий по устранению неполадок с задержками потребителей и подключений. | Стандартизирует операционные процедуры. Ускоряет реагирование на инциденты, обеспечивает согласованные методики в операционных группах и предоставляет интерактивные рекомендации. |
| Реализуйте модули Runbook службы автоматизации для смены политик доступа и изменения пропускной способности. Разверните определения политики Azure , которые применяют параметры диагностики, периоды хранения и ограничения сети. | Снижает затраты на работу вручную. Предотвращает смещение конфигурации с помощью автоматизированного мониторинга соответствия требованиям и упреждающего управления. |
| Реализуйте сценарии нагрузочного тестирования Azure, которые имитируют реалистичные показатели событий производителя, потребительские шаблоны и распределение ключей партиций. Интеграция нагрузочных тестов в производственные циклы развертывания для автоматизированных проверок производительности перед выпуском в рабочую среду. | Подтверждает производительность в условиях реалистичной нагрузки, чтобы свести к минимуму производственные проблемы и обеспечить планирование емкости на основе данных. |
Эффективность производительности
Эффективность производительности заключается в поддержании пользовательского опыта даже в условиях увеличения нагрузки за счёт управления ресурсами. Стратегия включает масштабирование ресурсов, определение потенциальных узких мест и оптимизацию для пиковой производительности.
Принципы проектирования эффективности производительности предлагают высокоуровневую стратегию для достижения этих целей по емкости с учетом ожидаемого использования.
Контрольный список разработки рабочей нагрузки
Начните стратегию проектирования на основе контрольного списка проектирования для эффективности производительности. Определите базовые показатели, основанные на ключевых показателях производительности центров событий Azure.
Планирование емкости для требований к рабочей нагрузке Центров событий: Оценка пиковых показателей приема, одновременных производителей, пропускной способности потребителей и потребностей хранения. Определите исходные показатели для современных моделей потоковой передачи и вычислительных возможностей потребителей. Рассмотрим сезонные вариации и ожидаемые прогнозы роста.
Учетная запись параметров масштабирования Центров событий, включая масштабирование единиц пропускной способности (вертикальное) и горизонтальное масштабирование на основе секций. Рассмотрим подчиненные зависимости, которые могут создавать узкие места в архитектуре потоковой передачи.
Чтобы подтвердить оценки производительности, выполните нагрузочное тестирование и используйте реалистичные объёмы и паттерны. Отслеживайте и настраивайте конфигурации на основе фактических метрик использования для оптимальной производительности с течением времени.
Выберите уровень центров событий и номер SKU в зависимости от потребностей в производительности: Выберите уровень, соответствующий вашим требованиям к производительности, включая частоту приема, ограничения секций и сроки хранения. Кроме того, следует учитывать необходимость интеграции, такие как совместимость протокола Kafka, функции реестра схем и подключение Stream Analytics.
Уровень "Стандартный" поддерживает до 32 секций и 1–7 дней хранения для сценариев умеренной пропускной способности.
Уровень "Премиум" предоставляет расширенные сетевые сети, управляемые клиентом ключи и улучшенные гарантии соглашения об уровне обслуживания.
Выделенный уровень предоставляет возможности корпоративного уровня с поддержкой до 1024 секций и 90-дневным хранением для сценариев с высокими требованиями к пропускной способности.
Разработайте стратегию масштабирования Центров событий для оптимальной производительности: Выберите масштабирование единиц пропускной способности (по вертикали) или масштабирование секций (по горизонтали) на основе характеристик рабочей нагрузки. Используйте скорость приема, задержку потребителей и использование разделов в качестве основных триггеров масштабирования.
Реализуйте масштабирование на основе разделов для увеличения параллелизма обработки данных потребителями. Избегайте публикации событий в отдельных секциях и при необходимости реализуйте порядок вниз. Настройте автоматическую инфляцию для единиц пропускной способности и установите шаблоны масштабирования группы потребителей.
Проектирование потребителей без отслеживания состояния с помощью хорошо распределенных ключей секций и сбалансированного распределения нагрузки. Тестирование масштабирования поведения в условиях всплеска трафика, устойчивой нагрузки и восстановления при задержках со стороны потребителей для проверки эффективности.
Реализация мониторинга производительности Центров событий: Установите базовые показатели приема, задержку потребителей, использование единиц пропускной способности и распределение секций. Сбор ключевых метрик, включая входящий трафик и пропускную способность исходящего трафика, задержку потребителей на секцию и метрики подключения. Реализуйте распределенную трассировку для сквозной видимости.
Анализ тенденций для выявления шаблонов, сезонных вариаций и признаков снижения производительности. Настройте оповещения для снижения производительности, повышения отставания потребителей и неравномерного использования партиций.
Провести тестирование производительности Центров событий: Проверьте, как Центры событий реагируют на реалистичные шаблоны рабочих нагрузок, такие как прием всплеска данных, устойчивая пропускная способность и сценарии отставания потребителей. Протестируйте как производителей, так и потребителей, используя реалистичные нагрузки событий, которые соответствуют характеристикам эксплуатации.
Установите базовые показатели для скорости поглощения, скорости обработки потребителем и общей задержки во время тестирования. Проверьте эффективность автоматической инфляции и поведение масштабирования потребителей в различных условиях нагрузки, чтобы гарантировать, что механизмы масштабирования работают должным образом. Анализ метрик пропускной способности, шаблонов задержки потребителей и использования ресурсов, а затем проверка на основе базовых показателей.
Оптимизируйте производительность Центров событий с помощью шаблонов конфигурации и проектирования: Настройте пул подключений, размеры пакетов, сжатие и политики повторных попыток для оптимальной пропускной способности.
Оптимизируйте структуру ключа партиции, стратегии пакетной обработки и организацию группы получателей для сбалансированного распределения пропускной способности. Использование оптимизации протокола AMQP, совместимости Kafka и интеграции реестра схем для повышения эффективности сериализации.
Выберите регионы Azure, близкие к производителям и потребителям. Реализуйте георепликацию для распределенных сценариев. Применение таких шаблонов архитектуры, как событийное хранилище, CQRS и модель публикация-подписка для оптимальной производительности.
Рекомендации по настройке
| Recommendation | Преимущества |
|---|---|
| Задайте начальные единицы пропускной способности на основе оценок планирования емкости для пространств имен уровня "Стандартный" и "Премиум" и включите автоматическую инфляцию. Настройте максимальные ограничения единиц пропускной способности для управления затратами и задайте пороговые триггеры использования в 80-90% использования. Проверьте поведение масштабирования в различных сценариях загрузки, чтобы убедиться, что автоматическое масштабирование работает должным образом. |
Автоматическое масштабирование удаляет ручное вмешательство во время пиков трафика и оптимизирует затраты на основе спроса. Установка ограничений максимальной пропускной способности предотвращает непредвиденные перерасходы затрат во время пикового использования. |
| Настройте масштабирование единиц емкости для кластеров уровня "Выделенный" на основе тестирования производительности рабочей нагрузки и мониторинга использования ресурсов. Включите параметр масштабирования поддержки при создании кластера, чтобы настроить масштабирование. | Масштабирование выделенного кластера обеспечивает прогнозируемую производительность корпоративного уровня с помощью предварительно выделенных ресурсов ЦП и памяти. |
| Реализуйте узел обработчика событий или Функции Azure для автоматического управления секциями и избегайте назначения вручную. Настройте параметры предварительной выборки для повышения пропускной способности. Отслеживайте метрики задержки потребителей на каждый раздел, чтобы определить узкие места в обработке. |
Автоматическое распределение разделов между экземплярами потребителей упрощает масштабирование и позволяет избежать ручного вмешательства. Видимость задержки потребителей определяет узкие места обработки для целевых усилий по оптимизации. |
| Включите параметры диагностики для пространства имен и ресурсов концентратора событий для сбора метрик и журналов. Создайте рабочие тетради Azure Monitor для панелей мониторинга производительности и настройте оповещения для порогов отставания потребителей и пропускной способности. Отслеживайте использование пропускной способности и события автоматической инфляции для проверки эффективности масштабирования и управления емкостью. |
Оповещения на основе пороговых значений используются для упреждающего обнаружения проблем и предотвращения деградации производительности. Исторический анализ поддерживает планирование мощности. Централизованные панели мониторинга обеспечивают оперативную видимость. |
| Интеграция пакета SDK Application Insights в приложения производителя и потребителя для сбора данных телеметрии. Настройте идентификаторы корреляции, чтобы отслеживать события от начала до конца и измерять задержку в последующих зависимостях. | Полная видимость по всему конвейеру потоковой передачи событий упрощает анализ производительности и автоматическое обнаружение аномалий. Отслеживание корреляции ускоряет устранение неполадок. |
| Используйте Azure Load Testing или пользовательские платформы для имитации реалистичных рабочих нагрузок производственного типа. Реализуйте тестовые сценарии, в том числе производители, потребители и условия сбоя. Отслеживайте метрики производительности во время каждого тестового прогона и документируйте результаты, базовые значения и оптимальные параметры конфигурации для дальнейшего использования. |
Проверенные ограничения емкости и поведение масштабирования повышают уверенность в развертывании в производственной среде. Установленные базовые показатели производительности упрощают планирование емкости и настройку среды с течением времени. |
| Настройте размеры пакетов, значения предварительного получения и политики повторных попыток в параметрах пакета SDK для повышения производительности производителя и потребителя. Используйте пул подключений, чтобы снизить накладные расходы и включить сжатие при интеграции с реестром схем. | Настройка пакетной обработки и предварительной выборки оптимизирует пропускную способность. Объединение подключений и сжатие снижают нагрузку на сеть. Оптимизация на основе данных с помощью настройки на основе метрик обеспечивает непрерывное повышение производительности и эффективное использование ресурсов. |
| Настройте выделенные группы потребителей для Stream Analytics и Функций Azure для оптимизации нижестоящей обработки. Добавьте кэширование для метаданных событий и результатов обработки. Настройте частоту контрольных точек на основе шаблонов обработки. | Специальные группы потребителей оптимизируют последующую обработку. Кэширование снижает избыточность обработки и повышает эффективность. Оптимизация контрольных точек обеспечивает баланс между требованиями устойчивости и производительности. |
Политики Azure
Azure предоставляет широкий набор встроенных политик, связанных с Центрами событий Azure и его зависимостями. Некоторые из предыдущих рекомендаций можно проверять с помощью политики Azure. Например, можно проверить, можно ли:
- Пространство имен Центров событий использует управляемый клиентом ключ для шифрования
- Пространства имен Центров событий имеют двойное шифрование
- Журналы ресурсов в Центрах событий включены
Для эффективного управления ознакомьтесь со встроенными определениями политики Azure для Центров событий и других политик, которые могут повлиять на безопасность инфраструктуры обмена сообщениями.
Рекомендации Помощника по Azure
Помощник по Azure — это персонализированный облачный консультант, который поможет вам следовать рекомендациям по оптимизации развертываний Azure.
Для получения дополнительной информации см. Azure Advisor.
Пример архитектуры
Базовая архитектура, демонстрирующая основные рекомендации: потоковая обработка с помощью Azure Stream Analytics.