Повторное проектирование приложений пакетной службы мэйнфрейма в Azure

Фабрика данных Azure
Azure Databricks
Служба Azure Kubernetes (AKS)
База данных SQL Azure
Хранилище Azure

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

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

На первой схеме показана архитектура типичного пакетного приложения, выполняемого на мэйнфрейме z/OS.

Схема типичного пакетного приложения, работающего на мейнфрейме z/OS.

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

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

  1. Процессы пакетной службы (пакетные процессы) мэйнфрейма можно активировать в запланированное время с помощью планировщика операций, планирования и управления (OPC). Они также могут инициироваться сообщением в очереди сообщений (например, о создании файла).

  2. Для хранения входных и выходных файлов (таких как неструктурированные файлы, необходимые для приложения) используется запоминающее устройство с прямым доступом к мэйнфрейму (direct-access storage device, DASD). Пакетный процесс можно запустить, создав файл в хранилище DASD.

  3. Пакетный процесс — это последовательность заданий, таких как, например, внутреннее задание, запускающее программу пользователя или системы для выполнения определенной задачи. Обычно пакетные процессы выполняются без взаимодействия с пользователем. Все задания пакетной службы на мэйнфрейме выполняются под управлением системы выполнения заданий (Job Execution System, JES).

  4. Программы в пакетных процессах могут обмениваться данными с:

    • файловой базой данных, например VSAM (virtual storage access method — метод доступа к виртуальному хранилищу);
    • реляционной базой данных, такой как DB2 или Informix;
    • нереляционной базой данных, такой как IMS (Information Management System — система управления информацией);
    • очередью сообщений.
  5. Выходные данные по результатам выполнения задания можно отслеживать с помощью планировщика OPC или планировщика рабочей нагрузки Tivoli Workload Scheduler (TWS). На мэйнфрейме также используется средство просмотра и поиска системы (System Display and Search Facility, SDSF) в JES для проверки состояния выполнения задания.

  6. На уровне управления доступны следующие службы:

    • Система управления версиями, например Endevor или Changeman.
    • Система обеспечения безопасности, например RACF (Resource Access Control Facility — средство управления доступом к ресурсам). Такая система безопасности обеспечивает проверку подлинности для выполняемых пакетов, доступа к файлам и к базе данных.
    • Система управление выходными данными, которая поддерживает хранение журналов выполнения заданий и поиск информации в них.

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

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

Схема повторной инженерии пакетного приложения с помощью служб Azure. Включены несколько примеров служб.

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

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

  1. Для запуска пакетного процесса Azure используйте один из перечисленных ниже триггеров.

    • Используйте планировщик заданий Azure Databricks или планировщик Функций Azure.
    • Создайте повторяющуюся пакетную задачу с помощью Azure Logic Apps.
    • Используйте событие хранилища, например создание или удаление файла в большом двоичном объекте или хранилище файлов Azure.
    • Используйте триггер на основе сообщений, например поступление сообщения в Служебную шину Azure.
    • Создайте триггер Фабрики данных Azure.
  2. Используйте для хранения файлов, перенесенных из мэйнфрейма, службу "Хранилище BLOB-объектов Azure" или "Файлы Azure". Пакетные процессы, повторно спроектированные в Azure, могут считывать данные из этого хранилища и записывать их туда.

  3. Azure предоставляет различные службы для реализации пакетной рабочей нагрузки на мэйнфрейме. Выберите службы, отвечающие вашим бизнес-требованиям (например, к вычислительной мощности, общему времени выполнения, возможности разделения процессов пакетной службы мейнфрейма на меньшие элементы или экономичности).

    1. Azure Databricks — это высокопроизводительная платформа на основе Apache Spark. Задания в ней могут быть написаны на языках R, Python, Java, Scala и Spark SQL. Она предоставляет среду вычислений с коротким временем запуска кластеров, автоматическим завершением и автомасштабированием. В ней реализована встроенная интеграция со службами хранилища Azure, например Хранилищем BLOB-объектов и хранилищем Озера данных Azure. Используйте Azure Databricks, если вам необходимо обрабатывать большие объемы данных за короткий промежуток времени. Это также удобное решение для выполнения рабочих нагрузок извлечения, преобразования и загрузки.
    2. AKS и Service Fabric обеспечивают инфраструктуру для реализации архитектуры приложений на основе служб. Такое решение для одного приложения может оказаться неэкономичным. Вы можете выполнить рефакторинг приложения мэйнфрейма с помощью Java Spring Boot. Лучший способ запуска приложений Spring Boot в Azure — использовать Azure Spring Apps, полностью управляемую службу Spring. С ее помощью разработчики Java могут легко создавать и запускать микрослужбы Spring Boot в Azure.
    3. Вы можете повторно спроектировать приложение пакетной службы мэйнфрейма с помощью .NET или Java. Пакетная служба обеспечивает инфраструктуру для запуска этого приложения в масштабе. Он создает пул виртуальных машин и управляет им, устанавливает приложения, а затем планирует выполнение заданий на виртуальных машинах. Программного обеспечения планировщика заданий для установки, управления и масштабирования не существует. Приложения можно писать на любом языке программирования, поддерживаемом Windows или Linux.
    4. Вы можете повторно спроектировать короткие выполняемые пакетные программы COBOL или PL/1. Для работы с ними используйте службы Azure, такие как Функции, веб-задания и Logic Apps.
  4. В Azure есть различные службы для хранения и извлечения данных.

    • Реляционные базы данных мэйнфрейма, такие как DB2 и Informix, можно перенести с минимальными изменениями в область видимости систем управления реляционными базами данных Azure. Например, это могут быть такие службы реляционных баз данных, как виртуальная машина Azure SQL, база данных Azure SQL или Управляемый экземпляр Базы данных SQL Azure. Вы также можете использовать любую систему управления реляционными базами данных с открытым кодом, например Azure PostgreSQL. Выбор базы данных Azure зависит от типа рабочей нагрузки, запросов между базами, требований к двухфазной фиксации и многих других факторов.
    • Нереляционные базы данных мэйнфрейма, такие как IMS, интегрированная система управления данными (IDMS) и VSAM, можно перенести в Azure Cosmos DB. Azure Cosmos DB обеспечивает короткое время отклика, автоматическую быструю масштабируемость и гарантированную скорость в любом масштабе. Это экономичный вариант для непредсказуемых и случайных рабочих нагрузок любого размера и масштаба. К работе с ним можно легко приступить без необходимости планировать емкость или управлять ею.
    • Ускорить повторное проектирование приложения можно с помощью Кэша Azure для Redis.
  5. Приложения, ОС и ресурсы Azure могут использовать агенты для отправки журналов и метрик в журналы Azure Monitor.

    • Служба Application Insights отслеживает работу перенесенного приложения. Она автоматически обнаруживает аномалии в производительности и содержит мощные аналитические средства, которые помогают диагностировать проблемы.
    • Azure Log Analytics помогает хранить, индексировать, запрашивать и генерировать аналитические данные на основе собранных журналов.

    Выходные данные Log Analytics и Application Insights можно использовать для создания предупреждений и панелей мониторинга, а также для экспорта во внешние службы. Кроме того, выходные данные можно использовать для выполнения таких действий, как масштабирование виртуальной машины.

  6. На этом уровне расположены службы Azure для управления исходным кодом, обеспечения безопасности и управления выходными данными. Эти службы могут состоять из Azure DevOps и идентификатора Microsoft Entra.

Компоненты

Сеть и идентификация

  • Azure ExpressRoute. ExpressRoute позволяет расширить локальные сети на облако Microsoft с помощью частного подключения от поставщика услуг подключения. ExpressRoute позволяет устанавливать подключения к облачным службам Майкрософт, таким как Microsoft Azure и Office 365.
  • VPN-шлюз Azure. VPN-шлюз — это особый тип шлюза виртуальной сети, используемый для отправки зашифрованного трафика между виртуальной сетью Azure и локальным расположением через общедоступный Интернет.
  • Идентификатор Microsoft Entra: Идентификатор 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. Служба Azure Kubernetes (AKS) упрощает развертывание управляемого кластера Kubernetes в Azure, выгружая операционные издержки в Azure.
  • Пакетная служба. Пакетная служба предназначена для выполнения общих задач пакетной обработки в облаке на нескольких виртуальных машинах, которые можно масштабировать в зависимости от выполняемой рабочей нагрузки. Это идеальный вариант для сценариев использования ETL и искусственного интеллекта, когда несколько задач выполняются параллельно и независимо друг от друга.
  • Функции. Функции Azure позволяют запускать небольшие фрагменты кода, не беспокоясь об инфраструктуре приложения. С помощью Функций облачная инфраструктура реализует все самые новые серверные возможности, необходимые для того, чтобы приложение работало в масштабе.
  • Служба приложений Azure. С помощью веб-заданий в Службе приложений можно легко запрограммировать фоновую бизнес-логику с возможностью ее повторного использования.
  • Кэш Azure для Redis. Приложения, использующие большое количество серверных данных, можно настроить для масштабирования и оптимизировать их производительность путем интеграции с хранилищем данных в памяти, например Redis. Кэш Azure для Redis предлагает в качестве управляемой службы Redis с открытым кодом (OSS Redis)и коммерческий продукт Redis Enterprise от Redis Labs.

Хранилище

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

  • Хранилище BLOB-объектов. Масштабируемое и защищенное хранилище объектов для ориентированных на облако рабочих нагрузок, архивов, озер данных, высокопроизводительных вычислений и машинного обучения.
  • Файлы Azure. Простые, безопасные и бессерверные облачные общие папки корпоративного класса. Служба "Файлы Azure" особенно удобна для повторного проектирования решений для мэйнфреймов. Она служит эффективной надстройкой для управляемого хранилища SQL.
  • Хранилище таблиц. Хранилище NoSQL типа "ключ — значение" для быстрой разработки с использованием больших частично структурированных наборов данных.
  • Хранилище очередей Azure. Простая, экономичная и устойчивая очередь сообщений для больших рабочих нагрузок.
  • Azure SQL. Полностью управляемое семейство служб Azure для SQL Server. Вы можете эффективно переносить и использовать реляционные данные вместе с другими службами Azure, такими как Управляемый экземпляр Azure SQL, SQL Server на виртуальных машинах Azure и Azure для MariaDB.
  • Azure Cosmos DB. Это решение NoSQL можно использовать для переноса нетабличных данных с мэйнфреймов.

Наблюдение

  • Azure Monitor. Azure Monitor — это комплексное решение для сбора, анализа и использования телеметрии из облачных и локальных сред. Оно содержит функции Application Insights, журналов Azure Monitor и Log Analytics.

Управление

  • Azure DevOps. Платформа для повторного проектирования приложений мэйнфрейма на Azure на каждом этапе разработки программного обеспечения и групповой совместной работы. DevOps предоставляет следующие службы:

    • Azure Boards. Средство планирования гибкой разработки, отслеживания рабочих элементов, визуализации и создания отчетов.
    • Azure Pipelines. Язык, платформа и независимая от облака платформа CI/CD с поддержкой контейнеров или Kubernetes.
    • Azure Repos. Предоставляет размещенные в облаке закрытые репозитории GIT.
    • Azure Artifacts. Обеспечивает интегрированное управление пакетами с поддержкой веб-каналов пакетов Maven, npm, Python и NuGet из общедоступных или частных источников.
    • Azure Test Plans. Предоставляет интегрированное решение для запланированного и произвольного тестирования.

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

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

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

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

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

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

Availability

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

Масштабируемость

  • Следующие службы Azure в этой архитектуре поддерживают автоматическое масштабирование:

    • Azure Databricks
    • AKS
    • Spring Apps
    • Пакетная служба
    • Функции Azure
    • Logic Apps
  • Дополнительные сведения об автомасштабировании в Azure см. в руководстве по автоматическому масштабированию.

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

  • В этой эталонной архитектуре для частного и эффективного подключения к Azure из локальной среды используется ExpressRoute. Однако также можно создать VPN типа "сеть — сеть".
  • Вы можете пройти проверку подлинности ресурсов Azure с помощью идентификатора Microsoft Entra. Для управления разрешениями можно использовать средства управления доступом на основе ролей (RBAC).
  • Службы баз данных в Azure поддерживают различные инструменты обеспечения безопасности, такие как шифрование неактивных данных.
  • Дополнительные сведения о проектировании безопасных решений см. в документации по безопасности Azure.

Устойчивость

  • Помимо Log Analytics, для отслеживания работоспособности ресурсов Azure можно использовать Azure Monitor и Application Insights. Вы можете настроить оповещения для упреждающего управления работоспособностью ресурсов.
  • Дополнительные сведения об устойчивости в Azure см. в статье о разработке надежных приложений Azure.

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

Используйте калькулятор цен Azure для оценки затрат на ресурсы Azure.

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

Соавторы

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

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

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

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