В этой эталонной архитектуре показано, как использовать Azure для повторного разработки пакетного приложения мейнфреймов z/OS для доставки безопасной, масштабируемой и высокодоступной системы в облаке с помощью Azure. Из-за постоянно развивающихся бизнес-потребностей данные и приложения должны предоставлять и масштабироваться, не влияя на инфраструктуру. Повторное проектирование в облако может помочь предприятиям в области финансов, здравоохранения, страхования и розничной торговли свести к минимуму время доставки продуктов или функций и сократить затраты.
Архитектура мейнфрейма
На первой схеме показана архитектура типичного пакетного приложения, работающего на мейнфрейме z/OS.
Скачайте файл Visio этой архитектуры.
Рабочий процесс
Пакетные процессы мейнфрейма можно активировать в запланированное время с помощью планировщика операций, планирования и управления (OPC). Они также могут быть активированы сообщением, помещенным в очередь сообщений, например сообщение, которое объявляет, что файл был создан.
Устройство хранения прямого доступа к мейнфрейму (DASD) используется для хранения входных и выходных файлов; Например, неструктурированные файлы, необходимые приложению. Пакетный процесс можно активировать, создав файл в хранилище DASD.
Пакетный процесс — это выполнение набора заданий, например задание, на котором выполняется пользователь или системная программа для выполнения конкретной задачи. Обычно пакетные процессы выполняются без взаимодействия с пользователем. Все пакетные задания на мейнфрейме выполняются под управлением системы выполнения заданий (JES).
Программы в пакетных процессах могут считывать и записывать данные из:
- База данных на основе файлов, например метод доступа к виртуальному хранилищу (VSAM).
- Реляционная база данных, например Db2 или Informix.
- Нереляционная база данных, например система управления информацией (IMS).
- Очередь сообщений.
Выходные данные выполнения задания можно отслеживать с помощью планировщика OPC или планировщика рабочей нагрузки Tivoli (TWS). Средство отображения системы и поиска (SDSF) в JES также используется в мейнфрейме для проверки состояния выполнения задания.
Уровень управления предоставляет следующие службы:
- Управление версиями, например Endevor или Changeman.
- Безопасность, например средство управления доступом к ресурсам (RACF). Эта безопасность обеспечивает проверку подлинности для выполнения пакетов, доступа к файлам и доступа к базе данных.
- Управление выходными данными, которое поддерживает хранилище и поиск журналов выполнения заданий.
Архитектура Azure
На второй схеме показано, как использовать службы Azure для повторного создания аналогичного приложения с дополнительными возможностями и гибкостью.
Скачайте файл Visio этой архитектуры.
Рабочий процесс
Чтобы запустить пакетный процесс Azure, используйте один из следующих триггеров.
- Используйте планировщик заданий Azure Databricksили планировщик функций Azure.
- Создайте повторяющуюся задачу пакетного процесса с Azure Logic Apps.
- Используйте событие хранилища, например создание или удаление файла в
BLOB-объектов Azure или хранилища файлов . - Используйте триггер на основе сообщений, например при поступлении сообщения на служебной шины Azure.
- Создайте триггер фабрики данных Azure
.
Хранение файлов, перенесенных из мейнфрейма с помощью хранилища BLOB-объектов Azure или файлов Azure. Пакетные процессы, повторно разработанные в Azure, могут считывать и записывать данные из этого хранилища.
Azure предоставляет различные службы для реализации пакетной рабочей нагрузки мейнфрейма. Выберите определенные службы, основанные на ваших бизнес-требованиях. Например, вычислительная мощность, общее время выполнения, возможность разделения пакетного процесса мейнфрейма на меньшие единицы и чувствительность к затратам.
- Azure Databricks — это платформа аналитики на основе Apache Spark. Задания можно записывать на языках R, Python, Java, Scala и Spark SQL. Она предоставляет среду вычислений с быстрым временем запуска кластера, автоматическим завершением и автомасштабированием. Она имеет встроенную интеграцию с хранилищем Azure, такими как хранилище BLOB-объектов Azure и хранилище Azure Data Lake. Используйте Azure Databricks, если вам нужно обработать большие объемы данных в течение короткого времени. Это также хороший выбор, если вам нужно запустить рабочие нагрузки Extract, Transform и Load (ETL).
- AKS и Service Fabric предоставляют инфраструктуру для реализации архитектуры приложений на основе служб. Это может быть не экономично для одного приложения. Вы можете рефакторингировать приложение мейнфрейма с помощью Java Spring Boot. Лучший способ запуска приложений Spring Boot в Azure — использовать Azure Spring Apps, полностью управляемую службу Spring. Разработчики Java могут легко создавать и запускать микрослужбы Spring Boot в Azure.
- Вы можете повторно спроектировать пакетное приложение мейнфрейма с помощью .NET или Java. Пакетная служба предоставляет инфраструктуру для запуска этого приложения в масштабе. Он создает пул виртуальных машин и управляет ими, устанавливает приложения, а затем планирует выполнение заданий на виртуальных машинах. Нет программного обеспечения планировщика кластеров или заданий для установки, управления и масштабирования. Написание приложений на любом языке программирования, поддерживаемом Windows или Linux.
- Вы можете повторно спроектировать короткие программы COBOL или PL/1 пакетной программы. Для этих программ используйте такие службы Azure, как Функции, веб-задания или Logic Apps.
Azure предоставляет различные службы данных для хранения и извлечения данных.
- Можно перенести реляционные базы данных мейнфрейма, такие как Db2 и Informix, с минимальными изменениями в видимости предложений реляционной базы данных Azure. Например, службы реляционных баз данных, такие как виртуальная машина SQL Azure, база данных SQL Azure или МИ SQL Azure. Вы также можете использовать любую систему управления реляционными базами данных с открытым исходным кодом (RDBMS), например Azure PostgreSQL. Выбор базы данных Azure зависит от типа рабочей нагрузки, запросов между базами данных, двухфазных требований фиксации и многих других факторов.
- Можно перенести нереляционные базы данных мейнфрейма, такие как IMS, интегрированная система управления данными (IDMS) или VSAM в Azure Cosmos DB. Azure Cosmos DB обеспечивает быстрое время отклика, автоматическое и мгновенное масштабируемость и гарантированную скорость в любом масштабе. Это экономичный вариант для непредсказуемых или нерегулярных рабочих нагрузок любого размера или масштаба. Разработчики могут легко приступить к работе без необходимости планировать или управлять емкостью.
- Кэш Azure для Redis можно использовать для ускорения повторного создания приложения.
Приложения, ОС и ресурсы Azure могут использовать агенты для отправки журналов и метрик в журналы Azure Monitor.
- Application Insights отслеживает перенесенное приложение. Он автоматически обнаруживает аномалии производительности и включает мощные средства аналитики для диагностики проблем.
- Azure Log Analytics помогает хранить, индексировать, запрашивать и извлекать аналитику из собранных данных журнала.
Выходные данные Log Analytics и Application Insights можно использовать для создания оповещений и панелей мониторинга или экспорта в внешние службы. Вы также можете использовать выходные данные для выполнения таких действий, как масштабирование виртуальной машины.
Этот уровень предоставляет службы Azure для управления версиями, безопасности и управления выходными данными. Эти службы могут состоять из Azure DevOps и идентификатора Microsoft Entra.
Компоненты
Сеть и удостоверение
- Azure ExpressRoute: ExpressRoute позволяет расширить локальные сети в облако Майкрософт через частное подключение от поставщика подключений. С помощью ExpressRoute можно установить подключения к облачным службам Майкрософт, таким как Microsoft Azure и Office 365.
- VPN-шлюз Azure. VPN-шлюз — это конкретный тип шлюза виртуальной сети, который используется для отправки зашифрованного трафика между виртуальной сетью Azure и локальным расположением через общедоступный Интернет.
- идентификатор Microsoft Entra ID: Идентификатор Microsoft Entra — это служба управления удостоверениями и доступом, которая может синхронизироваться с локальным каталогом.
Приложение
- Logic Apps: Logic Apps помогает создавать и запускать автоматические повторяющиеся задачи и процессы по расписанию. Службы можно вызывать внутри и за пределами Azure, например конечные точки HTTP или HTTPS. Вы также можете отправлять сообщения в службы Azure, такие как служебная шина Azure, или получать файлы, отправленные в общую папку.
- служебной шины. Для обмена сообщениями между пользовательским интерфейсом и внутренними службами можно использовать служебную шину. Эта система может отделить приложения и службы и повысить надежность и использование.
- Azure Databricks: Azure Databricks — это облачное средство проектирования данных, используемое для обработки и преобразования больших объемов данных. Затем можно изучить эти данные с помощью моделей машинного обучения.
- Azure Spring Apps. Azure Spring Apps упрощает развертывание, управление и запуск микрослужб Spring в Azure. Он поддерживает как Java, так и .NET Core.
- AKS: AKS упрощает развертывание управляемого кластера Kubernetes в Azure путем разгрузки операционных расходов в Azure.
- пакетной: пакетная служба предназначена для выполнения пакетных вычислений общего назначения в облаке на разных виртуальных машинах, которые могут масштабироваться на основе выполняемой рабочей нагрузки. Это идеально подходит для вариантов использования ETL или AI, где несколько задач выполняются параллельно, независимо друг от друга.
- Функции. Используйте функции для выполнения небольших фрагментов кода, не беспокоясь о инфраструктуре приложений. С помощью функций облачная инфраструктура предоставляет все серверы up-toдаты и даты, необходимые для масштабирования приложения.
- службе приложений Azure. С помощью веб-заданий, функции службы приложений можно кодировать повторно используемый фоновой бизнес-логики в качестве веб-заданий.
- Кэш Azure для Redis. Приложения, использующие большой объем внутренних данных, можно разрабатывать для масштабирования и обеспечения высокооптимизируемой производительности путем интеграции с хранилищем данных в памяти, например Redis. Кэш Azure для Redis предлагает как открытый код Redis (OSS Redis), так и коммерческий продукт из Redis Labs, Redis Enterprise в качестве управляемой службы.
Хранение
Хранилище Azure предоставляет несколько уровней горячих, холодных и архивных данных. Эффективное использование этих уровней хранилища позволяет повысить производительность.
- хранилище BLOB-объектов: масштабируемое и безопасное хранилище объектов для облачных рабочих нагрузок, архивов, озер данных, высокопроизводительных вычислений и машинного обучения.
- файлов Azure: простые, безопасные и бессерверные облачные общие папки корпоративного уровня. Файлы Azure могут особенно удобно использовать для репроектированных решений мейнфреймов. Она предоставляет эффективную надстройку для управляемого хранилища SQL.
- хранилище таблиц: хранилище ключей NoSQL для быстрого разработки с использованием больших полуструктурированных наборов данных.
- хранилище очередей Azure: простая, эффективная и устойчивая очередь сообщений для больших рабочих нагрузок.
- SQL Azure: полностью управляемое семейство служб Azure для SQL Server. Вы можете эффективно перенести и использовать реляционные данные с другими службами Azure, такими как Управляемый экземпляр SQL Azure, SQL Server на виртуальных машинах Azure и Базой данных Azure для MariaDB.
- Azure Cosmos DB: предложение no-SQL, которое можно использовать для переноса не табличных данных из мейнфреймов.
Контроль
- Azure Monitor: Azure Monitor предоставляет комплексное решение для сбора, анализа и выполнения данных телеметрии из облачных и локальных сред. Он содержит функции Application Insights, Журналы Azure Monitor и Azure Log Analytics.
Управление
Azure DevOps: перепроектировать приложения мейнфреймов в Azure на каждом этапе разработки программного обеспечения и совместной работы команды. DevOps предоставляет следующие службы:
- Azure Boards: гибкое планирование, отслеживание рабочих элементов, визуализация и средство создания отчетов.
- Azure Pipelines: платформа, платформа и облачная платформа CI/CD с поддержкой контейнеров или Kubernetes.
- Azure Repos: предоставляет репозитории, размещенные в облаке.
- azure Artifacts: обеспечивает интегрированное управление пакетами с поддержкой Maven, npm, Python и пакетов NuGet из общедоступных или частных источников.
- планах тестирования Azure: предоставляет интегрированное, запланированное и исследовательское решение для тестирования.
Сведения о сценарии
Мейнфреймы в основном используются для обработки больших объемов данных. Пакетная обработка — это способ обработки большого объема транзакций, сгруппированных вместе, а затем массовых обновлений для базы данных. После активации они требуют минимального взаимодействия с пользователем. Например, системы мейнфреймов позволяют банкам и другим финансовым учреждениям выполнять обработку в конце квартала и создавать отчеты, такие как квартальные акции или пенсионные заявления.
Возможные варианты использования
Это решение идеально подходит для финансовых, страховых, медицинских и розничных отраслей. Используйте эту архитектуру для повторного инженера приложений мейнфреймов в Azure. Архитектура лучше всего подходит для:
- Ресурсоемкие пакетные приложения мейнфрейма.
- Пакетные приложения, которым требуется высокий объем вычислений в течение определенного времени, например окончания месяца, квартала или года.
- Пакетные процессы Мейнфрейма, которые являются повторяющимися и не ресурсоемкими, но могут потребовать использования внешними системами.
Соображения
Эти рекомендации реализуют основные принципы платформы Azure Well-Architected Framework, которая представляет собой набор руководящих принципов, которые можно использовать для повышения качества рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Azure Well-Architected Framework.
Надёжность
Надежность гарантирует, что ваше приложение может выполнять обязательства, которые вы выполняете для клиентов. Дополнительные сведения см. в контрольном списке проверки конструктора длянадежности.
- Azure Monitor и Application Insights можно использовать в дополнение к Log Analytics для мониторинга работоспособности ресурса Azure. Настройте оповещения для упреждающего управления работоспособностью ресурсов.
- Дополнительные сведения об устойчивости в Azure см. в статье Проектирование надежных приложений Azure.
Безопасность
Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Дополнительные сведения см. в контрольном списке конструктора длябезопасности.
- Эта эталонная архитектура использует ExpressRoute для частного и эффективного подключения к Azure из локальной среды. Однако вы также можете создать сайт для VPN-сайта.
- Вы можете пройти проверку подлинности ресурсов Azure с помощью идентификатора Microsoft Entra. Вы можете управлять разрешениями с помощью управления доступом на основе ролей (RBAC).
- Службы баз данных в Azure поддерживают различные параметры безопасности, такие как шифрование данных неактивных данных.
- Дополнительные сведения о разработке безопасных решений см. в документации по безопасности Azure.
Оптимизация затрат
Оптимизация затрат заключается в том, чтобы подумать о способах сокращения ненужных расходов и повышения эффективности работы. Дополнительные сведения см. в контрольном списке конструктора дляоптимизации затрат.
Используйте калькулятор цен Azure для оценки затрат на ресурсы Azure.
Пример оценки стоимости служб см. в пакетных приложений Azure mainframes.
Операционное превосходство
Операционное превосходство охватывает процессы, которые развертывают приложение и продолжают работать в рабочей среде. Дополнительные сведения см. в контрольном списке проверки конструктора дляоперационного превосходства.
- В архитектуре пакетной службы в этой статье используются вычисления с несколькими узлами или службы PaaS, обеспечивающие высокий уровень доступности.
- Службы баз данных Azure поддерживают избыточность зоны, и их можно спроектировать, чтобы выполнить отработку отказа на дополнительный узел, если произошел сбой или во время периода обслуживания.
Эффективность производительности
Эффективность производительности — это возможность масштабирования рабочей нагрузки в соответствии с требованиями, заданными пользователями. Дополнительные сведения см. в контрольном списке проверки конструктора дляпроизводительности.
Следующие службы Azure в этой архитектуре имеют возможности автомасштабирования:
- Azure Databricks
- AKS
- Spring Apps
- Партия
- Функции Azure
- Logic Apps
Дополнительные сведения об автомасштабировании в Azure см. в руководстве по автомасштабированию .
Участников
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.
Автор субъекта:
- Эшиш Хандельвал | Главный конструктор архитектуры
Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.
Дальнейшие действия
- Дополнительные сведения см. в datasqlninja@microsoft.com.
- См. руководства по миграции базы данных Azure.