Интерактивная обработка транзакций IBM z/OS в Azure

Azure Front Door
Azure Traffic Manager
Служба Azure Kubernetes (AKS)
Azure Spring Apps
Кэш Azure для Redis

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

Архитектура

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

Архитектура OLTP в z/OS

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

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

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

  1. Пользователи подключаются к мейнфрейму по протоколу TCP/IP с помощью стандартных протоколов мейнфрейма, таких как TN3270 и HTTPS.
  2. Диспетчеры транзакций взаимодействуют с пользователями и вызывают приложение для выполнения запросов пользователей.
  3. Во внешнем интерфейсе уровня приложения пользователи взаимодействуют с экранами CICS/IMS или веб-страницами.
  4. Для реализации транзакций диспетчеры транзакций используют бизнес-логику, написанную на языке COBOL или PL/1.
  5. В коде приложения используются возможности хранилища на уровне данных, обычно это DB2, IMS DB или VSAM.
  6. Наряду с обработкой транзакций другие службы обеспечивают проверку подлинности, безопасность, управление, мониторинг и отчеты. Эти службы взаимодействуют со всеми прочими службами в системе.

Здесь мы видим, как перенести эту архитектуру в Azure.

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

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

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

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

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

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

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

  6. На уровне данных можно разместить:

    1. файлы, таблицы и большие двоичные объекты, реализованные с помощью служб Службы хранилища Azure;
    2. реляционные базы данных из семейства Azure SQL;
    3. реализации Azure баз данных PostgreSQL и MySQL с открытым кодом.
    4. Azure Cosmos DB, база данных NoSQL.

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

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

Компоненты

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

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

  • Azure ExpressRoute осуществляет частные подключения между локальной инфраструктурой и центрами обработки данных Azure.
  • Идентификатор Microsoft Entra — это служба управления удостоверениями и доступом, которая может синхронизироваться с локальным каталогом.
  • Azure Front Door обеспечивает глобальную балансировку нагрузки HTTP с мгновенной отработкой отказа. Эта служба предоставляет опцию кэширования для ускорения доставки статического содержимого.
  • Диспетчер трафика Azure направляет входящие запросы DNS с использованием выбранных методов маршрутизации трафика.
  • Брандмауэр веб-приложений Azure помогает защитить веб-приложения от вредоносных атак и распространенных веб-уязвимостей, таких как внедрение кода SQL и межсайтовые сценарии.
  • Сеть доставки содержимого Microsoft Azure (CDN) кэширует статическое содержимое на пограничных серверах для быстрого реагирования, а также использует сетевые оптимизации с целью улучшения реагирования для динамического содержимого. Сеть доставки содержимого особенно полезна, если база пользователей является глобальной.
  • Шлюз приложений Azure представляет собой службу контроллера доставки приложений. Он работает на уровне 7, уровне приложения и обладает различными возможностями балансировки нагрузки.
  • Azure Load Balancer является подсистемой балансировки нагрузки 4-го уровня (TCP, UDP). В этой архитектуре он предоставляет параметры балансировки нагрузки для Spring Apps и AKS.

Приложение

  • Управление API Azure помогает в публикации, маршрутизации, обеспечении безопасности, ведении журналов и аналитике API. Вы можете управлять представлением и расширением данных, а также указывать, какие приложения могут к ним обращаться. Вы можете ограничить или разрешить сторонний доступ к приложениям.
  • Служба приложений Azure — это полностью управляемая служба для создания, развертывания и масштабирования веб-приложений. Вы можете создавать приложения с помощью .NET, .NET Core, Node.js, Java, Python или PHP. Запускать приложения можно в контейнерах, Windows или Linux. При переносе мейнфреймов интерфейсные экраны и веб-интерфейс можно представить в коде как REST API на основе HTTP. Их можно разделить в соответствии с приложением мейнфрейма. Кроме того, они могут не отслеживать состояние для координации системы на основе микрослужб.
  • Веб-задания — это функция Службы приложений Azure, которая позволяет запускать программу или скрипт в том же экземпляре, где работают веб-приложение, приложение API или мобильное приложение. Веб-задание отлично подходит для реализации программной логики с возможностью совместной работы и повторного использования. Технические сведения см. в статье Выполнение фоновых задач с помощью веб-заданий в Службе приложений Azure.
  • Служба Azure Kubernetes (AKS) — это полностью управляемая служба Kubernetes для развертывания и администрирования контейнерных приложений. AKS упрощает развертывание управляемого кластера AKS в Azure, перекладывая операционные издержки на Azure.
  • Azure Spring Apps — это полностью управляемая служба Spring, совместно созданная и управляемая корпорацией Майкрософт и VMware. С его помощью можно легко развертывать, управлять и запускать микрослужбы Spring и создавать приложения Spring с помощью Java или .NET.
  • Служебная шина Azure представляет собой надежную облачную службу обмена сообщениями и обеспечивает простую гибридную интеграцию. Очереди служебной шины и службы хранилища могут соединять внешний интерфейс перенесенной системы с ее бизнес-логикой.
  • Служба "Функции Azure" предоставляет среду для выполнения небольших фрагментов кода, называемых функциями, без необходимости создания инфраструктуры приложений. С ее помощью можно обрабатывать пакетные данные, интегрировать системы, работать с Интернетом вещей, а также создавать простые программные интерфейсы и микрослужбы. С помощью микрослужб можно создавать серверы, которые подключаются к службам Azure и всегда содержат актуальные сведения.
  • Кэш Azure для Redis — это полностью управляемая служба кэша в памяти для обмена данными и состояниями между вычислительными ресурсами. Она включает в себя как управляемую службу Redis с открытым кодом (OSS Redis), так и коммерческий продукт от Redis Labs (Redis Enterprise). Чтобы повысить производительность приложений OLTP с высокой пропускной способностью, при их разработке следует учесть возможности масштабирования и использования такого хранилища данных, размещенного в памяти, как Кэш Azure для Redis.

Хранилище

Наблюдение

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

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

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

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

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

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

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

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

Надежность

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

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

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

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

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

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

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

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

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

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

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

Оптимизация производительности

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

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

Соавторы

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

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

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

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

См. следующие связанные архитектуры и связанные технические сведения: