Архитектура SAS в Azure

Виртуальные машины Azure
Виртуальная сеть Azure

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

Архитектура

Architecture diagram showing how to deploy SAS products on Azure.

Схема содержит большой прямоугольник с меткой Azure виртуальная сеть. Внутри него другой большой прямоугольник содержит группу размещения меток Близкого взаимодействия. Два прямоугольника находятся внутри него. Они стекаются по вертикали, и каждая из них имеет группу безопасности сети. Каждый прямоугольник группы безопасности содержит несколько значков компьютера, расположенных в строках. В верхнем прямоугольнике значки компьютера в левой части верхней строки имеют метку "Средний". Значки справа имеют уровень метаданных метки. Нижняя строка значков имеет уровень вычислений метки. В нижнем прямоугольнике верхняя строка значков компьютера содержит метку MGS и серверов MDS. В нижней строке есть ОС И СЕРВЕРы OSS меток.

Скачайте файл Visio для этой архитектуры.

Рабочий процесс

Развертывания SAS Azure обычно содержат три уровня:

  • Уровень API или визуализации. В этом слое:

    • Уровень метаданных предоставляет клиентским приложениям доступ к метаданным в источниках данных, ресурсах, серверах и пользователях.
    • Веб-приложения предоставляют доступ к данным аналитики на среднем уровне.
  • Вычислительная платформа, в которой серверы SAS обрабатывают данные.

  • Уровень хранилища, который SAS использует для постоянного хранения. Популярные варианты в Azure:

    • Блеск
    • Масштабирование IBM Spectrum
    • Файловая система NFS

Azure виртуальная сеть изолирует систему в облаке. В этой сети:

  • Группа размещения близкого взаимодействия снижает задержку между виртуальными машинами.
  • Группы безопасности сети защищают ресурсы SAS от нежелательного трафика.

Необходимые компоненты

Перед развертыванием рабочей нагрузки SAS убедитесь, что на месте установлены следующие компоненты:

  • Рекомендация по размеру из группы по размерам SAS
  • Файл лицензии SAS
  • Доступ к группе ресурсов для развертывания ресурсов
  • Квота подписки виртуальной централизованной обработки (VCPU), которая учитывает выбор документа по размеру и виртуальной машины
  • Доступ к защищенному серверу протокола доступа к каталогу (LDAP)

Подробности сценария

Наряду с обсуждением различных реализаций, это руководство также соответствует рекомендациям Microsoft Azure Well-Architected Framework для достижения превосходства в областях затрат, DevOps, устойчивости, масштабируемости и безопасности. Но помимо использования этого руководства, обратитесь к группе SAS для дополнительной проверки конкретного варианта использования.

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

Общие сведения о SAS

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

  • Сетка SAS 9.4
  • SAS Viya

Протестированы следующие архитектуры:

  • Сетка SAS 9.4 в Linux
  • SAS 9 Foundation
  • SAS Viya 3.5 с симметричными многопроцессорными архитектурами (SMP) и массивной параллельной обработкой (MPP) в Linux
  • SAS Viya 2020 и более с архитектурой MPP в AKS

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

Рекомендации

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

Документация ПО SAS предоставляет требования к ядрам, то есть для каждого физического ядра ЦП. Но Azure предоставляет списки виртуальных ЦП. На виртуальных машинах, которые рекомендуется использовать с SAS, существует два виртуальных ЦП для каждого физического ядра. В результате для вычисления значения требования виртуального ЦП используйте половину основного значения требования. Например, физическое ядро, необходимое для 150 МБ ps, преобразуется в 75 МБ/с на виртуальный ЦП. Дополнительные сведения о производительности вычислений Azure см. в разделе "Единица вычислений Azure" (ACU).

Примечание.

Если вы масштабируете и сохраняете данные в развертывании SAS с одним узлом (а не во внешнюю файловую систему), документация SAS рекомендует пропускную способность не менее 150 МБ/с. Чтобы достичь этой пропускной способности, необходимо чередовать несколько дисков P30 Premium (или более крупные).

Операционные системы

Linux лучше всего подходит для выполнения рабочих нагрузок SAS. SAS поддерживает 64-разрядные версии следующих операционных систем:

  • Red Hat 7 или более поздней версии
  • SUSE Linux Enterprise Server (SLES) 12.2
  • Oracle Linux 6 или более поздней версии

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

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

Проблемы с ядром

При выборе операционной системы следует учитывать проблему с обратимой блокировкой, которая влияет на всю серию Red Hat 7.x. Это происходит в этих ядрах:

  • Ядра Linux 3.x
  • Версии выше 4.4

Проблема с управлением памятью и операцией ввода-вывода Linux и Hyper-V приводит к возникновению проблемы. Когда это происходит, системные журналы содержат такие записи, как этот, который упоминание немаскируемый прерываний (NMI):

Message from syslogd@ronieuwe-sas-e48-2 at Sep 13 08:26:08
kernel:NMI watchdog: BUG: soft lockup - CPU#12 stuck for 22s! [swapper/12:0]

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

  • Иметь ядра Linux, предшествующие 3.10.0-957.27.2
  • Использование дисков с ненезависимой памятью (NVMe)

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

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

  • Установите значение /sys/block/nvme0n1/queue/max_sectors_kb128 вместо использования значения 512по умолчанию.
  • Измените этот параметр на каждом устройстве NVMe на виртуальной машине и на каждой загрузке виртуальной машины.

Выполните следующие команды, чтобы настроить этот параметр:

# cat /sys/block/nvme0n1/queue/max_sectors_kb
512
# echo 128 >/sys/block/nvme0n1/queue/max_sectors_kb
# cat /sys/block/nvme0n1/queue/max_sectors_kb
128

Рекомендации по размеру виртуальных машин

Развертывания SAS часто используют следующие номера SKU виртуальных машин:

Серия Edsv5

Виртуальные машины серии Edsv5 — это компьютеры SAS по умолчанию для Viya и Grid. Они предлагают следующие функции:

  • Ограниченные ядра. При использовании множества компьютеров в этой серии можно ограничить количество виртуальных ЦП виртуальной машины.
  • Хорошее соотношение ЦП и памяти.
  • Высокопроизводительный локально подключенный диск. Скорость ввода-вывода важна для папок, таких как SASWORK и кэш облачных служб Аналитики (CAS), CAS_CACHEкоторый SAS использует для временных файлов.

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

Серия Ebsv5

В некоторых случаях локальный подключенный диск не имеет достаточного места для SASWORK хранения или CAS_CACHE. Чтобы получить более крупный рабочий каталог, используйте серию виртуальных машин Ebsv5 с подключенными дисками класса Premium. Эти виртуальные машины предлагают следующие функции:

  • Те же спецификации, что и виртуальные машины Edsv5 и Esv5
  • Высокая пропускная способность для удаленного подключенного диска, до 4 ГБ/с, обеспечивая максимальное SASWORK или CAS_CACHE необходимое количество операций ввода-вывода sas.

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

серия M;

Многие рабочие нагрузки используют виртуальные машины серии M, в том числе:

  • Реализации среды выполнения программирования SAS (SPRE), использующие подход Viya к архитектуре программного обеспечения.
  • Некоторые рабочие нагрузки сетки SAS.

Виртуальные машины серии M предлагают следующие функции:

  • Ограниченные ядра
  • До 3,8 ТиБ памяти, подходящих для рабочих нагрузок, использующих большой объем памяти
  • Высокая пропускная способность к удаленным дискам, которая хорошо подходит для SASWORK папки, если локально доступный диск недостаточно

Серия Ls

Некоторые тяжелые среды ввода-вывода должны использовать виртуальные машины серии Lsv2 или Lsv3 серии. В частности, реализации, требующие быстрой, низкой скорости ввода-вывода и большого объема памяти от этого типа компьютера. К примерам относятся системы, которые используют папку SASWORK или CAS_CACHE.

Примечание.

SAS оптимизирует свои службы для использования с библиотекой ядра Intel Math Kernel (MKL).

  • С помощью математических рабочих нагрузок избежать виртуальных машин, которые не используют процессоры Intel: Lsv2 и Lasv3.
  • При выборе ЦП AMD проверьте, как mkL выполняет его.

Предупреждение

По возможности избегайте использования виртуальных машин Lsv2. Вместо этого используйте виртуальные машины Lsv3 с микросхемами Intel.

С помощью Azure можно масштабировать системы SAS Viya по требованию, чтобы удовлетворить крайние сроки:

  • Увеличив вычислительные мощности пула узлов.
  • С помощью автомасштабирования кластера AKS для добавления узлов и горизонтального масштабирования.
  • Временно масштабируя инфраструктуру для ускорения рабочей нагрузки SAS.

Примечание.

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

С рабочими нагрузками Viya 3.5 и Grid Azure не поддерживает горизонтальное или вертикальное масштабирование в данный момент. Viya 2022 поддерживает горизонтальное масштабирование.

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

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

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

SAS имеет определенные требования к полному домену (FQDN) для виртуальных машин. Правильно задайте полное доменное имя компьютера и убедитесь, что службы системы доменных имен (DNS) работают. Имена можно задать с помощью Azure DNS. Вы также можете изменить hosts файл в папке etc конфигурации.

Примечание.

Включите ускоренную сеть на всех узлах в развертывании SAS. При отключении этой функции производительность значительно страдает.

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

  1. Выполните следующую команду в Azure CLI, чтобы освободить виртуальную машину:

    az vm deallocate --resource-group <resource_group_name> --name <VM_name>

  2. Отключите виртуальную машину.

  3. Выполните следующую команду в интерфейсе командной строки:

    az network nic update -n <network_interface_name> -g <resource_group_name> --accelerated-networking true

При переносе данных или взаимодействии с SAS в Azure рекомендуется использовать одно из этих решений для подключения локальных ресурсов к Azure:

Для рабочих нагрузок SAS в Azure ExpressRoute предоставляет частное, выделенное и надежное подключение, которое предлагает эти преимущества по сравнению с VPN типа "сеть — сеть":

  • Более высокая скорость
  • более низкую задержку;
  • Более жесткая безопасность

Обратите внимание на интерфейсы с учетом задержки между приложениями SAS и не SAS. Рассмотрите возможность перемещения источников данных и приемников близко к SAS.

Управление удостоверениями

Платформы SAS могут использовать локальные учетные записи пользователей. Они также могут использовать защищенный сервер LDAP для проверки пользователей. Рекомендуется запустить контроллер домена в Azure. Затем используйте функцию присоединения к домену для правильного управления доступом к безопасности. Если вы не настроили контроллеры домена, рассмотрите возможность развертывания доменных служб Microsoft Entra (доменные службы Microsoft Entra). При использовании функции присоединения к домену убедитесь, что имена компьютеров не превышают ограничение в 15 символов.

Примечание.

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

Лес доменных служб Microsoft Entra создает пользователей, которые могут проходить проверку подлинности на устройствах Microsoft Entra, но не локальные ресурсы и наоборот.

Источники данных

Решения SAS часто обращаются к данным из нескольких систем. Эти источники данных делятся на две категории:

  • Наборы данных SAS, в которых SAS хранится в папке SASDATA
  • Базы данных, на которые SAS часто накладывает тяжелую нагрузку

Обеспечить наилучшую производительность можно так.

  • Размещение источников данных как можно ближе к инфраструктуре SAS.
  • Ограничение количества сетевых прыжков и (модуль) между источниками данных и инфраструктурой SAS.

Примечание.

Если вы не можете перемещать источники данных близко к инфраструктуре SAS, избегайте их выполнения аналитики. Вместо этого запустите процесс извлечения, преобразования, загрузки (ETL) сначала и аналитики позже. Примите тот же подход с источниками данных, которые находятся под стрессом.

Постоянное удаленное хранилище для данных SAS

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

SAS предлагает сценарии тестирования производительности для архитектур Viya и Grid. Форумы SAS предоставляют документацию по тестам с скриптами на этих платформах.

Sycomp служба хранилища, подпитываемый масштабом IBM Spectrum (GPFS)

Сведения о том, как Sycomp служба хранилища, подпитываемый IBM Spectrum Scale, соответствует ожиданиям производительности, см. в обзоре SAS Sycomp для SAS Grid.

Для изменения размера Sycomp выполняет следующие рекомендации:

  • Укажите один узел масштабирования GPFS на восемь ядер с конфигурацией 150 МБ ps на ядро.
  • Используйте не менее пяти дисков P30 на экземпляр.
DDN EXAScaler Cloud (Lustre)

DDN, который приобрел бизнес Lustre Intel, предоставляет EXAScaler Cloud, который основан на параллельной файловой системе Lustre. Решение доступно в Azure Marketplace в рамках облака DDN EXAScaler Cloud. Предназначен для развертывания с большим объемом данных, он обеспечивает высокую пропускную способность с низкой стоимостью.

Тесты показывают, что DDN EXAScaler может выполнять рабочие нагрузки SAS параллельно. DDN рекомендует выполнять эту команду на всех клиентских узлах при развертывании EXAScaler или Lustre:

lctl set_param mdc.*.max_rpcs_in_flight=128 osc.*.max_pages_per_rpc=16M osc.*.max_rpcs_in_flight=16 osc.*.max_dirty_mb=1024 llite.*.max_read_ahead_mb=2048 osc.*.checksums=0  llite.*.max_read_ahead_per_file_mb=256
Azure NetApp Files (NFS)

Тесты SAS проверили производительность NetApp для SAS Grid. В частности, тестирование показывает, что Azure NetApp Files является жизнеспособным основным хранилищем для кластеров сетки SAS до 32 физических ядер на нескольких компьютерах. Если используется оптимизация NetApp и функции Linux, Azure NetApp Files может быть основным вариантом для кластеров до 48 физических ядер на нескольких компьютерах.

При использовании этой службы следует учитывать следующие моменты:

  • Azure NetApp Files хорошо работает с развертываниями Viya. Не используйте Azure NetApp Files для кэша CAS в Viya, так как пропускная способность записи не подходит. По возможности используйте локальный временный диск виртуальной машины.
  • В SAS 9 Foundation с Grid 9.4 производительность Azure NetApp Files с SAS для SASDATA файлов подходит для кластеров до 32 физических ядер. Это происходит до 48 ядер при применении настройки .
  • Чтобы обеспечить хорошую производительность, при развертывании Azure NetApp Files выберите по крайней мере уровень обслуживания уровня хранилища "Премиум" или "Ультра". Вы можете выбрать уровень обслуживания "Стандартный" для очень больших томов. Попробуйте начать с уровня "Премиум" и перейти на "Ультра" или "Стандартный". Изменения на уровне обслуживания можно выполнять в сети без прерываний или миграции данных.
  • Производительность чтения и записи отличается для Azure NetApp Files. Пропускная способность записи для SAS ограничивается около 1600MiB/с, а пропускная способность чтения выходит за рамки этого, до около 4500MiB/с. Если требуется непрерывная высокая пропускная способность записи, Azure NetApp Files может оказаться не очень подходящим.

Другие источники данных

Платформы SAS поддерживают различные источники данных:

Рекомендации

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

Безопасность

Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Дополнительные сведения см. в разделе "Общие сведения о компоненте безопасности".

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

Azure предоставляет SAS с помощью облачной модели инфраструктуры как службы (IaaS). Корпорация Майкрософт создает защиту безопасности в службе на следующих уровнях:

  • Физический центр обработки данных
  • Физическая сеть
  • Физический узел
  • Низкоуровневая оболочка

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

SAS в настоящее время не полностью поддерживает идентификатор Microsoft Entra. Для проверки подлинности на уровне визуализации для SAS можно использовать идентификатор Microsoft Entra. Но для авторизации серверной части используйте стратегию, аналогичную локальной проверке подлинности. При управлении ресурсами IaaS можно использовать идентификатор Microsoft Entra для проверки подлинности и авторизации в портал Azure. При использовании доменных служб Microsoft Entra невозможно пройти проверку подлинности гостевых учетных записей. Гостевые попытки входа завершаются ошибкой.

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

  • Предоставление доступа к рабочим портам CAS из локальных диапазонов IP-адресов.
  • Блокировка доступа к службам SAS из Интернета.

Вы можете использовать Шифрование дисков Azure для шифрования в операционной системе. Это решение использует функцию DM-Crypt Linux. Но сейчас мы не рекомендуем использовать Шифрование дисков Azure. Это может значительно снизить производительность, особенно при локальном использовании SASWORK файлов.

Шифрование на стороне сервера (SSE) диска Azure служба хранилища защищает данные. Он также помогает выполнять обязательства организации по обеспечению безопасности и соответствия требованиям. С помощью управляемых дисков Azure служба SSE шифрует неактивных данных при сохранении данных в облаке. Это поведение применяется по умолчанию как к дискам ОС, так и к дискам данных. Вы можете использовать управляемые платформой ключи или собственные ключи для шифрования управляемого диска.

Защита инфраструктуры

Контролируйте доступ к развертываемым ресурсам Azure. Каждая подписка Azure имеет отношение доверия с клиентом Microsoft Entra. Используйте управление доступом на основе ролей Azure (Azure RBAC), чтобы предоставлять пользователям в своей организации необходимые разрешения на использование ресурсов Azure. Предоставляйте доступ, назначая пользователям или группам в определенной области роли Azure. Областью может быть подписка, группа ресурсов или отдельный ресурс. Обязательно проверите все изменения инфраструктуры.

Управление удаленным доступом к виртуальным машинам с помощью Бастиона Azure. Не предоставляйте ни один из этих компонентов в Интернете:

  • Виртуальные машины
  • Порты протокола Secure Shell (SSH)
  • Порты протокола удаленного рабочего стола (RDP)

Развертывание этого сценария

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

При создании среды см. справочные материалы по CoreCompete SAS 9 или Viya в Azure.

Соавторы

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

Основные авторы:

Другие участник:

Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.

Следующие шаги

Сведения о начале работы см. в следующих ресурсах:

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