Перенос рабочих нагрузок IBM z/OS OLTP в Azure
Системы онлайн-обработки транзакций (OLTP) являются лицом вашего бизнеса, потому что они напрямую взаимодействуют с клиентами. Перейдя на динамически адаптируемую инфраструктуру, ваш бизнес сможет быстро создавать и запускать продукты, чтобы клиенты могли быстрее использовать ваши продукты.
Архитектура
На следующей схеме показана архитектура системы OLTP, которая работает на мейнфрейме z/OS до миграции в Azure.
Рабочий процесс
Следующий рабочий процесс соответствует предыдущей схеме:
Пользователи подключаются к мэйнфрейму по протоколу TCP или интернет-протоколу (IP) с помощью стандартных протоколов мэйнфрейма, таких как TN3270 и HTTPS.
Менеджеры транзакций взаимодействуют с пользователями и вызывают приложение для удовлетворения запросов пользователей.
На начальном этапе прикладного уровня пользователи взаимодействуют с экранами системы управления информацией о клиентах (CICS) или системы управления информацией (IMS) или с веб-страницами.
Менеджеры транзакций используют бизнес-логику, написанную на общем бизнес-ориентированном языке (COBOL) или Programming Language One (PL/I) для реализации транзакций.
Код приложения использует возможности хранилища уровня данных, такого как DB2, IMS DB или VSAM.
Помимо обработки транзакций, другие службы обеспечивают аутентификацию, безопасность, управление, мониторинг и отчетность. Эти сервисы взаимодействуют со всеми остальными сервисами в системе.
На следующей схеме показано, как перенести эту архитектуру в Azure.
Скачайте файл Visio для этой архитектуры.
Пользователи мейнфреймов знакомы с терминалами 3270 и локальными возможностями подключения. В перенесенной системе они взаимодействуют с приложениями Azure через общедоступный Интернет или через частное подключение, реализованное через Azure ExpressRoute. Microsoft Entra ID обеспечивает проверку подлинности.
Входные запросы поступают в глобальную службу подсистемы балансировки нагрузки, например Azure Front Door или Azure Traffic Manager. Балансировщик нагрузки может обслуживать географически распределенную базу пользователей. Он направляет запросы в соответствии с правилами, определенными для поддерживаемых рабочих нагрузок. Эти подсистемы балансировки нагрузки могут координироваться со Шлюзом приложений Azure или Azure Load Balancer для балансировки нагрузки на уровне приложений. Служба Azure Content Delivery Network кэширует статическое содержимое на пограничных серверах для быстрого отклика. Брандмауэр веб-приложения (WAF) помогает защитить службу.
Внешний интерфейс прикладного уровня использует службы Azure, такие как Azure App Service, для реализации экранов приложений и взаимодействия с пользователями. Экраны являются перенесенными версиями экранов основного компьютера.
Коды COBOL и PL/I в серверной части прикладного уровня реализуют бизнес-логику. Код может использовать службы и функции, такие как функции Azure, веб-задания и микрослужбы Azure Spring Apps. Приложения могут выполняться в контейнере Службы Azure Kubernetes (AKS).
Хранилище данных в памяти ускоряет работу приложений OLTP с высокой пропускной способностью. Примеры включают In-Memory OLTP, который является функцией Базы данных SQL Azure и Управляемого экземпляра SQL Azure, а также Кэш Azure для Redis.
Уровень данных может включать:
- Файлы, таблицы и BLOB-объекты реализованы с помощью службы хранилища Azure.
- Реляционные базы данных из семейства Azure SQL.
- Реализации баз данных с открытым кодом PostgreSQL и MySQL в Azure.
- Azure Cosmos DB, которая является базой данных NoSQL.
Эти хранилища хранят данные, перенесенные с мейнфрейма для использования на уровне приложения.
Собственные службы 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, Хранилище таблиц Azure и Хранилище очередей Azure. Файлы Azure — это эффективное средство для переноса рабочих нагрузок мейнфреймов.
Azure SQL — это семейство облачных баз данных SQL, которое предоставляет гибкие варианты миграции, модернизации и разработки приложений. В это семейство входят:
Azure Cosmos DB — это полностью управляемая служба баз данных NoSQL, которая предоставляет API с открытым кодом для MongoDB и Cassandra. Вы можете использовать Azure Cosmos DB для переноса нетабличных данных мейнфрейма в Azure.
База данных Azure для PostgreSQL — это полностью управляемый, интеллектуальный и масштабируемый PostgreSQL со встроенным подключением к службам Azure.
База данных Azure для MySQL — это полностью управляемая масштабируемая база данных MySQL.
In-Memory OLTP — это функция базы данных SQL и управляемого экземпляра SQL , которая обеспечивает быстрое хранение данных в памяти. Дополнительные сведения см. в статье Оптимизация производительности с помощью технологий обработки в памяти в базе данных SQL.
Контроль
Следующие инструменты мониторинга обеспечивают всесторонний анализ данных и ценную информацию о производительности приложений.
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.
Дальнейшие шаги
- Для получения дополнительной информации обратитесь по адресу [email protected].
- Руководства по миграции баз данных Azure
Связанные ресурсы
Ознакомьтесь со следующими связанными архитектурами и соответствующей технической информацией.
Связанные архитектуры
- Обработка транзакций с пакетной пакетной обработкой большого объема
- Миграция мэйнфреймов IBM z/OS с помощью Avanade AMT
- Micro Focus Enterprise Server на виртуальных машинах Azure
- Рефакторинг возможности сопряжения мейнфрейма IBM z/OS с Azure
- Репликация и синхронизация данных мейнфрейма в Azure
- Перенос приложений мейнфреймов IBM в Azure с помощью TmaxSoft OpenFrame
Связанная техническая информация
- Выполнение фоновых задач с помощью веб-заданий в службе приложений
- Оптимизация производительности с помощью технологий обработки в памяти в базе данных SQL
- Общие сведения о службе Azure Monitor
- Создание или изменение правила оповещения метрик
- Создание панелей мониторинга данных Log Analytics и предоставление общего доступа к ним