Эта архитектура описывает, как реализовать рабочую нагрузку приложения мейнфреймов системы управления информацией (IMS) в Azure с помощью IMSql в Raincode. Перенос приложения базы данных IMS в облачное решение сложнее, чем перенос приложения реляционной базы данных. В этой статье описывается, как легко разместить рабочую нагрузку мейнфрейма IMS с критически важными функциями и возможностями IMS в Azure. Вам не нужно переводить или изменять существующее приложение.
Архитектура рабочей нагрузки IMS DB/DC перед миграцией
Скачайте файл Visio для этой архитектуры.
Поток данных
- Пользователи подключаются к мейнфрейму через TCP/IP с помощью стандартных протоколов мейнфреймов, таких как TN3270 и HTTPS.
- Диспетчеры транзакций взаимодействуют с пользователями и вызывают приложение для удовлетворения запросов пользователей.
- В передней части слоя приложений пользователи взаимодействуют с экранами IMS или веб-страницами.
- Код приложения использует возможности хранения внутреннего уровня данных БАЗЫ данных IMS (иерархический).
- Все операции с автономными большими данными выполняются с помощью пакетных заданий.
- Наряду с обработкой транзакций другие службы обеспечивают проверку подлинности, безопасность, управление, мониторинг и отчеты. Эти службы взаимодействуют со всеми прочими службами в системе.
Архитектура IMSql в Azure
Скачайте файл Visio для этой архитектуры.
Рабочий процесс
Сервер терминала IMSql
Традиционно интерфейс Mainframe z/OS осуществляется через встроенный терминал IBM или через программное обеспечение эмуляции терминала. Приложение, которое имеет географически распределенную сеть с тысячами пользователей, может подключаться к мейнфреймам с помощью любой формы терминала. Когда приложение обмена данными IMS (DC) повторно размещается в распределенной облачной системе, необходимо централизованно разместить приложение и ресурс и опубликовать их для удаленных клиентских устройств. Эти задачи можно выполнить в Azure с помощью серверов терминалов IMSql.
SQL Server Service Broker
В Мейнфрейме контроллер домена IMS управляет уровнем обмена данными между пользовательскими терминалами и программами приложения путем передачи и обработки сообщений в области управления. После повторного размещения SQL Server Service Broker оркеструет этот асинхронный уровень связи. Service Broker помогает с помощью платформы доставки сообщений и масштабирует сообщения на отдельные серверы обработки, текущих пользователей и обработку транзакций.
Сервер обработки IMSql
Сервер обработки запускает код с перекомпилированием дождя для программ IMS в платформа .NET Framework или .NET Core. Она содержит базовую инфраструктуру, которая позволяет перекомпилировать программы эффективно работать с правильной функциональной эквивалентностью. Сервер обработки IMSql может создавать динамические запросы и вызывать хранимые процедуры SQL, созданные во время повторной компиляции вызовов DL/I.
SQL Server в качестве иерархического хранилища данных
Данные хранятся в виде иерархических данных в IMS. IMSql использует ту же модель в SQL Server. Эта модель позволяет IMSql воспользоваться высокой производительностью реляционных баз данных и логически реализовать иерархические сегменты из IMS. Он также позволяет системе масштабироваться независимо с сегментами. Данные сегмента хранятся в необработанном формате EBCDIC, поэтому его не нужно преобразовать для приложения. Используя платформу SQL в качестве службы (PaaS), IMSql может воспользоваться базовыми возможностями высокого уровня доступности и аварийного восстановления, предоставляемыми Azure.
API вызовов DL/I
API IMSql гарантирует, что вызовы DL/I COBOL IMS претворяются в эквивалентные запросы SQL. Затем он извлекает данные и возвращает его обратно в программу приложения в ожидаемом формате. IMSql также отслеживает положение программы в записи таблицы для выполнения операций создания, чтения, обновления и удаления (CRUD), таких как иерархическая база данных. IMSql может создавать хранимые процедуры SQL во время компиляции для реагирования на вызовы DL/I с интенсивным производительностью.
JCL для дождя
Язык управления заданием дождя (JCL) — это интерпретатор, совместимый с Z/OS JCL. Интерпретатор Raincode JCL делает переход от сложной бизнес-логики, внедренной в JCL на платформы Azure и .NET Core, как можно проще. JCL для дождя предназначен для выполнения кода, скомпилированного компиляторами Raincode COBOL, PL/I и ASM370. Он может легко выполнять шаги, написанные практически на любом языке. Его можно настроить и настроить с помощью написанного пользователем кода, чтобы адаптировать его к собственным потребностям для планирования пакетной службы.
Представление данных IMSql
IMSql определяет реляционные представления SQL на основе книг копирования (макетов записей), чтобы к сегментам IMS можно получить доступ с помощью простых инструкций SQL любой службы Azure и новых приложений. Представления IMSql также доступны для записи, поэтому современные приложения могут взаимодействовать с IMS как с помощью SQL Server.
Миграция данных с помощью IMSql
Скачайте файл Visio для этой архитектуры.
Миграция объектов базы данных
- Исходное описание базы данных БАЗЫ данных IMS (DBD) извлекается и передается из Мейнфрейма. ImSql использует сведения о DBD для создания скриптов SQL для создания целевой базы данных и таблиц в SQL Azure.
- Каждый сегмент базы данных IMS преобразуется в таблицу в Azure.
- Таблицы состоят из ключевого поля, полей поиска и полных данных сегмента IMS, представленных в EBCDIC.
- Структура дерева сегментов IMS сохраняется с связью первичного и внешнего ключа в таблицах SQL Azure.
Начальная загрузка данных
- Данные из базы данных IMS извлекаются с помощью задания мейнфрейма и общедоступных служебных программ загрузки, таких как DFSRRC00 и DFSURGL0.
- Вы можете перенести извлеченные двоичные файлы в Azure с помощью соединителей Фабрика данных Azure, таких как FTP и SFTP, и решение на основе Java, работающее в службах подсистем Unix (USS).
- IMSql имеет встроенную программу загрузки для завершения начальной загрузки данных. Это средство использует программу массового копирования SQL Server (bcp). Он обеспечивает выполнение bcp и необходимую целостность ссылок между таблицами, чтобы соответствовать ожидаемой иерархической структуре.
- Эта миграция устраняет одноразовую загрузку данных из базы данных IMS, а не сосуществования и связанной синхронизации данных.
Поток данных для миграции
- Хранилище нереляционных мейнфреймов (IMS DB) содержит два компонента: DBD и фактические данные сегмента.
- Служебные программы IBM извлекают и выгружают сведения об базе данных IMS.
- DbD-файл и соответствующие двоичные файлы данных создаются отдельно.
- Прием данных:
- Соединитель FTP фабрики данных копирует наборы данных Mainframe IMS в хранилище данных Azure.
- Файлы данных мейнфреймов IMS копируются в Хранилище BLOB-объектов Azure через SFTP.
- JCL мейнфрейма используется для запуска пользовательского решения Java, которое перемещает данные между системой мейнфреймов и SFTP Хранилище BLOB-объектов Azure.
- С помощью DBD-файла IMSql создает целевую базу данных и таблицы с необходимой целостностью ссылок.
- После создания объектов данных IMSql загружает данные в соответствующую таблицу в последовательном порядке.
- Все перенесенные данные IMS размещаются в Управляемый экземпляр SQL Azure.
- База данных приложения состоит из необработанных данных сегмента для обработки мгновенных сообщений в сети и пакетной обработки.
- Представления чтения и записи IMS состоят из данных сегмента, развернутых на основе макета книги копирования.
Миграция данных IMS DB с помощью Raincode zBridge
Raincode zBridge упрощает доступ к нереляционным данным мейнфрейма в Azure, включая данные из сегментов IMS/DB. Эти данные становятся доступными в базах данных SQL Azure для распределенных приложений, отчетов и аналитических целей.
Файлы данных сегмента IMS импортируются в zBridge с соответствующей книгой копирования COBOL или pl/I. При необходимости данные отображаются в виде строк SQL с числовыми типами мейнфрейма, преобразованными в типы и строки SQL в ASCII. Также поддерживаются сложные структуры данных.
Компоненты
Эта архитектура состоит из следующих облачных служб Azure. Службы и их роли описаны в следующих разделах.
- Azure Logic Apps позволяет быстро создавать мощные решения интеграции. Пользователи мейнфреймов знакомы с терминалами 3270 и локальными подключениями. Они могут использовать соединитель IBM 3270 Logic Apps для доступа и запуска приложений мейнфреймов IBM. В перенесенной системе они взаимодействуют с приложениями Azure через общедоступный Интернет или частное подключение, реализованное через Azure ExpressRoute. Идентификатор Microsoft Entra предоставляет проверку подлинности.
- Azure виртуальная сеть — это базовый стандартный блок для частной сети в Azure. виртуальная сеть позволяет многим типам ресурсов Azure, таким как виртуальные машины Azure, взаимодействовать друг с другом, Интернетом и локальными сетями, все с улучшенной безопасностью. виртуальная сеть похож на традиционную сеть, которая работает в собственном центре обработки данных, но она приносит больше преимуществ инфраструктуры Azure, таких как масштабирование, доступность и изоляция.
- ExpressRoute позволяет расширить локальные сети в Microsoft Cloud через частное подключение, которое упрощает поставщик подключений. ExpressRoute можно использовать для установления подключений к облачным службам Майкрософт, таким как Azure и Office 365.
- Azure Масштабируемые наборы виртуальных машин обеспечивает автоматическое масштабирование и масштабирование виртуальных машин с балансировкой нагрузки, упрощающее управление приложениями и повышающее доступность.
- Управляемый экземпляр SQL, часть портфеля служб SQL Azure, — это управляемый, высокобезопасный, всегда актуальный экземпляр SQL в облаке.
- Идентификатор Microsoft Entra — это облачная служба управления удостоверениями и доступом. Единый вход и многофакторная проверка подлинности Microsoft Entra помогают пользователям входить и получать доступ к ресурсам, помогая защититься от атак кибербезопасности.
Альтернативные варианты
- SQL Server можно использовать в виртуальной машине Azure в качестве альтернативы Управляемый экземпляр SQL. Мы рекомендуем Управляемый экземпляр SQL в этой архитектуре из-за преимуществ, таких как высокий уровень доступности, простая интеграция с различными службами Azure и управление базовыми исправлениями безопасности и обслуживанием.
- Вы можете использовать архитектуру одной виртуальной машины Azure в качестве альтернативы Масштабируемые наборы виртуальных машин. Может потребоваться использовать отдельные виртуальные машины для рабочих нагрузок с постоянными требованиями к нагрузке и производительности, а также не требуется масштабирование. Эта архитектура использует Масштабируемые наборы виртуальных машин для обработки типичных рабочих нагрузок IMS.
Подробности сценария
Системы OLTP мейнфрейма могут обрабатывать миллионы транзакций для большого количества пользователей. IBM IMS — это надежный классический диспетчер транзакций мейнфреймов, используемый крупными компаниями для обработки транзакций в сети. Он имеет два основных компонента: компонент контроллера домена IMS и базовый иерархический компонент СУБД IMS DB.
IMSql предоставляет способ размещения рабочих нагрузок на основе IMS в Azure или локальных распределенных реализациях, основанных на SQL Server. IMSql предоставляет комплексное решение для выполнения рабочей нагрузки IMS, включая компоненты приложения, данных и по промежуточного слоя. Она может принять иерархическую структуру данных (IMS DB) в реляционную модель данных в SQL Server, SQL Server в Azure Виртуальные машины и Управляемый экземпляр SQL. Он имеет встроенные API для вызовов программы DL/I приложения IMS и расширяет уровень данных за пределами иерархической рабочей нагрузки до облачных приложений, которые используются для реляционных данных.
Это решение обеспечивает следующие преимущества:
- Модернизация инфраструктуры и снижение высоких затрат, ограничений и жесткости, связанных с монолитными рабочими нагрузками IMS мейнфрейма.
- Сокращение технической задолженности путем реализации облачных решений и DevOps.
- Предоставьте данные базы данных IMS для приложений, не являющихся мейнфреймами и облачными приложениями, включая приложения искусственного интеллекта и аналитики.
Потенциальные варианты использования
- Банковские, финансовые, страховые, государственные и розничные отрасли, использующие Мейнфрейм IMS. Многие из этих организаций выполняют свои основные OLTP и пакетные приложения в IMS DB/DC.
- Клиенты мейнфреймов IBM zSeries, которые должны переносить критически важные приложения, сохраняя непрерывность работы с другими локальными приложениями и избегая побочных эффектов полной повторной разработки.
Рекомендации
Эти рекомендации реализуют основные принципы платформы Azure Well-Architected Framework, которая представляет собой набор руководящих принципов, которые можно использовать для повышения качества рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Azure Well-Architected Framework.
Надежность
Надежность гарантирует, что ваше приложение позволит вам выполнить ваши обязательства перед клиентами. Дополнительные сведения см. в контрольном списке проверки конструктора длянадежности.
- Эта архитектура OLTP может быть развернута в нескольких регионах и может включать уровень данных георепликации.
- Службы баз данных Azure поддерживают избыточность зоны и могут выполнять отработку отказа на дополнительный узел во время сбоев или включить действия по обслуживанию.
Безопасность
Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Дополнительные сведения см. в контрольном списке конструктора длябезопасности.
- ExpressRoute обеспечивает частное и эффективное подключение к Azure из локальной среды.
- Идентификатор Microsoft Entra можно использовать для проверки подлинности ресурсов Azure. Для управления разрешениями можно использовать управление доступом на основе ролей.
- Это решение использует группу безопасности сети Azure для управления трафиком в ресурсы Azure и из нее. Дополнительные сведения см. в разделе Группы безопасности сети.
- Эти параметры безопасности доступны в службах баз данных Azure:
- Шифрование неактивных данных
- Динамическое маскирование данных
- Данные Always Encrypted
Общие рекомендации по проектированию решений для высокозащищенных данных см . в рекомендациях по безопасности Azure.
Оптимизация затрат
Оптимизация затрат заключается в том, чтобы подумать о способах сокращения ненужных расходов и повышения эффективности работы. Дополнительные сведения см. в контрольном списке конструктора дляоптимизации затрат.
- Масштабируемые наборы виртуальных машин оптимизирует затраты, минимизируя количество ненужных экземпляров оборудования, которые запускают приложение при низком спросе.
- Управляемый экземпляр SQL предоставляет различные ценовые категории, такие как общие цели и критически важные для бизнеса, для оптимизации затрат на основе использования и критически важной для бизнеса.
- Резервирования Azure и план экономии Azure для вычислений с помощью одного или трехлетнего контракта обеспечивают значительную экономию по мере использования цен. Во многих случаях вы можете сократить затраты, реализуя гибкость размера зарезервированного экземпляра.
- Преимущество гибридного использования Azure — это преимущество лицензирования, которое позволяет значительно сократить затраты на выполнение рабочих нагрузок в облаке. Вы можете использовать в Azure локальные лицензии Windows Server и SQL Server с программой Software Assurance.
Чтобы оценить затраты на реализацию этого решения, используйте Калькулятор цен Azure. Ниже приведена оценка на основе компонентов этого решения в разумном масштабе.
Эффективность производительности
Эффективность производительности — это возможность масштабирования рабочей нагрузки в соответствии с требованиями, заданными пользователями. Дополнительные сведения см. в контрольном списке проверки конструктора дляпроизводительности.
- Масштабируемые наборы виртуальных машин гарантирует, что достаточно виртуальных машин доступно для удовлетворения критически важных потребностей в сети и пакетной обработке.
- Хранилище BLOB-объектов Azure — это масштабируемая система для хранения резервных копий, архивных данных, вторичных файлов данных и других неструктурированных цифровых объектов.
- помощник по настройке ядра СУБД анализирует базы данных и предоставляет рекомендации, которые можно использовать для оптимизации производительности запросов. Вы можете использовать помощник по настройке ядра СУБД для выбора и создания оптимального набора индексов, индексированных представлений или секций таблиц.
- Масштабируемость является одной из наиболее важных характеристик PaaS. Он позволяет динамически добавлять ресурсы в службу при необходимости. Вы можете использовать База данных SQL Azure для легкого изменения ресурсов (мощности ЦП, памяти, пропускной способности ввода-вывода и хранилища), выделенных базам данных. Вы можете использовать Управляемый экземпляр SQL для динамического добавления ресурсов в базу данных с минимальным временем простоя.
- OLTP в памяти — это технология, доступная в SQL Server и База данных SQL для оптимизации производительности обработки транзакций, приема данных, загрузки данных и временных сценариев данных.
Соавторы
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.
Основные авторы:
- Нитиш Арульдосс | Инженер-архитектор
- Аметист Соломон | Старший инженер-архитектор
Другие участники:
- Мик Альбертс | Технический писатель
Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.
Следующие шаги
- Мейнфрейм для Фабрика данных Azure с помощью соединителя FTP
- Мейнфрейм в Платформу данных Azure с помощью SFTP
- Что такое виртуальная сеть Azure?
- Что такое Azure ExpressRoute?
- Документация по Microsoft Fabric
Дополнительные сведения см. в Инжиниринг данных Azure — модернизация мейнфрейма.
Связанные ресурсы
См. архитектуру компаньона:
Дополнительные связанные ресурсы: