Поделиться через


Перенос рабочих нагрузок IBM z/OS OLTP в Azure

Azure Front Door
Диспетчер трафика Azure
Служба Azure Kubernetes (AKS)
Azure Spring Apps
Кэш Azure для Redis

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

Архитектура

На следующей схеме показана архитектура системы OLTP, которая работает на мейнфрейме z/OS до миграции в Azure.

Схема архитектуры OLTP на z/OS.

На схеме показана архитектура приложения OLTP, работающего на мэйнфрейме z/OS. Локальный пользователь получает доступ к системе через веб-интерфейс и подключается через различные протоколы связи, такие как HTTPS, SNA LU 6.2 и Telnet 3270. Система разделена на несколько слоев, которые изображаются в виде пронумерованных коробок. Стрелки соединяют блоки, чтобы показать, как различные компоненты взаимодействуют в среде основного блока. Коробка номер один включает в себя протоколы связи. Двусторонние стрелки соединяют первую коробку с локальным пользователем и терминалом TN3270. Блок номер два включает менеджеры транзакций, включая CICS и IMS. Двусторонние стрелки соединяют ящики один и два. Прикладной уровень включает в себя блоки под номерами четыре и пять для компонентов фронтенда и бизнес-логики. Двусторонние стрелки соединяют коробки три и четыре. Одна стрелка указывает с прикладного уровня на шестое поле, содержащее другие службы. Блок номер пять — это уровень данных, который содержит базы данных, такие как DB2 и IMS DB, а также файлы VSAM. Двусторонняя стрелка соединяет слой данных и слой приложения. Одна стрелка указывает со слоя данных на поле шесть. Коробка номер шесть включает в себя другие службы, такие как службы безопасности, управления, мониторинга и отчетности.

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

Следующий рабочий процесс соответствует предыдущей схеме:

  1. Пользователи подключаются к мэйнфрейму по протоколу TCP или интернет-протоколу (IP) с помощью стандартных протоколов мэйнфрейма, таких как TN3270 и HTTPS.

  2. Менеджеры транзакций взаимодействуют с пользователями и вызывают приложение для удовлетворения запросов пользователей.

  3. На начальном этапе прикладного уровня пользователи взаимодействуют с экранами системы управления информацией о клиентах (CICS) или системы управления информацией (IMS) или с веб-страницами.

  4. Менеджеры транзакций используют бизнес-логику, написанную на общем бизнес-ориентированном языке (COBOL) или Programming Language One (PL/I) для реализации транзакций.

  5. Код приложения использует возможности хранилища уровня данных, такого как DB2, IMS DB или VSAM.

  6. Помимо обработки транзакций, другие службы обеспечивают аутентификацию, безопасность, управление, мониторинг и отчетность. Эти сервисы взаимодействуют со всеми остальными сервисами в системе.

На следующей схеме показано, как перенести эту архитектуру в Azure.

Схема, показывающая архитектуру для переноса рабочей нагрузки z/OS OLTP в Azure.

На схеме показано, как перенести рабочую нагрузку z/OS OLTP в Azure. Архитектура разделена на несколько слоев, которые представляют различные компоненты и их взаимодействия. На каждом слое используются цифры и стрелки, чтобы выделить поток данных. Уровень 1 представляет локального пользователя. Двусторонняя стрелка соединяет пользователя и Azure ExpressRoute. Слой 2 представляет запросы ввода. Этот слой содержит два поля, которые соединены пунктирной двусторонней стрелкой с надписью «Брандмауэр веб-приложения Azure». Левое поле содержит значки для Azure Front Door и Azure Traffic Manager. Двусторонняя стрелка соединяет левое поле со значком, представляющим Интернет. Еще одна двусторонняя стрелка соединяет интернет-иконку с Microsoft Entra ID. В правом поле находятся значки для Шлюза приложений Azure и Azure Load Balancer. Двусторонняя стрелка соединяет эту коробку с коробкой с надписью на переднем конце. Коробка с маркировкой фронтенда находится внутри слоя приложения. Он содержит значки для управления API Azure, службы приложений Azure, службы Azure Kubernetes (AKS) и Azure Spring Apps. Три пунктирные двусторонние стрелки соединяют блок фронтенда с блоком с надписью бизнес-логика. Это поле содержит значки для Функций Azure, Azure WebJobs, AKS и Azure Spring Apps. Значки для служебной шины Azure и хранилища очередей Azure (асинхронные) находятся над и под тремя стрелками. Двусторонняя стрелка соединяет уровень приложения со слоем кэша. Уровень кэша содержит кэш Azure для Redis. Стрелка указывает от слоя кэша к слою мониторинга. На этом слое пунктирная стрелка переходит от Azure Monitor через журналы Azure Monitor к синему прямоугольнику, содержащему значки с метками панели мониторинга и оповещений Log Analytics. Уровень мониторинга также включает Application Insights. Пунктирная стрелка указывает от Application Insights к синему прямоугольнику. Еще одна стрелка указывает со слоя приложения на Application Insights. Слой данных содержит два блока. Одно поле содержит значки для Azure Table Storage и Azure Files. Другой блок содержит Azure SQL, Azure Cosmos DB, Базу данных Azure для PostgreSQL и Базу данных Azure для MySQL. Двусторонняя стрелка соединяет слой данных и слой приложения.

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

  1. Пользователи мейнфреймов знакомы с терминалами 3270 и локальными возможностями подключения. В перенесенной системе они взаимодействуют с приложениями Azure через общедоступный Интернет или через частное подключение, реализованное через Azure ExpressRoute. Microsoft Entra ID обеспечивает проверку подлинности.

  2. Входные запросы поступают в глобальную службу подсистемы балансировки нагрузки, например Azure Front Door или Azure Traffic Manager. Балансировщик нагрузки может обслуживать географически распределенную базу пользователей. Он направляет запросы в соответствии с правилами, определенными для поддерживаемых рабочих нагрузок. Эти подсистемы балансировки нагрузки могут координироваться со Шлюзом приложений Azure или Azure Load Balancer для балансировки нагрузки на уровне приложений. Служба Azure Content Delivery Network кэширует статическое содержимое на пограничных серверах для быстрого отклика. Брандмауэр веб-приложения (WAF) помогает защитить службу.

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

  4. Коды COBOL и PL/I в серверной части прикладного уровня реализуют бизнес-логику. Код может использовать службы и функции, такие как функции Azure, веб-задания и микрослужбы Azure Spring Apps. Приложения могут выполняться в контейнере Службы Azure Kubernetes (AKS).

  5. Хранилище данных в памяти ускоряет работу приложений OLTP с высокой пропускной способностью. Примеры включают In-Memory OLTP, который является функцией Базы данных SQL Azure и Управляемого экземпляра SQL Azure, а также Кэш Azure для Redis.

  6. Уровень данных может включать:

    • Файлы, таблицы и BLOB-объекты реализованы с помощью службы хранилища Azure.
    • Реляционные базы данных из семейства Azure SQL.
    • Реализации баз данных с открытым кодом PostgreSQL и MySQL в Azure.
    • Azure Cosmos DB, которая является базой данных NoSQL.

    Эти хранилища хранят данные, перенесенные с мейнфрейма для использования на уровне приложения.

  7. Собственные службы Azure, такие как Application Insights и Azure Monitor, проактивно отслеживают работоспособность системы. Журналы Azure Monitor можно интегрировать с помощью панели мониторинга Azure.

Компоненты

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

Сеть и удостоверение

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

  • ExpressRoute обеспечивает частные подключения между локальными инфраструктурами и центрами обработки данных Azure.

  • Microsoft Entra ID — это служба управления идентификацией и доступом, которая может синхронизироваться с локальным каталогом.

  • Azure Front Door обеспечивает глобальную балансировку нагрузки HTTP с мгновенной отработкой отказа. Его опция кэширования может ускорить доставку статического контента.

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

  • Azure WAF помогает защитить веб-приложения от вредоносных атак и распространенных веб-уязвимостей, таких как SQL-инъекции и межсайтовые скрипты.

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

  • Шлюз приложений — это служба контроллера доставки приложений. Он работает на уровне 7, уровне приложения и обладает различными возможностями балансировки нагрузки.

  • Load Balancer — это балансировщик нагрузки уровня 4 (TCP или User Datagram Protocol). В этой архитектуре он предоставляет варианты балансировки нагрузки для Azure Spring Apps и AKS.

Заявление

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

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

  • Служба приложений — это полностью управляемая служба для создания, развертывания и масштабирования веб-приложений. Вы можете создавать приложения с помощью .NET, .NET Core, Node.js, Java, Python или PHP. Приложения могут работать в контейнерах или в Windows или Linux. При переносе мейнфреймов интерфейсные экраны и веб-интерфейс можно представить в коде как REST API на основе HTTP. Они могут быть разделены в соответствии с приложением мэйнфрейма и могут быть без отслеживания состояния для оркестрации системы на основе микрослужб.

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

  • AKS — это полностью управляемая служба Kubernetes для развертывания контейнерных приложений и управления ими. AKS упрощает развертывание управляемого кластера AKS в Azure, перекладывая операционные издержки на Azure.

  • Azure Spring Apps — это полностью управляемая служба Spring, созданная и управляемая совместно корпорациями Майкрософт и VMware. Вы можете использовать Azure Spring Apps для простого развертывания, управления и запуска микрослужб Spring, а также для написания приложений Spring с помощью Java или .NET.

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

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

  • Кэш Azure для Redis — это полностью управляемая служба кэширования в памяти для совместного использования данных и состояния между вычислительными ресурсами. Он включает в себя Redis с открытым исходным кодом и Redis Enterprise, коммерческий продукт от Redis Labs, в качестве управляемого сервиса. Вы можете повысить производительность приложений OLTP с высокой пропускной способностью, спроектировав их для масштабирования и использования хранилища данных в памяти, такого как Azure Cache для Redis.

Хранение и база данных

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

Контроль

Следующие инструменты мониторинга обеспечивают всесторонний анализ данных и ценную информацию о производительности приложений.

  • Azure Monitor собирает, анализирует и обрабатывает персональные данные из Azure и локальных сред.

    Оповещения Azure Monitor — это функция Monitor. Дополнительные сведения см. в статье Создание и просмотр оповещений метрик, а также управление ими с помощью Azure Monitor.

  • Log Analytics — это средство на портале Azure, которое используется для запроса журналов Azure Monitor с помощью мощного языка запросов. Вы можете взаимодействовать с результатами запросов или использовать их с другими функциями Azure Monitor, такими как оповещения о запросах журналов или книги. Дополнительные сведения см. в статье Обзор Log Analytics в Azure Monitor.

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

Сведения о сценарии

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

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

Эта архитектура идеально подходит для рабочих нагрузок OLTP, которые имеют следующие характеристики:

  • Они обслуживают международную базу пользователей.

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

Соображения

Эти рекомендации реализуют основные принципы платформы Azure Well-Architected Framework, которая представляет собой набор руководящих принципов, которые можно использовать для улучшения качества рабочей нагрузки. Дополнительные сведения см. вWell-Architected Framework.

Надежность

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

  • Эту архитектуру OLTP можно развернуть в нескольких регионах. Он также может иметь геореплицированный слой данных.

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

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

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

  • ExpressRoute создает частное подключение к Azure из локальной среды. Вы также можете использовать VPN-подключение типа «сеть-сеть».

  • Microsoft Entra ID может проверять подлинность ресурсов и управлять доступом с помощью управления доступом на основе ролей Azure.

  • Службы баз данных в Azure поддерживают различные варианты безопасности, такие как шифрование данных при хранении.

  • Общие рекомендации по разработке более безопасных решений см. в разделе Быстрые ссылки по безопасности.

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

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

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

Операционное превосходство

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

В этом сценарии для мониторинга работоспособности ресурсов Azure используются Azure Monitor и Application Insights. Вы можете настроить оповещения для упреждающего управления.

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

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

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

  • Дополнительные сведения см. в разделе Автомасштабирование.

Соавторы

Корпорация Майкрософт поддерживает эту статью. Следующие авторы написали эту статью.

Основные авторы:

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

Дальнейшие шаги

Ознакомьтесь со следующими связанными архитектурами и соответствующей технической информацией.