Рефакторинг компьютерных систем мейнфрейма, работающих под управлением Adabas и Natural

Служба Azure Kubernetes (AKS)
Azure ExpressRoute
управляемые диски Azure.
Azure NetApp Files

Software AG предоставляет популярную платформу мейнфреймов 4GL, основанную на естественном языке программирования и базе данных Adabas. В этой статье представлена архитектура для организаций, использующих компьютеры мейнфреймов, которые выполняют Adabas и Natural, и которые ищут способы модернизации этих рабочих нагрузок и перемещения их в облако.

Архитектура мейнфреймов

На этой схеме показан пример мейнфрейма с установленными модулями Adabas и Natural ag software AG перед миграцией в Azure. В этом примере показана архитектура IBM z/OS.

Схема, демонстрирующая архитектуру мейнфрейма, использующую Adabas и Natural программной группы доступности, перед миграцией в Azure.

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

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

А. Входные данные выполняются по протоколу TCP/IP, включая TN3270 и HTTP(S). Входные данные в мейнфрейм используют стандартные протоколы мейнфреймов.

B. Получение приложений может быть пакетной или онлайн-системами.

C. Естественные, COBOL, PL/I, Сборщик или другие совместимые языки выполняются в включенной среде.

D. Часто используемые службы данных и баз данных являются иерархическими и сетевыми системами баз данных и реляционными типами баз данных.

Е. Общие службы включают выполнение программы, операции ввода-вывода, обнаружение ошибок и защиту в среде.

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

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

H. Секции необходимы для выполнения отдельных рабочих нагрузок и разделения типов рабочих нагрузок в среде.

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

На этой схеме показано, как перенести устаревшую архитектуру в Azure с помощью рефакторингового подхода для модернизации системы:

Схема, демонстрирующая устаревшую архитектуру после миграции в Azure.

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

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

  1. Ввод. Обычно входные данные выполняются через Azure ExpressRoute из удаленных клиентов или через другие приложения, работающие в настоящее время под управлением Azure. В любом случае подключения TCP/IP являются основным средством подключения к системе. Порт TLS 443 предоставляет доступ к веб-приложениям. Вы можете покинуть уровень презентации веб-приложений практически без изменений, чтобы свести к минимуму переобучение пользователей. Кроме того, этот уровень можно обновить с помощью современных платформ пользовательского интерфейса в соответствии с вашими требованиями. Для доступа администратора к виртуальным машинам можно использовать узлы Бастиона Azure для максимальной безопасности, минимизируя открытые порты.

  2. Доступ в Azure. В Azure доступ к вычислительным кластерам приложений предоставляется через подсистему балансировки нагрузки Azure. Этот подход позволяет масштабировать вычислительные ресурсы для обработки входной работы. Вы можете использовать подсистемы балансировки нагрузки уровня 7 (уровень приложения) или уровень 4 (уровень сетевого протокола). Однако тип используемой подсистемы балансировки нагрузки зависит от того, как входные данные приложения достигают точки входа вычислительного кластера. Рекомендуется использовать Шлюз приложений Azure с возможностями брандмауэра веб-приложения для трафика уровня 7.

  3. Вычислительные кластеры приложений. Архитектура поддерживает приложения, которые выполняются в контейнере, который можно развернуть в Служба Azure Kubernetes (AKS). Компоненты Adabas и Естественные компоненты могут выполняться в контейнерах под управлением Linux. Вы можете перепроектировать устаревшие приложения в современные архитектуры на основе контейнеров и работать на основе AKS.

  4. Эмуляция терминала ApplinX (Software AG). ApplinX — это серверная технология, которая обеспечивает веб-подключение и интеграцию с основными системными приложениями, не требуя изменений в приложениях. Natural Online позволяет пользователям в Интернете подключаться к приложениям Natural через веб-браузер. Без ApplinX пользователям необходимо подключиться к программному обеспечению эмуляции терминала с помощью SSH. Обе системы выполняются в контейнерах.

  5. EntireX (Software AG). EntireX позволяет легко подключать службы, которые работают на сервере интеграции, к критически важным программам, написанным на языках, таких как COBOL и Natural. Естественные бизнес-службы обеспечивают доступ API к бизнес-функциям, программируемым в Natural. Обе системы выполняются в контейнерах.

  6. Adabas (Software AG). Adabas — это высокопроизводительная система управления базами данных NoSQL. Естественный пакет (software AG) — это выделенный компонент для выполнения пакетных заданий. Естественные пакетные задания, запланированные выбранной системой планирования пакетного задания, должны выполняться на том же узле, что и база данных Adabas, чтобы избежать влияния на производительность.

  7. Хранилище. Службы данных используют сочетание хранилища с высокой производительностью (ssd категории "ультра" или "премиум") хранилища файлов (NetApp) и стандартного хранилища (BLOB-объектов, архива, резервного копирования), которые могут быть локальными избыточными или геоизбыточными в зависимости от использования. Операционные системы узла используют управляемое хранилище дисков. Все постоянные данные, такие как файлы базы данных, журналы защиты, данные приложения и резервное копирование, используйте Azure NetApp Files. AKS управляет томами операционной системы, хранящимися на управляемых дисках. Все критически важные для бизнеса данные из баз данных, включая ASSO, DATA, WORK-файлы и журналы защиты Adabas, должны быть записаны в отдельные тома в Azure NetApp Files.

  8. CONNX. Модуль CONNX для Adabas обеспечивает высокобезопасный, безопасный доступ на чтение и запись к источникам данных Adabas в ОС/390, z/OS, VSE, Linux, Solaris, HP-UX, AIX и Windows через .NET, ODBC, OLE DB и JDBC. CONNX предоставляет уровень виртуализации данных, который использует соединители для Adabas и других источников данных, таких как База данных SQL Azure, База данных Azure для PosgreSQL и База данных Azure для MySQL.

Компоненты

  • Azure ExpressRoute расширяет локальные сети в облако Майкрософт через частное подключение, которое упрощает поставщик подключений. ExpressRoute можно использовать для установления подключений к облачным службам Майкрософт, таким как Azure и Office 365. Кроме того, или в качестве резервного копирования, можно установить подключения к Azure VPN-шлюз. Однако рекомендуется использовать ExpressRoute, чтобы подключиться к среде Azure с помощью высокоскоростного частного подключения с повышенной безопасностью.

  • AKS — это полностью управляемая служба Kubernetes для развертывания контейнерных приложений и управления ими. AKS предоставляет бессерверные Kubernetes, интегрированную непрерывную интеграцию и непрерывную доставку (CI/CD), а также безопасность и управление корпоративным классом. В этом сценарии контейнеры Adabas и Natural развертываются в AKS.

  • Управляемые диски Azure — это тома хранилища на уровне блоков, управляемые Azure и используемые с виртуальными машинами Azure. Доступны различные типы: диски ценовой категории "Ультра", SSD категории "Премиум", "Стандартный" и "Стандартный HDD". Диски SSD используются в этой архитектуре. В этом сценарии все тома операционной системы хранятся на управляемых дисках Azure.

  • Azure NetApp Files предоставляет общие папки Azure корпоративного класса на основе NetApp. Azure NetApp Files упрощает перенос и запуск сложных файловых приложений без изменения кода. В этом сценарии все постоянные данные, такие как файлы базы данных, журналы защиты, данные приложения и файлы резервного копирования, используйте Azure NetApp Files.

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

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

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

Software AG предоставляет популярную платформу мейнфреймов 4GL, основанную на естественном языке программирования и базе данных Adabas.

Два шаблона рационализации облака позволяют запускать приложения Adabas и Natural в Azure: повторное размещение и рефакторинг. В этой статье описывается, как рефакторинг приложения с помощью контейнеров, управляемых в AKS. Дополнительные сведения см . в разделе "Подход на основе контейнеров" далее в этой статье.

Потенциальные варианты использования

Эта архитектура применяется к любой организации, использующей компьютеры с мейнфреймами под управлением Adabas и Natural, которая планирует модернизировать эти рабочие нагрузки и переместить их в облако.

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

Подход на основе контейнера

Чтобы получить большую часть гибкости, надежности и возможностей Azure, необходимо повторно выполнить реархитирование приложений мейнфреймов. Рекомендуется переписать монолитные приложения как микрослужбы и использовать подход на основе контейнеров к развертыванию. Контейнер объединяет все программное обеспечение, необходимое для выполнения в один исполняемый пакет. Он включает код приложения вместе со связанными файлами конфигурации, библиотеками и зависимостями, необходимыми для запуска приложения. Контейнерные приложения быстро развертывают и поддерживают популярные методики DevOps, такие как непрерывная интеграция (CI) и непрерывное развертывание (CD).

Контейнеры Adabas и Естественные контейнеры выполняются в модулях pod, каждый из которых выполняет определенную задачу. Модули Pod — это единицы одного или нескольких контейнеров, которые остаются вместе на одном узле и совместно используют ресурсы, такие как имя узла и IP-адрес. Так как они отделены от базовой платформы, компоненты в модулях pod масштабируются независимо и поддерживают более высокую доступность. Контейнерное приложение также переносимо: он выполняется равномерно и согласованно в любой инфраструктуре.

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

Схема архитектуры в этой статье показывает реализацию Adabas и Natural на основе контейнеров. При настройке AKS необходимо указать размер виртуальной машины Azure для узлов, который определяет ЦП хранилища, память и тип, такие как высокопроизводительные твердотельные диски (SSD) или обычные жесткие диски (HDD). Естественный должен выполняться на трех или более экземплярах виртуальных машин (узлах) для повышения масштабируемости и доступности пользовательского интерфейса (Natural Online плюс ApplinX) и уровня API (естественные службы плюс ВесьX).

На уровне данных Adabas выполняется в кластере AKS, который масштабируется автоматически на основе использования ресурсов. Вы можете запускать несколько компонентов Adabas в одном модуле pod или для большего масштаба AKS может распространять их между несколькими узлами в кластере. Adabas использует Azure NetApp Files, высокопроизводительную службу хранилища файлов с учетом лимита для всех постоянных данных, таких как файлы базы данных, журналы защиты, данные приложения и резервное копирование.

Поместите естественные пакетные модули pod в ту же зону доступности (центр обработки данных), что и модули pod Adabas. Группы размещения близкого взаимодействия следует использовать для размещения adabas и естественных пакетов pod в одном пуле узлов в пределах одной зоны доступности.

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

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

Эта архитектура в основном основана на Kubernetes, которая включает компоненты безопасности, такие как стандарты безопасности pod и секреты. Azure предоставляет дополнительные функции, такие как Идентификатор Microsoft Entra, Microsoft Defender для контейнеров, Политика Azure, Azure Key Vault, группы безопасности сети и оркестрированные обновления кластера. Рефакторинговые контейнеры следует развернуть в частном кластере AKS с входящего доступа через частный сервер API и внутренние IP-адреса. Весь исходящий трафик должен направляться через уровень брандмауэра исходящего трафика.

Оптимизация затрат

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

  • Используйте автомасштабирование кластера и горизонтальное автомасштабирование pod для масштабирования количества модулей pod и узлов на основе условий трафика. Модули pod Adabas могут использовать горизонтальное автомасштабирование pod для оптимизации затрат.

  • Используйте средство автомасштабирования вертикального модуля pod для анализа и задания ресурсов ЦП и памяти, необходимых модулям pod. Этот подход оптимизирует выделение ресурсов.

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

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

  • Выберите нужные уровни обслуживания и размер пула емкости для Azure NetApp Files. Рекомендации по управлению затратами см. в статье "Модель затрат" для Azure NetApp Files.

  • Используйте зарезервированную емкость для Azure NetApp Files.

  • Чтобы отслеживать и оптимизировать затраты, используйте такие средства управления затратами, как Помощник по Azure, резервирования Azure и планы экономии Azure.

  • Чтобы оценить затраты на использование, используйте калькулятор затрат Azure.

  • Чтобы улучшить отслеживание затрат и управление, используйте теги Azure для связывания ресурсов AKS с определенными рабочими нагрузками.

Эффективность работы

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

Рефакторинг поддерживает более быстрое внедрение облака. Она также способствует внедрению принципов работы DevOps и Agile. У вас есть полная гибкость вариантов разработки и рабочего развертывания.

Эффективность производительности

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

Kubernetes предоставляет автомасштабирование кластера. Средство автомасштабирования настраивает количество узлов на основе запрошенных вычислительных ресурсов в пуле узлов. Он отслеживает сервер API метрик каждые 10 секунд для любых необходимых изменений в количестве узлов. Если средство автомасштабирования кластера определяет необходимость изменения, количество узлов в кластере AKS увеличивается или уменьшается соответствующим образом. 

Соавторы

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

Автор субъекта:

  • Марлон Джонсон | Старший TPM

Участник.

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

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

Для получения дополнительной информации обратитесь по адресу legacy2azure@microsoft.com.

Ниже приведены некоторые дополнительные ресурсы.