SAP on Azure – что такое SAP Deployment Automation Framework для развертывания SAP в облаке + 3 подробных демо-видео


Что такое Microsoft SAP Deployment Automation Framework для SAP on Azure?

Три демонстрационные видео, посвященные работе SAP Deployment Automation Framework, смотрите ниже по тексту.

Microsoft SAP on Azure Deployment Automation Framework — это инструмент DevOps с открытым исходным кодом для развертывания, установки и обслуживания сред SAP – фактически, представляет собой набор готовых к использованию скриптов Azure DevOps, Terraform и Ansible, исполнение которых управляется при помощи простых для понимания конфигурационных файлов. С использованием конфигурационных файлов SAP Deployment Automation Framework можно создать полностью готовую инфраструктуру для SAP on Azure, а также развертывать приложения на платформе SAP HANA и NetWeaver с AnyDB. SAP Deployment Automation Framework использует Terraform для создания инфраструктуры SAP on Azure – создает сети/подсети, сетевые хранилища, виртуальные машины, балансировщики нагрузки и прочие объекты инфраструктуры SAP on Azure – и Ansible для конфигурации операционной системы и приложений – создание локальных разделов дисков на основе LVM, монтирование сетевых хранилищ, создание учетных записей пользователей и групп, установка пакетов и обновлений для работы SAP.

Инфраструктуру для SAP можно развернуть с использованием любой версии операционной системы, поддерживаемой SAP, и развернуть в любом регионе Azure. Поддерживается:

  • как “green field” развертывание – т.е. в наличии имеется только подписка Azure, в которой развертываются все требуемые компоненты – ресурсные группы, виртуальные сети и подсети, сетевые балансировщики нагрузки, хранилища данных и секретов, сами виртуальные машины и многое другое
  • так и развертывание в режиме “brown field”, т.е. при наличии в целевой подписке Azure уже частично развернутой инфраструктуры – например, ресурсных групп, сетей, хранилищ и т.п. – путем ссылок на существующие объекты в конфигурационных файлах SAP Deployment Automation Framework.

При этом сама инфраструктура SAP может быть развернута в нескольких сценариях:

  • одноуровневая (когда все необходимые компоненты/уровни приложений SAP расположены на одной виртуальной машине Azure + вспомогательные компоненты типа сетевых хранилищ ANF/AFS),
  • распределенная – со всеми необходимыми уровнями, такими, как DB, APP, SCS/ERS, WebDisp,
  • распределенная с высокой доступностью – в данном случае для требуемых уровней, таких, как DB, SCS/ERS, WebDisp развертываются по несколько виртуальных машин и компоненты высокой доступности, такие, как Azure Load Balancers и кластеры Pacemaker.

С инфраструктурной точки развертывание с SAP Deployment Automation Framework представляет из себя наличие 2х основных компонентов – среды Azure DevOps для хранения репозитория и управления развертыванием и так называемой Control Plane (Панели Управления) – одной или нескольких виртуальных машин в Azure, а также дополнительных компонентов типа Azure Storage Account и Azure KeyVault – виртуальные машины которой регистрируются в Azure DevOps как self-hosted agent и которые, собственно, и выполняют развертывание требуемой инфраструктуры SAP on Azure, подключаясь, с использованием SPN, к необходимой Azure Subscription. При этом основным инструментом инженера, выполняющего развертывание инфраструктур SAP с применением SAP Deployment Automation Framework являются среда разработки Visual Studio Code, которая подключена к соответствующему репозиторию Azure DevOps и которая используется непосредственно для редактирования конфигурационных файлов Terraform, которые и описывают требуемую инфраструктуру SAP для развертывания, и сервис Azure DevOps, который выступает в качестве репозитория и среды управления пайплайнами, которые и запускаются на упомянутых выше виртуальных машинах Панели Управления.

Более подробно процесс конфигурации SAP Deployment Automation Framework, создания конфигурационных файлов для инфраструктуры SAP и непосредственного развертывания инфраструктуры SAP описан ниже и приведен в примерах в трех подробных видео с детальной демонстрацией SAP Deployment Automation Framework, которые вы найдете в статье.


SAP on Azure – обзор SAP deployment automation framework для развертывания SAP + демо, ч.1/3


Какие компоненты/службы Azure поддерживаются и конфигурируются SAP Deployment Automation Framework при развертывании инфраструктуры?

Платформа автоматизации использует или может использовать следующие службы, функции и возможности Azure.

  • Виртуальные машины Azure (VMs)
    • Accelerated Networking
    • Привязка виртуальных машин (Anchor VMs для Azure Pinning)
    • SSH-аутентификация
    • Аутентификация по имени пользователя и паролю
    • SKU configuration
    • Custom images
    • Новые или существующие группы Proximity Placement Group
  • Виртуальная сеть Azure (VNet)
    • Развертывание в сетях, подключенных к вашей сети SAP
    • Указанная клиентом IP-адресация (Static)
    • IP-адресация, предоставляемая Azure (Dynamic)
    • Новые или существующие группы безопасности сети (Network Security Groups)
    • Новые или существующие виртуальные сети
    • Новые или существующие подсети
  • Azure Availability Zones
    • Высокая доступность (HA)
  • Azure Firewall
  • Балансировщик нагрузки Azure
    • Standard load balancers
  • Хранилище Azure
    • Хранилище диагностики загрузки
    • Хранилище установочных носителей SAP
    • Хранилище файлов состояния Terraform
    • Хранилище Cloud Witness для сценариев высокой доступности
  • Azure Key Vault
    • Новые или существующие хранилища ключей
    • Управляемые клиентом ключи для шифрования диска
  • Группы безопасности приложений Azure (ASG)
  • Файлы Azure для NFS
  • Файлы Azure NetApp (ANF)
    • Для общих файлов
    • Для файлов базы данных


Если вам требуется развернуть SAP on Azure – почему стоит рассмотреть использование Microsoft SAP Deployment Automation Framework?

И не только в случае развертывания SAP, но и любых других сложных инфраструктур для многоуровневых решений с многочисленными зависимостями.

Используйте и внедряйте итеративные инновации Azure/гипермасштабирования. Платформа автоматизации учитывает все последние настройки SAP, такие как параметры ОС и т. д.

Собственные инструменты Azure (без внешних инструментов, без привязки к поставщику). Он становится активом, поскольку основан на решении Microsoft с открытым исходным кодом, в котором используются отраслевые стандарты и инструменты.

Сокращение человеческих ошибок. настройка в соответствии со стандартами клиента, которую не предлагает стандартное решение MSFT, например, установка расширений, адаптация к стандартам именования хостов, адаптация к макету файловой системы и т. д.

Идеально подходит для гибкого управления решениями. С некоторыми изменениями он легко может стать ответвлением текущего клиентского пайплайна CI/CD.

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

Высокие стандарты. Платформа создает виртуальные машины и ландшафт в соответствии с передовыми практиками / рекомендациями, изложенными Microsoft и SAP.

Безопасность. Доступ к виртуальным машинам и уровню ОС ограничивается закрытыми ключами, что исключает совместное использование учетных данных, что обеспечивает высочайшие стандарты безопасности.

Сокращение обслуживания инфраструктуры (автоматизация по сравнению с ручным трудом) за счет автоматизации.

Зрелая модель, принятая для глобального развертывания корпоративными клиентами. Это решение уже поставлено нескольким клиентам по всему миру и развивается каждый день.


Каковы основные шаги по внедрению Microsoft SAP Deployment Automation Framework в организации?

Шаг 1. Разверните новый проект в Azure DevOps или используйте существующую среду.

Шаг 2. Клонируйте платформу автоматизации развертывания Microsoft SAP в Azure DevOps. Этот код является открытым исходным кодом и может быть изменен как структура решения для обеспечения необходимого уровня настройки.

Шаг 3. Создайте учетную запись участника-службы Azure (SPN) для развертывания.

Шаг 4. Настройте подписку (подписки) — разрешения для учетной записи SPN.

Шаг 5. Создайте консоль управления (Deployer VMs) — стандартный пайплайн 1 в фреймворке на основе конфигурационного файла Terraform.

Шаг 6. Настройте агенты Azure DevOps, библиотеку.

Шаг 7. Создайте конфигурации в SAP на платформе Azure для SAP.

Шаг 8. Создайте столько сред, сколько вам нужно, с помощью пайплайнов предлагаемого SAP фреймворка.

Шаг 9. Используйте интегрированные инструменты SAP фреймворка для массовой проверки конфигурации.

Шаг 10. Повторите шаги 7-9.

Какие встроенные существующие процедуры (pipelines) используются в Azure DevOps для работы с SAP Deployment Automation Framework?

Условно назовем существующие процедуры/пайплайны развертывания по номерам-префиксам в названиях файлов в библиотеке фреймворка, например – 01 (файл 01-deploy-control-plane.yaml в папке /deploy/pipelines библиотеки фрейворка) – будет использована только для развертывания виртуальных машин-агентов DevOps (Control Plane или Deployer VMs), 02 (файл 02-sap-workload-zone.yaml ) – и есть упоминаемая ниже пайплайн 2 и т.д.

● Старт — 3 обязательных пайплайна + 1 необязательный пайплайн как часть среды автоматизации развертывания SAP

Пайплайн 2 (TF) – построить новую инфраструктуру или дополнить уже существующую инфраструктуру (сети/подсети, хранилища (BLOBs, ANF, AFS и т.п.), Key Vaults и т.п.)

Пайплайн 3 (TF) – создание виртуальных машин и связанных с ними объектов (например, балансировщики нагрузки в составе кластеров) + их настройка на уровне Azure.

Пайплайн 4 опционально – загрузить инсталляционные файлы и подготовить спецификацию SAP (Bill of Material)

Пайплайн 5 (Ansible) – настроить службы ОС, преднастройки SAP, iSCSI SDB серверы и клиенты, кластеры Pacemaker, установить SAP (в случае пайплайн 4)


Пример выполнения Pipeline 2: Landscape – построение окружения для инфраструктуры SAP.

Пример работы с данным шагом смотрите в видео выше – после описания самого SAP Deployment Automation Framework.

● Данный шаг базируется на основе хорошо отформатированного легко читаемого/изменяемого текстового файла конфигурации (Terraform .tfvars).

● Все параметры/опции хорошо задокументированы в инструменте автодокументации SAP фреймворк.

● На данном шагу создаются/настраиваются существующие объекты и опции:

  • Resource Group’s placement
  • iSCSI SBD server
  • VNET/subnets config
  • NSGs config
  • NFS: AFS, NFS, ANF config
  • ANF volumes structure and subfolders (deeply modified)
  • Key Vault & identity config (all credentials and ssh keys are stored in KV, could be used for integration with other DevOps processes)
  • Client’s extensions (ARM templates & shell scripts, deeply modified)



SAP on Azure – обзор SAP deployment automation framework для развертывания SAP + демо, ч.2/3


Пример выполнения Pipeline 3: System – создание виртуальных машин для SAP и дополнительных компонентов, например, высокой доступности.

● На основе хорошо отформатированного легко читаемого/изменяемого текстового файла конфигурации (Terraform .tfvars) и т.п.

● Создавайте виртуальные машины SAP на основе четкого и легкого определения каждого уровня:

  • DB – type of DB (HANA, ASE, ORACLE, DB2, SQL), sizing, HA, DB SID, instance#, OS image, storage mounting
  • SCS/ERS – count, HA, sizing, instance#, storage mounting, OS image
  • APP – count, sizing, OS image
  • WEB – count, sizing, OS

● Создает конфигурационные файлы Ansible для следующего шага: пайплайн 5

● Дополнительные/общие настройки:

  • PPG, AvSet, AvZones, Pinning (deeply modified)
  • Backup, client’s extensions, monitoring and diagnostic (deeply modified)
  • Local users (for ALL or by tier – name, uid, gid, groups etc., deeply modified)
  • File system permissions (deeply modified)
  • Additional packages (deeply modified)
  • Global network mounts (Azure Files, Azure Storage blobs as NFS, deeply modified)


SAP on Azure – обзор SAP deployment automation framework для развертывания SAP + демо, ч.3/3

Пример выполнения Pipeline 5: SAP – конфигурирование операционных систем, дисков и сетевых томов, создание пользователей, назначение прав, установка пакетов и обновлений и настройка требований SAP, конфигурирование кластеров и ролей в них, установка SAP (если создан BoM каталог и загружены бинарные файлы SAP)

● На основе автоматически сгенерированных, хорошо отформатированных, легко читаемых/изменяемых текстовых файлов конфигурации (Ansible .yaml)

● НЕ требует каких-либо изменений в файлах конфигурации по умолчанию — может запускаться сразу после создания виртуальных машин с помощью пайплайн 3.

● Операции:

  • Basic OS config – kernel optimization for SAP, packages, services, networking, accounts, permissions, disks etc. (deeply modified)
  • Basic SAP config – SAP permissions, SAP exports, SAP users, GRUB etc
  • iSCSI server config (for SBD) (deeply modified)
  • iSCSI clients config (for SBD) (deeply modified)
  • Pacemaker baseline config (SCS/ERS, DB) (deeply modified)
  • If optional pipeline 4 done – SAP roles software installation & configuration (based on BoM catalog)


Другие мои семинары по Azure вы найдете тут:

демо лабораторных работ с этого семинара, которые вы можете видеть здесь:

  • настройка Azure Migrate, обнаружение, анализ возможностей миграции в Azure и зависимостей виртуальных машин на виртуальном сервере – https://youtu.be/8hjDG11oH84
  • настройка Azure Migrate, Data Migration Assistant для анализа возможностей миграции баз данных и использование Azure Data Migration Service для миграции базы данных в Azure – https://youtu.be/X3B–uKLT7E
  • конфигурация репликации и непосредственная миграция виртуальных машин с локального сервера Hyper-V в Azure, окончательная настройка рабочего решения в Azure – https://youtu.be/LWco5RPbKfQ


И еще – смотрите замечательную серию – ИТ-карьера, сезон 2022-23 – открытое собеседование на позицию Azure Admin – что нужно знать

Гаджеты: ONEXPLAYER 2 – достаем из коробки конкурента Steam Deсk на ADM R7 6800U и съемными стиками


Итак, новая портативная игровая консоль на достаточной мощной для AAA игр платформе AMD Ryzen7 6800U с интегрированной графикой AMD Radeon 680M – ONEXPLAYER 2. Чем она отличается от других подобных консолей на таком же (или почти таком же железе), которые появились в последнее время во множестве – GPD Win 4, AYANEO 2, AYN Loki Max (кстати, в этот список можно внести и GPD Win MAX 2 – который на той же платформе AMD R7 6800U, но представлен в виду мини-ноутбука, хотя и с джойстиками для игры)?

Портативная игровая консоль ONEXPLAYER 2 – это первый в данном формфакторе (портативной игровой консоли) трансформер, который реализует идеи Nintendo Switch со снимающимися боковыми джойстиками – легким движением руки довольно толстенький параллелепипед-кирпичик системного блока ONEXPLAYER 2, который с присоединенной клавиатурой-чехлом представляет из себя достаточно мощный 8.4 дюйма планшет а-ля Microsoft Surface Pro, превращается в игровую консоль путем присоединения к нему по бокам джойстиков. Нажимаем кнопки освобождения защелок джойстиков – и опять, легким движением руки превращаем игровую консоль в «кирпичик» планшета – все, как у Nintendo Switch. За исключением того, что у Nintendo Switch есть в комплекте «внешняя панель-серединка», к которой можно подключить оставшиеся в руках джойстики и собрать из них один «большой внешний» геймпад – например, для игры с дивана, когда сама консоль через кредл подключена к телевизору или монитору. К сожалению, в варианте ONEXPLAYER 2 – они просчитались с эргономикой данной «серединки» и в базовом комплекте, который рассылался, она была заявлена, но ее не прислали – обещают прислать к лету. Вот тогда можно будет в полную силу насладиться возможностями трансформации у ONEXPLAYER 2 – тем более, что подключаться к телевизору или монитору можно и без кредла – если «экран» поддерживает USB Type-C соединение (например, мой новенький 43 дюймовый монитор PHILIPS 436M6VBPAB из таких – https://youtu.be/53iKsVHNcNE) – или же используя любой USB Type-C хаб с портом HDMI – у меня, например, есть такой дешевый UBS хаб-кредл, который я купил для Steam Deck и который выступает также и подставкой для устройства. И ONEXPLAYER 2 отлично вписался по габаритам в данную подставку – как будто китайцы что-то знали – и отлично подключается к внешнему монитору. А пока компания будет делать внешнюю панель для «большого» геймпада для боковых джойстиков ONEXPLAYER 2 – можно использовать для игры с дивана геймпад от того же XBOX, подключенный по Bluetooth.


Гаджеты: ONEXPLAYER 2 – достаем из коробки конкурента Steam Deсk на ADM R7 6800U и съемными стиками


Собственно, эта опция – трансформер – и есть основная выигрышная черта ONEXPLAYER 2, из-за которой я предпочел именно его другим, ранее упомянутым, платформам – GPD Win 4, AYANEO 2, AYN Loki Max (хотя еще и заказал себе по предзаказным ценам маленький AYN Loki Mini Pro на Intel i3 1215u – так, чтобы посмотреть и на то, на что способна конкурирующая и более дешевая платформа). Кстати, у AYN Loki есть и более дешевый вариант на AMD 6600U – кто хотел игровую мобильную платформу за 650у.е. – может побыстрее заглянуть по линку https://www.ayntec.com/products/loki-512-reservation – там открыт предзаказ…

Что же касается «базовой» платформы Steam Deck, от которой сейчас «пляшут» все китайские производители подобных игровых приставок – то, учитывая собственный печальный опыт эксплуатации Steam Deck, могу сказать, что новое поколение «китайцев» типа ONEXPLAYER 2 и ему подобных на платформе AMD 6800U с графикой 680M существенно превосходит Steam Deck в эксплуатации. И дело здесь не в более производительном «железе», а в том, что тот же ONEXPLAYER 2 получается универсальным устройством, которое можно использовать и как мобильное рабочее место (с теми же 32ГБ ОЗУ на борту, а главное – с универсальной Windows 11 – можно запросто «закрыть бэклог на выезде»), и как универсальная игровая платформа для того же Steam (как приложения), которая запускает ВСЕ доступные в библиотеке игры. Несовместимость игр из библиотеки Steam с Steam Deck, кстати, является основной проблемой использования Steam Deck, так, например, из моих 170 игр в моей библиотеке Steam совместимыми со Steam Deck оказалось только 30, т.е. около 20% от общего числа, причем вылетели именно старые добрые «ламповые» игрушки, в которые и хочется поиграть в дороге и на ходу. Так что ONEXPLAYER 2 дает 100500 очков форы Steam Deck в отношении универсальности работы и игры. «Залоченный» Steam Deck стоит 700 евро, тогда как универсальный вариант (да еще и трансформер, который превращается при необходимости в обычный таблет а-ля Microsoft Surface Pro) с в два раза большим объемом ОЗУ и SSD и новым поколением процессора/графики, в виде представленного ONEXPLAYER 2 стоит 1200 евро – и если это дорого для вас – тогда посмотрите в сторону того же упомянутого выше AYN – при тех же ОЗУ/памяти Loki c AMD 6600U стоит 650у.е., а Loki MAX c AMD 6800U – стоит 775у.е.

Так что да – портативная игровая консоль-трансформер ONEXPLAYER 2 пока что лучшая в своем классе, но есть некоторые НО – про это уже в подробном обзоре…