Следующая архитектура демонстрирует подход общего рефакторинга, в котором может использоваться Служба Azure Kubernetes (AKS) или виртуальные машины Azure. Выбор зависит от возможности переноса существующих приложений и ваших предпочтений. Рефакторинг позволяет ускорить переход в Azure, автоматически преобразуя код в Java или .NET и дореляционные базы данных в реляционные.
Архитектура мейнфреймов
Скачайте файл Visio для этой архитектуры.
Рабочий процесс
- Локальные пользователи получают доступ к мейнфрейму по TCP/IP с использованием стандартных протоколов мейнфреймов, таких как TN3270 и HTTPS (A).
- Принимающие приложения могут быть пакетными или онлайн-системами (Б).
- COBOL, PL/I, Assembler или совместимые языки выполняются в средах с их поддержкой (В).
- К типичным данным и службам баз данных относятся иерархические системы или системы сетевых баз данных, файлы индексов или файлы плоских данных, а также реляционные базы данных (Г).
- К общим службам относятся службы для выполнения программ, операций ввода-вывода, обнаружения ошибок и защиты (Д).
- ПО промежуточного слоя и вспомогательные службы управляют ленточными хранилищами, очередями, выводом и веб-службами (Е).
- Операционные системы — это интерфейс между ядром вычислений и ПО (Ж).
- Секции выполняют отдельные рабочие нагрузки или разделяют типы заданий в среде (З).
Архитектура Azure с выполненным рефакторингом
Скачайте файл Visio для этой архитектуры.
Рабочий процесс
Входные данные поступают от удаленных клиентов через ExpressRoute или от других пользователей Azure. Протокол TCP/IP — это основной способ подключения к системе.
Локальные пользователи могут получать доступ к веб-приложениям через порт TLS 443. Уровни представления веб-приложений можно не изменять, чтобы минимизировать необходимость в переобучении пользователей. Или же вы можете реализовать уровни предоставления с помощью современных интерфейсных платформ.
Локальный административный доступ использует узлы Бастиона Azure для обеспечения максимальной безопасности путем сокращения числа открытых портов.
Пользователи Azure подключаются к системе через пиринг между виртуальными сетями.
В Azure служба Azure Load Balancer управляет доступом к вычислительным кластерам приложения. Load Balancer поддерживает горизонтально масштабируемые вычислительные ресурсы для обработки входных данных. Вы можете использовать Load Balancer приложений уровня 7 или Load Balancer сети уровня 4 в зависимости от того, каким способом точка входа вычислительного кластера принимает входные данные приложения.
Вычислительные кластеры приложений могут выполняться на виртуальных машинах Azure или в контейнерах в кластерах AKS. Как правило, эмуляция систем мейнфреймов для приложений PL/I или COBOL использует виртуальные машины, а приложения, для которых выполнен рефакторинг на Java и .NET, используют контейнеры. Некоторое ПО эмуляции систем мейнфреймов также поддерживает развертывание в контейнерах. Вычислительные ресурсы используют управляемые диски SSD цен. категории "Премиум" или "Ультра" с ускорением сети и удаленным прямым доступом к памяти (RDMA).
Серверы приложений в вычислительных кластерах размещают приложения с учетом поддержки возможностей языков, например классов Java или программ COBOL. Серверы получают входные данные от приложений и обмениваются сведениями о состоянии приложений и данными с помощью Кэша Azure для Redis или RDMA.
Службы данных в кластерах приложений поддерживают несколько подключений к постоянным источникам данных. Приватный канал Azure обеспечивает частное подключение из виртуальной сети к службам Azure. К источникам данных относятся следующие:
- Службы данных PaaS, такие как База данных SQL Azure, Azure Cosmos DB и База данных Azure для PostgreSQL с Гипермасштабированием.
- Базы данных на виртуальных машинах, например Oracle или DB2.
- Репозитории больших данных, например Azure Databricks и Azure Data Lake.
- Службы потоковой передачи данных, например Apache Kafka и Azure Stream Analytics.
Хранилище данных может быть локально избыточным или геоизбыточным (в зависимости от сценария использования). Хранилище данных может использовать сочетание следующих компонентов:
- Высокопроизводительное хранилище с дисками SSD цен. категории "Ультра" или "Премиум".
- Хранилище файлов с использованием Azure NetApp Files или Файлов Azure.
- Стандартное хранилище, в том числе хранилище BLOB-объектов, хранилище архивов и хранилище резервных копий.
Службы данных Azure PaaS предоставляют масштабируемое и высокодоступное хранилище данных, которое могут совместно использовать ресурсы вычислительного кластера. Это хранилище также может быть геоизбыточным.
- Хранилище BLOB-объектов Azure — это общая целевая зона для внешних источников данных.
- Фабрика данных Azure поддерживает прием данных и синхронизацию нескольких источников данных Azure и внешних источников данных.
Azure Site Recovery обеспечивает аварийное восстановление для виртуальных машин и компонентов кластера контейнеров.
Службы, такие как Идентификатор Microsoft Entra, Сеть Azure, Azure Stream Analytics, Azure Databricks и Power BI, могут легко интегрироваться с модернизируемой системой.
Компоненты
В этом примере используются следующие компоненты Azure. Некоторые из этих компонентов и рабочих процессов взаимозаменяемы или необязательны (в зависимости от сценария).
Azure ExpressRoute расширяет ваши локальные сети в Azure по частному, выделенному оптоволоконному подключению от поставщика подключений. ExpressRoute устанавливает подключения к облачным службам Майкрософт, например к Azure и Microsoft 365.
Бастион Azure предоставляет прозрачные подключения RDP и SSH к виртуальным машинам в виртуальной сети с портала Azure по протоколу TLS. Бастион Azure усиливает защиту административного доступа, минимизируя число открытых портов.
Azure Load Balancer распределяет входящий трафик по кластерам вычислительных ресурсов. При этом вы можете определить правила и другие критерии для распределения трафика.
Служба Azure Kubernetes (AKS) — это полностью управляемая служба Kubernetes для развертывания и администрирования контейнерных приложений. AKS предоставляет бессерверную платформу Kubernetes со встроенными возможностями непрерывной интеграции и непрерывной поставки,а также функции безопасности и управления корпоративного уровня.
Служба Виртуальные машины Azure предлагает предоставляемые по запросу масштабируемые вычислительные ресурсы разных размеров и типов. С Виртуальными машинами Azure вы получаете преимущества гибкой виртуализации без необходимости покупать и обслуживать физическое оборудование.
Виртуальная сеть Azure — это основной строительный блок частных сетей Azure. Виртуальные машины Azure в виртуальных сетях могут безопасно обмениваться данными друг с другом, с Интернетом и локальными сетями. Виртуальная сеть похожа на традиционную локальную сеть, но с преимуществами инфраструктуры Azure, такими как масштабируемость, высокий уровень доступности и изолированность.
Приватный канал Azure обеспечивает частное подключение из виртуальной сети к службам Azure. Приватный канал упрощает архитектуру сети и защищает подключения между конечными точками Azure, блокируя общедоступный доступ из Интернета.
Кэш Azure для Redis добавляет быстрый уровень кэширования в архитектуру приложений, что позволяет обрабатывать значительные объемы данных с большой скоростью. Кэш Azure для Redis просто и экономично масштабирует производительность, имея все преимущества полностью управляемой службы.
Служба хранилища Azure предлагает масштабируемое и защищенное облачное хранилище для данных, приложений и рабочих нагрузок.
Хранилище дисков Azure представляет собой высокопроизводительное, надежное блочное хранилище для критических важных для бизнеса приложений. Управляемые диски Azure — это тома хранилища на уровне блоков, управляемые Azure на виртуальных машинах Azure. Доступные типы дисков: диски ценовой категории "Ультра", диски SSD ценовой категории "Премиум", диски SSD и жесткие диски (HDD) ценовой категории "Стандартный". В этой архитектуре используются диски SSD цен. категории "Премиум" или "Ультра".
Служба "Файлы Azure" предоставляет полностью управляемые общие файловые ресурсы в облаке, доступ к которым можно получить с помощью стандартного отраслевого протокола SMB. Облачные и локальные развертывания Windows, Linux и macOS могут параллельно подключать общие папки Файлов Azure.
Azure NetApp Files предоставляет общие папки Azure корпоративного класса на основе NetApp. NetApp Files упрощает предприятиям перенос и выполнение сложных приложений на основе файлов, не требуя каких-либо изменений кода.
Хранилище BLOB-объектов Azure — это масштабируемое и защищенное хранилище объектов для архивов, озер данных, высокопроизводительных вычислений, машинного обучения и облачных рабочих нагрузок.
Базы данных Azure предлагают полностью управляемые реляционные базы данных и базы данных NoSQL для удовлетворения потребностей современных приложений. Автоматизированное управление инфраструктурой обеспечивает масштабируемость, доступность и безопасность.
База данных SQL Azure представляет собой полностью управляемое ядро СУБД в режиме PaaS. База данных SQL всегда работает на последней стабильной версии SQL Server и исправленной ОС с доступностью на уровне 99,99 %. Встроенные возможности управления базами данных PaaS включают обновление, установку исправлений, резервное копирование и мониторинг. Вы же можете сосредоточиться на управлении и оптимизации критически важных для бизнеса баз данных в определенных областях.
База данных Azure для PostgreSQL — это полностью управляемая база данных на основе ядра реляционной СУБД PostgreSQL с открытым кодом. Гипермасштабирование (Citus) — это вариант развертывания, который позволяет масштабировать запросы между несколькими компьютерами с использованием сегментирования. Это решение предназначено для приложений, которым требуется более высокая масштабируемость и производительность.
Azure Cosmos DB — это полностью управляемая, быстрая база данных NoSQL с открытыми API для использования в любом масштабе.
Azure Site Recovery зеркалирует виртуальные машины Azure во вторичный регион Azure для быстрой отработки отказа и аварийного восстановления в случае сбоя центра обработки данных Azure.
Подробности сценария
Рефакторинг рабочих нагрузок для Azure позволяет трансформировать приложения мейнфреймов, которые выполняются в Windows Server или Linux. Вы можете сделать эти приложения более экономичными с помощью моделей IaaS (инфраструктура как услуга) и PaaS (платформа как услуга) на основе облачной инфраструктуры Azure.
Подход с общим рефакторингом приложений мейнфреймов также позволяет перевести инфраструктуру с устаревших проприетарных технологий на стандартные, эталонные и открытые технологии. Такая трансформация способствует применению гибких принципов DevOps, которые определяют современные стандарты высокой продуктивности и открытых систем. В рамках рефакторинга осуществляется переход от изолированных, уникальных и устаревших инфраструктур, процессов и приложений к унифицированной среде, обеспечивающей согласование целей бизнеса и ИТ-отдела.
Этот общий подход к рефакторингу может использовать Служба Azure Kubernetes (AKS) или виртуальные машины Azure (виртуальные машины). Выбор зависит от возможности переноса существующих приложений и ваших предпочтений. Рефакторинг позволяет ускорить переход в Azure, автоматически преобразуя код в Java или .NET и дореляционные базы данных в реляционные.
Рефакторинг поддерживает различные методики для перемещения рабочих нагрузок клиентов в Azure. Один из способов — преобразование и перемещение всей системы мейнфрейма в Azure, что позволяет сэкономить на промежуточном обслуживании мейнфреймов и поддержке ресурсов. Этот подход связан с некоторыми рисками. Все процессы преобразования приложений, миграции данных и тестирования должны быть согласованы для беспроблемного перехода с мейнфрейма к Azure.
Вторая методика — постепенное перемещение приложений с мейнфрейма в Azure (конечная цель — полный переход). Такой подход позволяет обеспечить экономию по отдельным приложениям, а опыт, полученный при преобразовании каждого приложения, может пригодиться в дальнейшем. Модернизацию отдельных приложений по собственному графику можно выполнять в более удобном для вас темпе по сравнению с полным преобразованием всей среды.
Потенциальные варианты использования
Рефакторинг для Azure позволяет организациям сделать следующее:
- Модернизировать инфраструктуру и избежать высоких затрат, ограничений и недостаточной гибкости, связанных с мейнфреймами.
- Переместить рабочие нагрузки мейнфреймов в облако без побочных эффектов полной перестройки.
- Перенести критически важные для бизнеса приложения с сохранением непрерывности работы с другими локальными приложениями.
- Воспользоваться преимуществами горизонтальной и вертикальной масштабируемости Azure.
- Реализовать возможности аварийного восстановления.
Рекомендации
К этому решению применимы следующие рекомендации на основе Azure Well-Architected Framework:
Availability
Azure Site Recovery зеркалирует виртуальные машины Azure во вторичный регион Azure для быстрой отработки отказа и аварийного восстановления в случае сбоя основного центра обработки данных Azure.
Операции
Рефакторинг не только позволяет быстрее внедрить облачные технологии, но и способствует применению принципов DevOps и Agile. Вы можете выбрать любой подход к разработке и развертыванию в рабочей среде.
Устойчивость
Уровень производительности в этом решении определяют подсистемы балансировки нагрузки. При сбое одного из серверов представления или транзакций рабочие нагрузки продолжат выполнять другие серверы за подсистемами балансировки нагрузки.
Безопасность
Это решение использует группу безопасности сети Azure для управления трафиком между ресурсами Azure. Дополнительные сведения см. в разделе Группы безопасности сети.
Приватный канал обеспечивает частные, прямые подключения, ограниченные сетевой магистралью Azure, между виртуальными машинами Azure и службами Azure.
Бастион Azure усиливает защиту административного доступа, минимизируя число открытых портов. Бастион предоставляет защищенные и прозрачные подключения RDP и SSH к виртуальным машинам виртуальной сети из портала Azure по протоколу TLS.
Оптимизация затрат
Azure позволяет избежать ненужных затрат путем определения правильного числа типов ресурсов, анализа расходов с течением времени и масштабирования для удовлетворения требований бизнеса без перерасхода средств.
Azure обеспечивает оптимизацию затрат благодаря выполнению задач на виртуальных машинах. Вы можете отключить виртуальные машины, если они не используются, и запланировать их запуск в соответствии с известными тенденциями использования. Дополнительные сведения об оптимизации затрат для экземпляров виртуальных машин см. в статье Azure Well-Architected Framework.
Виртуальные машины в этой архитектуре используют диски SSD цен. категории "Премиум" или диски SSD цен. категории "Ультра". Дополнительные сведения о вариантах дисков и ценах на них см. в статье Цены на Управляемые диски.
База данных SQL оптимизирует затраты с помощью бессерверных вычислений и ресурсов хранилища с Гипермасштабированием, которые масштабируются автоматически. Дополнительные сведения о вариантах Баз данных SQL и ценах на них см. в статье Цены на Базу данных SQL Azure.
Воспользуйтесь калькулятором цен, чтобы оценить расходы на реализацию этого решения.
Соавторы
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.
Автор субъекта:
- Джонатон Фрост | Главный инженер программного обеспечения
Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.
Следующие шаги
- Дополнительные сведения см. в этом случае legacy2azure@microsoft.com.
- Что такое Azure ExpressRoute
- Что такое виртуальная сеть Azure
- Общие сведения об управляемых дисках Azure
- Что собой представляет Приватный канал Azure
- Что такое База данных SQL Azure
- Общие сведения о Файлах Azure
Связанные ресурсы
- Мейнфреймы и архитектуры среднего уровня Azure — основные понятия и шаблоны
- Повторное размещение приложений мейнфреймов в Azure с помощью компиляторов Raincode
- Рефакторинг компонента обеспечения взаимодействия мейнфрейма IBM z/OS для Azure
- Миграция мейнфреймов Unisys
- Миграция мейнфреймов IBM z/OS с Avanade AMT
- Обработка транзакций с пакетной пакетной обработкой большого объема
- Модернизация данных mainframe и midrange