Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Ideias de soluções
Este artigo descreve uma ideia de solução. Seu arquiteto de nuvem pode usar essa orientação para ajudar a visualizar os principais componentes para uma implementação típica dessa arquitetura. Use este artigo como ponto de partida para projetar uma solução bem arquitetada que se alinhe aos requisitos específicos da sua carga de trabalho.
Essa ideia da solução mostra como você pode usar Azure para reengenhar um aplicativo de lote de mainframe z/OS para fornecer um sistema seguro, escalonável e altamente disponível na nuvem. Dados e aplicações precisam acompanhar as necessidades do negócio sem interrupções na infraestrutura. Para minimizar os prazos de entrega de produtos ou funcionalidades e reduzir custos, empresas dos setores financeiro, de saúde, de seguros e de varejo podem migrar para a nuvem.
Arquitetura de mainframe
O diagrama a seguir mostra a arquitetura de um aplicativo em lote típico em execução em um mainframe z/OS.
Workflow
O fluxo de trabalho a seguir corresponde ao diagrama anterior:
Você pode disparar os processos em lote de mainframe em um horário agendado usando um agendador de operação, planejamento e controle (OPC). Mensagens, como uma mensagem que anuncia um novo arquivo, também podem disparar processos em lotes de mainframe.
Um DASD (dispositivo de armazenamento de acesso direto) de mainframe armazena arquivos de entrada e saída, como arquivos simples exigidos pelo aplicativo. Para disparar o processo em lote, crie um arquivo no DASD.
O processo em lote é uma execução de um conjunto de trabalhos, como um trabalho que executa internamente um programa de usuário ou sistema para realizar uma tarefa específica. Os processos em lote normalmente são executados sem interação do usuário. Um JES (sistema de execução de trabalho) executa trabalhos em lote no mainframe.
Programas em processos em lotes podem ler e 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.
Monitore a saída da execução da tarefa usando um agendador OPC ou o Tivoli Workload Scheduler (TWS). Você também pode usar o System Display and Search Facility no JES para verificar o status de execução do trabalho no mainframe.
A camada de gerenciamento fornece os seguintes serviços:
Controle do código-fonte, como Endevor ou ChangeMan.
Segurança, como o RACF (Resource Controle de Acesso Facility). Essa segurança fornece autenticação para execução em lote, acesso a arquivos e acesso ao banco de dados.
Gerenciamento de saída com suporte ao armazenamento e à busca de logs de execução de tarefas.
Arquitetura do Azure
O diagrama a seguir mostra como você pode usar Azure serviços para reengenhar um aplicativo semelhante com funcionalidades e flexibilidade adicionais.
Baixe um arquivo do Visio dessa arquitetura.
Workflow
O fluxo de dados a seguir corresponde ao diagrama anterior:
Use um dos seguintes gatilhos para iniciar o processo em lote do Azure:
Use o agendador de trabalho Azure Databricks ou o agendador de Azure Functions.
Crie uma tarefa de processo em lote recorrente usando Aplicativos Lógicos do Azure.
Use um evento de armazenamento, como criação ou exclusão de arquivos, em Armazenamento de Blobs do Azure ou Arquivos do Azure.
Use um gatilho baseado em mensagem, como uma nova mensagem em Barramento de Serviço do Azure.
Crie um gatilho do Azure Data Factory.
Armazene arquivos que migram do mainframe usando Armazenamento de Blobs ou Arquivos do Azure. Os processos em lote que são reengenhados em Azure podem ler e gravar dados desse armazenamento.
Azure dá suporte à implementação da carga de trabalho em lote do mainframe. Selecione serviços específicos com base em seus requisitos de negócios. Por exemplo, considere 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 de custo.
O Azure Databricks é uma plataforma de análise baseada no Apache Spark. Você pode escrever trabalhos nas linguagens R, Python, Java, Scala e Spark SQL. O Azure Databricks fornece um ambiente de computação que oferece tempos rápidos de inicialização de cluster, encerramento automático e dimensionamento automático. Ele tem integração interna com serviços de Armazenamento do Azure, como Armazenamento de Blobs e Azure Data Lake Storage. Processa grandes quantidades de dados rapidamente e executa cargas de trabalho de ETL (extrair, transformar e carregar) com o Azure Databricks.
AKS (Serviço de Kubernetes do Azure) oferece uma infraestrutura para a criação de arquiteturas de aplicativos baseadas em serviço. O AKS fornece controle sobre estratégias de rede, dimensionamento e implantação, portanto, é ideal para ambientes complexos de microsserviços em larga escala. Para aplicativos menores, soluções gerenciadas por plataforma como Aplicativos de Contêiner do Azure são mais econômicas. Os Aplicativos de Contêiner eliminam as preocupações de gerenciamento de plataforma e simplificam o desenvolvimento para que você possa se concentrar na criação de aplicativos.
Importante
Aplicativos Spring do Azure se aposenta em 31 de março de 2028. Recomendamos Container Apps e AKS como serviços substitutos. Para obter mais informações, consulte o comunicado de desativação do Aplicativos Spring do Azure.
Você pode reprojetar o seu aplicativo de lote de mainframe usando .NET ou Java. O Batch fornece a infraestrutura necessária para executar este aplicativo em grande escala. O Batch cria e gerencia um conjunto de máquinas virtuais (VMs), instala os aplicativos e agenda trabalhos para serem executados nas VMs. Você não precisa instalar, gerenciar ou dimensionar o cluster ou o software de agendamento de trabalho. Escreva aplicativos em qualquer linguagem de programação compatível com Windows ou Linux.
Você pode fazer a reengenharia de programas batch COBOL ou PL/I de curta duração usando serviços do Azure, como Azure Functions, o recurso WebJobs do Serviço de Aplicativo do Azure ou Logic Apps.
Azure fornece vários serviços de dados para armazenamento e recuperação de dados.
Você pode migrar bancos de dados relacionais de mainframe, como Db2 e Informix, com alterações mínimas para Azure serviços de banco de dados relacionais, como SQL Server em Máquinas Virtuais do Azure, Banco de Dados SQL do Azure ou Instância Gerenciada de SQL do Azure. Você também pode usar um RDBMS (Sistema de Gerenciamento de Banco de Dados Relacional) de software livre, como Banco de Dados do Azure para PostgreSQL. Escolha um banco de dados Azure que atenda à sua carga de trabalho, consulta entre bancos de dados, confirmação em duas fases e outros requisitos.
Você pode migrar bancos de dados não relacionais de mainframe, como IMS, IDMS (Sistema de Gerenciamento de Dados Integrado) e VSAM para Azure Cosmos DB. Azure Cosmos DB fornece tempos de resposta rápidos, dimensionamento automático instantâneo e velocidade garantida em qualquer escala. Azure Cosmos DB é uma opção econômica para cargas de trabalho imprevisíveis ou esporádicas de qualquer tamanho ou escala, e não requer planejamento ou gerenciamento de capacidade.
O Redis Gerenciado do Azure pode acelerar aplicativos reprojetados.
Aplicativos, o sistema operacional e recursos de Azure podem usar agentes que enviam logs e métricas para Azure Monitor Logs.
O Application Insights monitora aplicativos migrados, detecta automaticamente anomalias de desempenho e oferece ferramentas de análise avançadas.
Log Analytics ajuda a armazenar, indexar, consultar e derivar análises de dados de log.
Para criar alertas e painéis, exportar dados para serviços externos ou realizar ações como escalonamento de VM, use a saída do Log Analytics e do Application Insights.
Essa camada fornece serviços Azure, como Azure DevOps e Microsoft Entra ID, para controle do código-fonte, segurança e gerenciamento de saída.
Componentes
Essa solução usa os seguintes componentes.
Rede e identidade
O Azure ExpressRoute é um serviço de conectividade que estende suas redes locais para a nuvem da Microsoft por meio de uma conexão privada de um provedor de conectividade. O ExpressRoute estabelece conexões para Microsoft serviços de nuvem, como Microsoft Azure e Microsoft 365. Nessa arquitetura, o ExpressRoute fornece conectividade segura e de alta largura de banda entre ambientes de mainframe locais e serviços do Azure.
Gateway de VPN do Azure é um gateway de rede virtual que envia tráfego criptografado entre uma rede virtual Azure e um local pela Internet pública. Nessa arquitetura, o Gateway de VPN fornece uma opção alternativa de conectividade para acesso aos recursos do Azure quando o ExpressRoute não está disponível.
O Microsoft Entra ID é um serviço de gerenciamento de identidade e acesso que pode ser sincronizado com um diretório local. Nessa arquitetura, Microsoft Entra ID fornece serviços de autenticação e autorização para que usuários e aplicativos possam acessar o sistema de lote reengenhado.
Aplicação
Os Aplicativos Lógicos são um serviço de nuvem que ajuda você a criar e executar tarefas e processos recorrentes automatizados em um agendamento. Os Aplicativos Lógicos chamam serviços dentro e fora do Azure, como pontos de extremidade HTTP ou HTTPS. Você pode usar o Logic Apps para enviar mensagens para serviços do Azure, como o Barramento de Serviço, ou fazer upload de arquivos para um compartilhamento de arquivos. Nessa arquitetura, os Aplicativos Lógicos fornecem recursos de orquestração e agendamento de fluxo de trabalho para disparar e coordenar processos em lotes.
Barramento de Serviço é um serviço de mensagens em nuvem que você pode usar para a comunicação entre uma interface do usuário e serviços de back-end. Barramento de Serviço pode desacoplar aplicativos e serviços e aumentar a confiabilidade e o uso. Nessa arquitetura, Barramento de Serviço fornece recursos de mensagens confiáveis para disparar processos em lotes e coordenar componentes do sistema reengenhados.
Azure Databricks é uma plataforma de análise baseada no Apache Spark e uma ferramenta de engenharia de dados baseada em nuvem que processa e transforma grandes quantidades de dados. Em seguida, você pode explorar esses dados usando modelos de machine learning. Nessa arquitetura, Azure Databricks fornece recursos de computação de alto desempenho, tempos de início rápidos do cluster e dimensionamento automático para processamento de carga de trabalho em lotes em grande escala.
O AKS é um serviço gerenciado do Kubernetes que simplifica a implantação de cluster kubernetes gerenciado em Azure. Azure gerencia tarefas operacionais para o AKS. Nessa arquitetura, o AKS orquestra contêineres para aplicativos em lotes reprojetados em uma arquitetura de microsserviços escalonável.
O Serviço de Aplicativo é um aplicativo Web, um back-end móvel e uma plataforma de API RESTful. Use o Serviço de Aplicativo para gerenciar a infraestrutura de hospedagem da Web durante o design e a implantação do aplicativo.
Os Aplicativos de Contêiner são uma plataforma sem servidor que reduz a infraestrutura e a sobrecarga do aplicativo em contêineres. Os Aplicativos de Contêiner gerenciam a configuração do servidor, a orquestração de contêineres e os detalhes da implantação e seus recursos de servidor protegem seus aplicativos.
Lote do Azure é um serviço de nuvem que executa a computação em nuvem em lotes de uso geral para várias VMs escalonáveis. O Batch oferece suporte a casos de uso de ETL e IA que envolvem várias tarefas paralelas e independentes. Nessa arquitetura, o Batch fornece infraestrutura de computação escalável para trabalhos em lote de mainframe reprojetados em múltiplas VMs.
Azure Functions é um serviço de computação sem servidor que executa pequenas partes de código. A infraestrutura de nuvem Azure Functions fornece servidores atualizados que executam aplicativos em escala. Nesta arquitetura, Azure Functions fornece computação sem servidor para programas em lotes de execução curta que são escritos em COBOL ou PL/I.
O recurso Aplicativos Web do Serviço de Aplicativo fornece um ambiente de hospedagem totalmente gerenciado para criar, implantar e dimensionar web apps e APIs. Para codificar a lógica de negócios em segundo plano reutilizável como trabalhos web, você pode usar WebJobs. Nessa arquitetura, o WebJobs fornece uma plataforma de processamento em lote em segundo plano.
Azure Managed Redis é um serviço de cache em memória totalmente gerenciado que escala e oferece desempenho altamente otimizado usando um armazenamento de dados em memória, como o Redis. Nessa arquitetura, o Redis Gerenciado do Azure fornece cache de alta velocidade para melhorar o desempenho de aplicativos em lotes reprojetados.
Armazenamento
O armazenamento do Azure fornece diversas camadas de dados quentes, frios e de arquivamento. O uso eficiente dessas camadas de armazenamento pode fornecer uma vantagem de preço para o desempenho.
Azure Cosmos DB é um serviço de banco de dados de NoSQL totalmente gerenciado que você pode usar para migrar dados não sintabulares de mainframes. Nessa arquitetura, Azure Cosmos DB fornece serviços de banco de dados NoSQL distribuídos globalmente para a migração de bancos de dados não relacionais de mainframe, como IMS, IDMS e VSAM.
Os Arquivos do Azure são um serviço de compartilhamento de arquivos totalmente gerenciado que fornece compartilhamentos de arquivos de nuvem simples, seguros e sem servidor. Você pode usar Arquivos do Azure como complemento para armazenamento SQL gerenciado em soluções de mainframe reengenhariadas. Nessa arquitetura, os Arquivos do Azure fornecem armazenamento de arquivos compartilhados que vários nós de processamento em lotes podem acessar.
O Armazenamento de Filas do Azure é um serviço de fila de mensagens durável e econômico para cargas de trabalho grandes. Nessa arquitetura, o Armazenamento de Filas fornece enfileiramento de mensagens confiáveis para execução de trabalho em lote e gerenciamento de fluxo de trabalho.
O SQL do Azure é uma família de serviços totalmente gerenciada para o SQL Server. Você pode migrar e usar dados relacionais com eficiência com outros serviços Azure, como Instância Gerenciada de SQL ou SQL Server em Máquinas Virtuais. Nessa arquitetura, o SQL do Azure fornece serviços de banco de dados relacional gerenciado para bancos de dados de mainframe migrados, como Db2 e Informix.
O Armazenamento de Blobs é um serviço de armazenamento de objetos escalonável e seguro para cargas de trabalho nativas de nuvem, arquivos, data lakes, computação de alto desempenho e machine learning. Nessa arquitetura, o Armazenamento de Blobs fornece armazenamento de objetos escalonável para arquivos de entrada em lote, dados de saída e resultados de processamento intermediários.
O Armazenamento de Tabelas do Azure é um repositório de chave-valor NoSQL para desenvolvimento rápido usando grandes conjuntos de dados semiestruturados. Nessa arquitetura, o Armazenamento de Tabelas fornece armazenamento NoSQL rápido para dados de pesquisa e metadados de processamento em lote.
Monitorização
- Azure Monitor é um serviço de monitoramento que fornece uma solução abrangente para a coleta, análise e ação de telemetria local e de nuvem. Azure Monitor inclui Application Insights, logs de Azure Monitor e recursos de Log Analytics. Nesta arquitetura, Azure Monitor fornece monitoramento de ponta a ponta e observabilidade para aplicativos em lotes reengenhados, incluindo métricas de desempenho, logs e alertas.
Gestão
Azure DevOps é um conjunto de ferramentas de desenvolvimento que ajudam você a reengenhar aplicativos mainframe em Azure durante cada fase de desenvolvimento de software e colaboração em equipe. Nessa arquitetura, Azure DevOps fornece recursos abrangentes de DevOps para controle do código-fonte, CI/CD (integração contínua/implantação contínua) e gerenciamento de projetos durante a reengenharia de mainframe. Azure DevOps fornece os seguintes serviços:
O Azure Artifacts é um serviço de gerenciamento de pacotes que dá suporte a feeds de pacotes Maven, npm, Python e NuGet de fontes públicas ou privadas. Nessa arquitetura, Azure Artifacts gerencia as dependências e bibliotecas necessárias para aplicativos mainframe reengenhados.
O Azure Boards é uma ferramenta ágil de gerenciamento de projetos que fornece recursos de acompanhamento, planejamento de sprint, visualização e relatórios de itens de trabalho. Nesta arquitetura, Azure Boards acompanha tarefas de desenvolvimento, histórias de usuário e marcos de migração.
O Azure Pipelines é um serviço de CI/CD que dá suporte a vários idiomas, plataformas e ambientes de nuvem, incluindo contêineres e Kubernetes. Nessa arquitetura, o Azure Pipelines automatiza os processos de build, teste e implantação para aplicativos mainframe reengenhados.
O Azure Repos é um serviço de repositório Git hospedado na nuvem que fornece repositórios privados ilimitados com solicitações de pull colaborativas e gerenciamento avançado de arquivos. Nesta arquitetura, Azure Repos fornece controle de versão para arquivos de configuração e código de aplicativo reengenhados.
Azure Test Plans é um serviço de gerenciamento de teste que fornece testes manuais, testes exploratórios e recursos de teste de aceitação do usuário. Nesta arquitetura, o Azure Test Plans verifica a qualidade e a funcionalidade dos aplicativos de mainframe reprojetados por meio de fluxos de trabalho de teste abrangentes.
Detalhes do cenário
Os mainframes processam grandes quantidades de dados. Você pode usar o processamento em lote para processar grandes volumes de transações agrupadas e, em seguida, fazer atualizações em massa no banco de dados. O processamento em lote do mainframe requer uma interação mínima ou nenhuma do usuário. Por exemplo, os sistemas de mainframe ajudam os bancos e outras instituições financeiras a concluir tarefas trimestrais de processamento e relatório, como relatórios trimestrais de ações ou produção de demonstrativos de pensão.
Possíveis casos de uso
Essa solução é ideal para as indústrias de finanças, seguros, saúde e varejo. 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 período específico, como no final do mês, trimestre ou ano.
- Processos leves e repetitivos de lote em mainframe que os sistemas externos podem precisar utilizar.
Colaboradores
A Microsoft mantém este artigo. Os colaboradores a seguir escreveram este artigo.
Autor principal:
Para ver perfis de LinkedIn não públicos, entre em LinkedIn.