Compartilhar via


Reger aplicativos do lote de mainframe no Azure

Fábrica de dados do Azure
Azure Databricks
AKS (Serviço de Kubernetes do Azure)
Banco de Dados SQL do Azure
Armazenamento do Azure

Essa arquitetura de referência mostra como você pode usar o Azure para reger um aplicativo de lote de mainframe z/OS para fornecer um sistema seguro, escalonável e altamente disponível na nuvem usando o Azure. Devido às necessidades comerciais em constante evolução, os dados e os aplicativos precisam fornecer e dimensionar sem afetar sua infraestrutura. A nova engenharia para a nuvem pode ajudar as empresas em finanças, saúde, seguros e varejo a minimizar seus tempos de entrega de produtos ou recursos e reduzir custos.

Arquitetura do mainframe

O primeiro diagrama mostra a arquitetura de um aplicativo em lote típico em execução em um mainframe z/OS.

Diagrama de um aplicativo em lote típico em execução em um mainframe z/OS.

Baixe um arquivo do Visio dessa arquitetura.

Fluxo de trabalho

  1. Os processos em lotes de mainframe podem ser disparados em um horário agendado usando um Agendador de Operação, Planejamento e Controle (OPC). Eles também podem ser disparados por uma mensagem colocada em uma fila de mensagens, como uma mensagem que anuncia que um arquivo foi criado.

  2. Um DASD (dispositivo de armazenamento de acesso direto) de mainframe é usado para armazenar arquivos de entrada e saída; por exemplo, arquivos simples que são exigidos pelo aplicativo. Você pode disparar o processo em lote criando um arquivo no armazenamento DASD.

  3. O processo em lote é uma execução de um conjunto de trabalhos, como um trabalho que executa internamente um usuário ou programa do sistema para realizar uma tarefa específica. Normalmente, os processos em lotes são executados sem interação do usuário. Todos os trabalhos em lote em um mainframe são executados sob o controle de um JES (Sistema de Execução de Trabalho).

  4. Programas em processos em lotes podem ler/gravar dados de:

    • Um banco de dados baseado em arquivo, como o VSAM (Método de Acesso ao Armazenamento Virtual).
    • Um banco de dados relacional como Db2 ou Informix.
    • Um banco de dados não relacional, como o IMS (Sistema de Gerenciamento de Informações).
    • Uma fila de mensagens.
  5. A saída da execução do trabalho pode ser monitorada por meio de um agendador OPC ou do Tivoli Workload Scheduler (TWS). Um SDSF (System Display and Search Facility) no JES também é usado no mainframe para verificar o status de execução do trabalho.

  6. A camada de gerenciamento fornece os seguintes serviços:

    • Controle do código-fonte, como Endevor ou Changeman.
    • Segurança, como o RACF (Resource Access Control Facility). Essa segurança fornece autenticação para executar lotes, acessar arquivos e acessar o banco de dados.
    • Gerenciamento de saída que dá suporte ao armazenamento e pesquisa de logs de execução de trabalho.

Arquitetura do Azure

O segundo diagrama mostra como você pode usar os serviços do Azure para reger um aplicativo semelhante com funcionalidades e flexibilidade adicionais.

Diagrama de um aplicativo em lotes reenguido usando os serviços do Azure. Vários serviços de exemplo estão incluídos.

Baixe um arquivo do Visio dessa arquitetura.

Fluxo de trabalho

  1. Use um dos gatilhos a seguir para iniciar o processo em lote do Azure.

    • Use o agendador de trabalho do do Azure Databricks ou agendador de do Azure Function.
    • Crie uma tarefa de processo em lote recorrente com aplicativos lógicos do Azure.
    • Use um evento de armazenamento, como a criação ou exclusão de um arquivo em de Blobs do Azure ou de armazenamento de arquivos.
    • Use um gatilho baseado em mensagem, como a chegada de uma mensagem no do Barramento de Serviço do Azure.
    • Crie um gatilho de do Azure Data Factory .
  2. Armazene arquivos migrados do mainframe usando o Armazenamento de Blobs do Azure ou arquivos do Azure. Os processos em lote regerados no Azure podem ler/gravar dados desse armazenamento.

  3. O Azure fornece vários serviços para implementar uma carga de trabalho em lotes de mainframe. Selecione serviços específicos com base em seus requisitos de negócios. Por exemplo, a potência de computação necessária, o tempo de execução total, a capacidade de dividir o processo do lote de mainframe em unidades menores e a sensibilidade ao custo.

    1. O Azure Databricks é uma plataforma de análise baseada no Apache Spark. Trabalhos podem ser escritos nas linguagens R, Python, Java, Scala e Spark SQL. Ele fornece um ambiente de computação com tempos de início rápidos do cluster, terminação automática e dimensionamento automático. Ele tem integração interna com o armazenamento do Azure, como o Armazenamento de Blobs do Azure e o Armazenamento do Azure Data Lake. Use o Azure Databricks se precisar processar grandes quantidades de dados em pouco tempo. Também é uma boa opção se você precisar executar cargas de trabalho ETL (Extrair, Transformar e Carregar).
    2. O AKS e o Service Fabric fornecem uma infraestrutura para implementar uma arquitetura de aplicativo baseada em serviço. Pode não ser econômico para um único aplicativo. Você pode refatorar seu aplicativo mainframe usando o Java Spring Boot. A melhor maneira de executar aplicativos spring boot no Azure é usar o Azure Spring Apps, um serviço Spring totalmente gerenciado. Os desenvolvedores java podem usá-lo para criar e executar facilmente microsserviços do Spring Boot no Azure.
    3. Você pode reenviá-lo usando .NET ou Java. O Lote fornece a infraestrutura para executar esse aplicativo em escala. Ele cria e gerencia um pool de VMs (máquinas virtuais), instala os aplicativos e agenda trabalhos para execução nas VMs. Não há nenhum software de agendador de trabalho ou cluster para instalar, gerenciar ou dimensionar. Escreva aplicativos em qualquer linguagem de programação compatível com Windows ou Linux.
    4. Você pode reger programas em lotes de COBOL ou PL/1 em execução curta. Para esses programas, use serviços do Azure como Functions, WebJobs ou Aplicativos Lógicos.
  4. O Azure fornece vários serviços de dados para armazenar e recuperar dados.

    • Você pode migrar bancos de dados relacionais de mainframe, como Db2 e Informix, com alterações mínimas na visibilidade das ofertas do banco de dados relacional do Azure. Por exemplo, serviços de banco de dados relacional, como Azure SQL VM, BD SQL do Azure ou MI do SQL do Azure. Você também pode usar qualquer RDBMS (Sistema de Gerenciamento de Banco de Dados Relacional) de software livre, como o PostgreSQL do Azure. A seleção de um banco de dados do Azure depende do tipo de carga de trabalho, consultas entre bancos de dados, requisitos de confirmação em duas fases e muitos outros fatores.
    • Você pode migrar bancos de dados não relacionais de mainframe, como IMS, IDMS (Sistema integrado de gerenciamento de dados) ou VSAM para o Azure Cosmos DB. O Azure Cosmos DB fornece tempos de resposta rápidos, escalabilidade automática e instantânea e velocidade garantida em qualquer escala. É uma opção econômica para cargas de trabalho imprevisíveis ou esporádicas de qualquer tamanho ou escala. Os desenvolvedores podem começar facilmente sem precisar planejar ou gerenciar a capacidade.
    • Você pode usar o Cache do Azure para Redis para acelerar um aplicativo regerenciado.
  5. Aplicativos, o sistema operacional e recursos do Azure podem usar agentes para enviar logs e métricas para logs do Azure Monitor.

    • Application Insight monitora seu aplicativo migrado. Ele detecta automaticamente anomalias de desempenho e inclui ferramentas de análise avançadas para ajudá-lo a diagnosticar problemas.
    • do Azure Log Analytics ajuda a armazenar, indexar, consultar e derivar análises dos dados de log coletados.

    Você pode usar a saída do Log Analytics e do Application Insights para criar alertas e dashboards ou exportar para serviços externos. Você também pode usar a saída para executar uma ação como o dimensionamento de uma VM.

  6. Essa camada fornece serviços do Azure para controle do código-fonte, segurança e gerenciamento de saída. Esses serviços podem consistir no Azure DevOps e na ID do Microsoft Entra.

Componentes

Rede e identidade

  • do Azure ExpressRoute: o ExpressRoute permite estender suas redes locais para a nuvem da Microsoft por meio de uma conexão privada de um provedor de conectividade. Com o ExpressRoute, você pode estabelecer conexões com serviços de nuvem da Microsoft, como o Microsoft Azure e o Office 365.
  • Gateway de VPN do Azure: um gateway de VPN é um tipo específico de gateway de rede virtual que é usado para enviar tráfego criptografado entre uma rede virtual do Azure e um local pela Internet pública.
  • Microsoft Entra ID: o Microsoft Entra ID é um serviço de gerenciamento de identidade e acesso que pode ser sincronizado com um diretório local.

Aplicação

  • Aplicativos Lógicos: Os Aplicativos Lógicos ajudam você a criar e executar tarefas e processos recorrentes automatizados em um agendamento. Você pode chamar serviços dentro e fora do Azure, como pontos de extremidade HTTP ou HTTPS. Você também pode postar mensagens em serviços do Azure, como o Barramento de Serviço do Azure, ou obter arquivos carregados em um compartilhamento de arquivos.
  • barramento de serviço: você pode usar o Barramento de Serviço para mensagens entre uma interface do usuário e serviços de back-end. Esse sistema pode desacoplar aplicativos e serviços e aumentar a confiabilidade e o uso.
  • do Azure Databricks: o Azure Databricks é uma ferramenta de engenharia de dados baseada em nuvem usada para processar e transformar grandes quantidades de dados. Em seguida, você pode explorar esses dados por meio de modelos de machine learning.
  • do Azure Spring Apps: o Azure Spring Apps facilita a implantação, o gerenciamento e a execução de microsserviços spring no Azure. Ele dá suporte ao Java e ao .NET Core.
  • do AKS: o AKS simplifica a implantação de um cluster kubernetes gerenciado no Azure descarregando a sobrecarga operacional para o Azure.
  • Lote: o Lote foi projetado para executar a computação em lote de uso geral na nuvem em várias VMs que podem ser dimensionadas com base na carga de trabalho que está sendo executada. É um ajuste perfeito para casos de uso de ETL ou IA em que várias tarefas são executadas em paralelo, independentes umas das outras.
  • Functions: use funções para executar pequenos trechos de código sem se preocupar com a infraestrutura do aplicativo. Com o Functions, a infraestrutura de nuvem fornece todos os servidores de data up-tonecessários para manter seu aplicativo em execução em escala.
  • Serviço de Aplicativo do Azure: com WebJobs, um recurso do Serviço de Aplicativo, você pode codificar lógica de negócios em segundo plano reutilizável como trabalhos web.
  • Cache do Azure para Redis: aplicativos que usam um alto volume de dados de back-end podem ser desenvolvidos para dimensionar e fornecer um desempenho altamente otimizado integrando-se a um armazenamento de dados na memória, como o Redis. O Cache do Azure para Redis oferece o redis open-source (OSS Redis) e um produto comercial da Redis Labs, Redis Enterprise, como um serviço gerenciado.

Armazenamento

O armazenamento do Azure fornece várias camadas de dados frequentes, esporádicos e arquivados. O uso efetivo dessas camadas de armazenamento pode oferecer uma vantagem de preço para o desempenho.

  • Armazenamento de Blobs: armazenamento de objetos escalonável e seguro para cargas de trabalho, arquivos, data lakes, computação de alto desempenho e machine learning nativos de nuvem.
  • arquivos do Azure: compartilhamentos de arquivos de nuvem simples, seguros e sem servidor da empresa. Os Arquivos do Azure podem ser particularmente úteis para soluções de mainframe regeridas. Ele fornece um complemento eficaz para o armazenamento sql gerenciado.
  • armazenamento de tabelas: um repositório de chave-valor NoSQL para desenvolvimento rápido usando grandes conjuntos de dados semiestruturados.
  • de Armazenamento de Filas do Azure: filas de mensagens simples, econômicas e duráveis para cargas de trabalho grandes.
  • sql do Azure: a família de serviços totalmente gerenciada do Azure para SQL Server. Você pode migrar e usar os dados relacionais com eficiência com outros serviços do Azure, como a Instância Gerenciada de SQL do Azure ou o SQL Server em Máquinas Virtuais do Azure.
  • do Azure Cosmos DB: uma oferta sem SQL que você pode usar para migrar dados não tabulares dos mainframes.

Monitorização

  • do Azure Monitor: o Azure Monitor oferece uma solução abrangente para coletar, analisar e agir sobre telemetria de ambientes locais e de nuvem. Ele contém os recursos do Application Insights, dos Logs do Azure Monitor e do Azure Log Analytics.

Gestão

  • ado Azure DevOps: reenvolva aplicativos de mainframe no Azure durante todas as fases de desenvolvimento de software e colaboração em equipe. O DevOps fornece os seguintes serviços:

    • do Azure Boards: planejamento agile, acompanhamento de item de trabalho, visualização e ferramenta de relatório.
    • do Azure Pipelines: uma plataforma de CI/CD independente de linguagem, plataforma e nuvem com suporte para contêineres ou Kubernetes.
    • do Azure Repos: fornece repositórios git privados hospedados na nuvem.
    • Azure Artifacts: fornece gerenciamento de pacote integrado com suporte para feeds de pacotes Maven, npm, Python e NuGet de fontes públicas ou privadas.
    • planos de teste do Azure: fornece uma solução de teste integrada, planejada e exploratória.

Detalhes do cenário

Mainframes são usados principalmente para processar grandes quantidades de dados. O processamento em lote é uma maneira de processar um alto volume de transações agrupadas e, em seguida, fazer atualizações em massa no banco de dados. Depois de disparados, eles exigem uma interação mínima ou nenhuma do usuário. Por exemplo, os sistemas de mainframe possibilitam que bancos e outras instituições financeiras façam processamento e produzam relatórios de fim de trimestre, como ações trimestrais ou demonstrações de pensão.

Possíveis casos de uso

Essa solução é ideal para as indústrias de finanças, seguros, saúde e varejo. Use essa arquitetura para reger aplicativos de mainframe no Azure. A arquitetura funciona melhor para:

  • Aplicativos de lote de mainframe com uso intensivo de recursos.
  • Aplicativos em lote que precisam de computação alta durante um determinado período, como fim de mês, trimestre ou ano.
  • Processos em lote de mainframe que são repetitivos e não com uso intensivo de recursos, mas podem precisar de utilização por sistemas externos.

Considerações

Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser usados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Microsoft Azure Well-Architected Framework.

Fiabilidade

A confiabilidade garante que seu aplicativo possa atender aos compromissos que você faz aos seus clientes. Para obter mais informações, consulte Lista de verificação de revisão de design parade confiabilidade.

  • Você pode usar o Azure Monitor e o Application Insights, além do Log Analytics, para monitorar a integridade de um recurso do Azure. Defina alertas para gerenciar proativamente a integridade do recurso.
  • Para obter mais informações sobre resiliência no Azure, consulte Criando aplicativos confiáveis do Azure.

Segurança

A segurança fornece garantias contra ataques deliberados e o abuso de seus valiosos dados e sistemas. Para obter mais informações, consulte Lista de verificação de revisão de design parade segurança.

  • Essa arquitetura de referência usa o ExpressRoute para uma conexão privada e eficiente com o Azure a partir do ambiente local. No entanto, você também pode criar um site de para site vpn.
  • Você pode autenticar recursos do Azure usando a ID do Microsoft Entra. Você pode gerenciar permissões com RBAC (controle de acesso baseado em função).
  • Os serviços de banco de dados no Azure dão suporte a várias opções de segurança, como a Criptografia de Dados em Repouso.
  • Para obter mais informações sobre como criar soluções seguras, consulte documentação de segurança do Azure.

Otimização de custos

A Otimização de Custos trata-se de procurar maneiras de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Lista de verificação de revisão de design parade Otimização de Custos.

Use a calculadora de preços do Azure para estimar os custos dos recursos do Azure.

Consulte aplicativo em lote de mainframes do Azure para obter uma estimativa de custo de exemplo dos serviços.

Excelência Operacional

A Excelência Operacional abrange os processos de operações que implantam um aplicativo e o mantêm em execução em produção. Para obter mais informações, consulte Lista de verificação de revisão de design parade Excelência Operacional.

  • A arquitetura do lote neste artigo usa computação de vários nós ou serviços de PaaS, que fornecem alta disponibilidade.
  • Os serviços de banco de dados do Azure dão suporte à redundância de zona e você pode projetá-los para fazer failover para um nó secundário se houver uma interrupção ou durante uma janela de manutenção.

Eficiência de desempenho

A Eficiência de Desempenho é a capacidade da sua carga de trabalho de dimensionar para atender às demandas colocadas nele pelos usuários de maneira eficiente. Para obter mais informações, consulte Lista de verificação de design parade Eficiência de Desempenho.

  • Os seguintes serviços do Azure nesta arquitetura têm recursos de dimensionamento automático:

    • Azure Databricks
    • AKS
    • Aplicativos spring
    • Lote
    • Funções do Azure
    • Aplicativos Lógicos
  • Para obter mais informações sobre dimensionamento automático no Azure, consulte o guia de dimensionamento automático do .

Contribuintes

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos colaboradores a seguir.

Autor principal:

  • Ashish Khandelwal | Gerente de Arquitetura de Engenharia Principal

Para ver perfis não públicos do LinkedIn, entre no LinkedIn.

Próximas etapas

  • Para obter mais informações, entre em contato com datasqlninja@microsoft.com.
  • Consulte os guias de migração de banco de dados do Azure.
  • de processamento de transações em lotes de alto volume