Изменить

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


Рефакторинг систем мейнфреймов IBM z/TPF в Azure

Служба Azure Kubernetes (AKS)
Azure Cosmos DB
Виртуальная сеть Azure
Кэш Azure для Redis

Организациям, перенесенным из мейнфреймов z/TPF в облако, нужна надежная платформа, которая может обрабатывать транзакции с большим объемом. Это решение предоставляет облачные приложения и базы данных, которые функционально эквивалентны устаревшим аналогам Z/TPF.

Архитектура

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

Схема, демонстрирующая архитектуру мейнфрейма перед миграцией.

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

Поток данных

  • Пользователи могут вводить данные по протоколу TCP/IP, включая TN3270 и HTTP(S).
  • Данные передаются в мейнфрейм с помощью стандартных протоколов мейнфреймов.
  • Приложения получают данные. Обычно эти приложения являются только онлайн-системами. Сборка, C++или Saber Talk выполняются в включенной среде.
  • Службы данных и баз данных nonSQL, такие как Azure Cosmos DB, хранят данные.
  • По промежуточного слоя и служебные службы управляют такими задачами, как хранилище ленточных лент, очередь, выходные данные и веб-службы в среде.
  • Связь с общей памятью координирует несколько процессоров.
  • Секции используются для выполнения отдельных рабочих нагрузок или разделения рабочих типов в среде.
  • Операционные системы предоставляют интерфейсы между подсистемой и программным обеспечением, которое она выполняет.

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

Схема, показывающая архитектуру Azure после миграции.

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

Для миграции систем мейнфреймов в Azure требуется платформа, поддерживающая механизм совместного использования памяти с высокой производительностью и высокопроизводительный стек IP-адресов с низкой задержкой (микросекундами) для обеспечения производительности на уровне z/TPF.

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

База данных NoSQL Azure Cosmos DB используется для высокопроизводительного хранилища. Это решение для хранения данных обеспечивает высокую скорость и высокую производительность данных сохраняемости и извлечения.

Поток данных

  1. Входные данные, обычно через Azure ExpressRoute из удаленных клиентов или через другие приложения, работающие в Настоящее время в Azure. В любом случае подключения TCP/IP предоставляют основное средство подключения к системе. Доступ пользователей для веб-приложений предоставляется через порт TLS 443. Чтобы повысить безопасность, свести к минимуму открытые порты, можно использовать узлы Бастиона Azure для доступа администратора к виртуальным машинам.
  2. В Azure подсистема балансировки нагрузки Azure используется для доступа к вычислительным кластерам приложений. Kubernetes обеспечивает надежную балансировку нагрузки и масштабирование. В этом случае интерфейсная подсистема балансировки нагрузки предоставляет еще один уровень отработки отказа для обеспечения непрерывности бизнес-процессов в случае сбоя всей службы кластера.
  3. Для развертывания используются виртуальные машины, Kubernetes или масштабируемые наборы виртуальных машин.
  4. Серверы приложений получают входные данные в вычислительных кластерах и совместно используют состояние приложения и данные с помощью Кэш Azure для Redis или удаленного прямого доступа к памяти (RDMA).
  5. Архитектура выполняется в Red Hat Enterprise Linux, SUSE Linux или Windows.
  6. Для удовлетворения требований к производительности используется один корневой драйвер виртуализации ввода-вывода (SR-IOV). Sr-IOV позволяет нескольким виртуальным машинам совместно использовать одни и те же физические аппаратные ресурсы PCIe. Здесь используется драйвер RDMA через Конвергентный Ethernet (RoCE) или InfiniBand через Ethernet (IBoE). Эти драйверы позволяют обмен данными между двумя узлами в одном и том же домене трансляции Ethernet через слой канала Ethernet.
  7. Драйверы RDMA/InfiniBand или RoCE позволяют двум узлам совместно использовать память в одном пуле.
  8. Кэш Azure для Redis предоставляет решение для кэширования, которое улучшает время отклика приложения путем хранения копий наиболее часто используемых данных и состояния сеанса.
  9. Кластеры Service Fabric обеспечивают оркестрацию контейнеров.

Компоненты

Это решение включает следующие компоненты Azure:

  • Azure ExpressRoute расширяет ваши локальные сети в Azure по частному, выделенному оптоволоконному подключению от поставщика подключений. ExpressRoute устанавливает подключения к облачным службам, таким как Azure и Microsoft 365.
  • Бастион Azure — это полностью управляемая служба, которая помогает защитить удаленный доступ к виртуальным машинам.
  • Azure Load Balancer распределяет входящий трафик по кластерам вычислительных ресурсов. При этом вы можете определить правила и другие критерии для распределения трафика.
  • Служба Azure Kubernetes (AKS) — это полностью управляемая служба Kubernetes для развертывания и администрирования контейнерных приложений. AKS предоставляет бессерверную платформу Kubernetes со встроенными возможностями непрерывной интеграции и непрерывной поставки,а также функции безопасности и управления корпоративного уровня.
  • Виртуальная сеть Azure — это основной строительный блок частных сетей Azure. Виртуальные машины Azure в виртуальных сетях могут взаимодействовать с повышенной безопасностью друг с другом, Интернетом и локальными сетями. Виртуальная сеть похожа на традиционную локальную сеть, но она обеспечивает преимущества инфраструктуры Azure, такие как масштабируемость, высокий уровень доступности и изоляция.
  • Кэш Azure для Redis добавляет быстрый уровень кэширования в архитектуру приложений, что позволяет обрабатывать значительные объемы данных с большой скоростью. Кэш Azure для Redis масштабирует производительность просто и экономично, обеспечивая преимущества полностью управляемой службы.
  • Базы данных Azure предлагают полностью управляемые реляционные базы данных и базы данных NoSQL для удовлетворения потребностей современных приложений. Автоматизированное управление инфраструктурой обеспечивает масштабируемость, доступность и безопасность.
    • Azure Cosmos DB — это полностью управляемая, быстрая база данных NoSQL с открытыми API для использования в любом масштабе.

Альтернативные варианты

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

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

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

Системы мейнфреймов являются дорогостоящими для обслуживания, и пул разработчиков, которые понимают, что эти системы сокращаются. Но организациям, перенесенным из мейнфреймов z/TPF в облако, нужна надежная платформа, которая может обрабатывать транзакции с большим объемом. Это решение предоставляет облачные приложения и базы данных, которые функционально эквивалентны устаревшим аналогам Z/TPF.

Решение предназначено для удовлетворения следующих требований:

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

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

Ниже приведены некоторые сценарии, которые могут воспользоваться рефакторингом в Azure:

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

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

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

Надёжность

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

Kubernetes предоставляет автомасштабирование кластера, которое настраивает количество узлов, необходимых на основе запрошенных вычислительных ресурсов в пуле узлов. Средство автомасштабирования кластера отслеживает сервер API метрик каждые 10 секунд, чтобы определить, необходимы ли изменения в количестве узлов.

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

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

Эта архитектура в основном основана на Kubernetes, которая включает компоненты безопасности, такие как стандарты безопасности Pod и секреты. Azure предоставляет дополнительные функции безопасности, такие как идентификатор Microsoft Entra, Microsoft Defender для контейнеров, Политика Azure, Azure Key Vault, группы безопасности сети и управляемые обновления кластера.

Бастион Azure повышает безопасность для доступа администратора, минимизируя открытые порты. Бастион Azure обеспечивает высокозащищенное подключение RDP или SSH к виртуальным машинам виртуальной сети непосредственно из портал Azure по протоколу TLS.

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

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

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

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

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

Помимо поддержки более быстрого внедрения облака, рефакторинг также способствует внедрению Принципов работы DevOps и Agile. Она обеспечивает полную гибкость в вариантах разработки и рабочего развертывания.

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

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

Эта архитектура предназначена для транзакций с большим объемом. Она использует вычислительные ресурсы Azure и общие операции ввода-вывода и память для создания связанной среды, которая соответствует этим потребностям.

Для удовлетворения требований к производительности z/TPS эта архитектура использует кластеры Kubernetes.

Соавторы

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

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

  • Марлон Джонсон | Старший менеджер по программам

Другие участники:

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

Для получения дополнительной информации обратитесь по адресу legacy2azure@microsoft.com.

Дополнительные ресурсы см. в следующих следующих следующих ресурсах: