Compartilhar via


Refatoração geral do mainframe para o Azure

Arquivos do Azure
Azure Load Balancer
Banco de Dados SQL do Azure
Armazenamento do Azure
Máquinas Virtuais do Azure

A arquitetura a seguir ilustra uma abordagem de refatoração geral que pode usar o AKS (Serviço Kubernetes do Azure) ou VMs (Máquinas Virtuais) do Azure. Essa opção depende da portabilidade de aplicativos existentes e de sua preferência. A refatoração pode acelerar a migração para o Azure convertendo automaticamente o código em Java ou .NET e convertendo bancos de dados pré-relacionais em bancos de dados relacionais.

Arquitetura de mainframe

Diagrama que mostra componentes de um sistema de mainframe típico.

Baixe um Arquivo Visio dessa arquitetura.

Fluxo de Trabalho

O fluxo de dados a seguir corresponde ao diagrama anterior:

  • Um: Os usuários locais acessam o mainframe pelo Protocolo de Controle de Transmissão/Protocolo de Internet (TCP/IP) usando protocolos de mainframe padrão, como TN3270 e HTTPS.

  • B: O recebimento de aplicativos pode ser sistemas em lotes ou online.

  • C: Os ambientes habilitados dão suporte a linguagens comuns orientadas a negócios (COBOL), PL/I (Linguagem de Programação Um), Assembler ou linguagens compatíveis.

  • D: Os serviços típicos de dados e banco de dados incluem sistemas de banco de dados hierárquicos ou de rede, arquivos de dados simples ou de índice e bancos de dados relacionais.

  • E: Os serviços comuns incluem implementação de programa, operações de entrada/saída, detecção de erros e proteção.

  • F: Os serviços de middleware e utilitário gerenciam o armazenamento em fita, filas, saída e serviços Web.

  • G: Os sistemas operacionais são a interface entre o mecanismo de computação e o software.

  • H: As partições executam cargas de trabalho separadas ou separam tipos de trabalho dentro do ambiente.

Arquitetura do Azure refatorada

Diagrama que mostra componentes de um sistema de mainframe refatorado no Azure.

A imagem é um diagrama detalhado que mostra componentes de um sistema de mainframe refatorado no Azure. A seção local inclui ícones para navegação na Web e acesso ao firewall por meio da porta TCP 443 para o Azure. A seção do Azure contém vários componentes: balanceadores de carga do Azure, um cluster de serviço do Kubernetes do Azure, máquinas virtuais e um grupo de segurança de rede. Esta seção tem duas subseções. Uma subseção contém um nó kubernetes, um servidor de aplicativos Java, serviços Java, classes Java de parceiros, disco gerenciado SSD, rede acelerada com RDMA, Arquivos do Azure, Azure NetApp Files e CIFS ou NFS. A segunda subseção contém o servidor de aplicativos refatorado, os runtimes de transação do cliente, a integração de serviços de dados de parceiros, aplicativos como COBOL e PL/I App 1 e App 2, disco gerenciado por SSD, rede acelerada com RDMA, Arquivos do Azure e CIFS ou NFS. Várias setas de dois lados conectam essas subseções a outras seções no diagrama. A seção Bancos de Dados SQL do Azure inclui um servidor de banco de dados primário e um servidor de banco de dados secundário, conectado por setas de dois lados à seção Link Privado do Banco de Dados SQL do Azure. A seção da conta de Armazenamento de Blobs do Azure contém uma zona de destino de fontes externas e contêineres de Blob do Azure. A seção de serviços de dados inclui o Azure Data Factory, a conta de armazenamento de Arquivos do Azure e o Azure Site Recovery. Uma seção que agrupa a ID do Microsoft Entra, a Rede do Azure, o Azure Stream Analytics, o Azure Databricks e o Power BI pode ser integrada ao sistema.

Baixe um Arquivo Visio dessa arquitetura.

Fluxo de Trabalho

O fluxo de dados a seguir corresponde ao diagrama anterior:

  1. A entrada vem de clientes remotos por meio do Azure ExpressRoute ou de outros usuários do Azure. O TCP/IP é a principal maneira de se conectar ao sistema.

    • Os usuários locais podem acessar aplicativos baseados na Web, por meio da porta TLS (Transport Layer Security) 443. As camadas de apresentação dos aplicativos Web podem permanecer inalteradas para minimizar o treinamento do usuário. Ou você pode atualizar as camadas de apresentação com estruturas de UX modernas.

    • O acesso administrativo local usa hosts do Azure Bastion para maximizar a segurança, minimizando as portas abertas.

    • Os usuários do Azure se conectam ao sistema por meio do emparelhamento de rede virtual.

  2. No Azure, o Azure Load Balancer gerencia o acesso aos clusters de computação do aplicativo. O Load Balancer dá suporte a recursos de computação de expansão para lidar com a entrada. Você pode usar um nível de aplicativo nível 7 ou um balanceador de carga de nível de rede de nível 4, dependendo de como a entrada do aplicativo atinge o ponto de entrada do cluster de computação.

  3. Os clusters de computação de aplicativo podem ser executados em VMs do Azure ou executados em contêineres em clusters do AKS. A emulação do sistema mainframe para aplicativos PL/I ou COBOL normalmente usa VMs. Os aplicativos refatorados para Java ou .NET usam contêineres. Alguns softwares de emulação de sistema de mainframe também dão suporte à implantação em contêineres. Os recursos de computação usam discos SSD Premium do Azure ou Armazenamento de Disco Ultra do Azure com rdma (rede acelerada e acesso remoto à memória direta).

  4. Os servidores de aplicativos nos clusters de computação hospedam os aplicativos com base no recurso de linguagem, como classes Java ou programas COBOL. Os servidores recebem a entrada do aplicativo e compartilham o estado e os dados do aplicativo usando o Cache do Azure para Redis ou RDMA.

  5. Os serviços de dados nos clusters de aplicativos dão suporte a várias conexões com fontes de dados persistentes. O Link Privado do Azure fornece conectividade privada de uma rede virtual aos serviços de PaaS do Azure. As fontes de dados podem incluir:

    • Serviços de dados paaS (plataforma como serviço), como o Banco de Dados SQL do Azure, o Azure Cosmos DB e o Banco de Dados do Azure para PostgreSQL – Hiperescala.

    • Bancos de dados em VMs, como Oracle ou DB2.

    • Repositórios de Big Data, como o Azure Databricks e o Azure Data Lake Storage.

    • Serviços de dados de streaming como Apache Kafka e Azure Stream Analytics.

  6. O armazenamento de dados pode ser redundante local ou com redundância geográfica, dependendo do uso. O armazenamento de dados pode usar uma combinação de:

    • Armazenamento de alto desempenho com Armazenamento em Disco Ultra ou SSD Premium.

    • Armazenamento de arquivos com Azure NetApp Files ou Arquivos do Azure.

    • Armazenamento padrão, incluindo opções de blob, arquivo morto e backup.

  7. Os serviços de dados de PaaS do Azure fornecem armazenamento de dados escalonável e altamente disponível que você pode compartilhar entre os recursos de cluster de computação. Esse armazenamento também pode ser com redundância geográfica.

    • O Armazenamento de Blobs do Azure é uma zona de aterrissagem comum para fontes de dados externas.

    • O Azure Data Factory dá suporte à ingestão de dados e à sincronização de várias fontes de dados externas e do Azure.

  8. O Azure Site Recovery fornece recuperação de desastre (DR) para componentes de VM e cluster de contêiner.

  9. Serviços como Microsoft Entra ID, Rede do Azure, Stream Analytics, Azure Databricks e Power BI podem se integrar facilmente ao sistema modernizado.

Componentes

Este exemplo apresenta os seguintes componentes do Azure. Vários desses componentes e fluxos de trabalho são intercambiáveis ou opcionais, dependendo do seu cenário.

  • O ExpressRoute é um serviço que estende suas redes locais para o Azure por meio de uma conexão de fibra privada dedicada de um provedor de conectividade. Nessa arquitetura, o ExpressRoute estabelece conexões com serviços de nuvem da Microsoft, como o Azure e o Microsoft 365.

  • O Azure Bastion é um serviço de PaaS que fornece conectividade contínua de PROTOCOLO RDP (Protocolo de Área de Trabalho Remota) ou SSH (secure shell) para VMs de rede virtual do portal do Azure via TLS. Nessa arquitetura, o Azure Bastion maximiza a segurança de acesso administrativo minimizando portas abertas.

  • Load Balancer é um serviço que distribui o tráfego de entrada para os clusters de recursos de computação. Use esse componente para definir regras e outros critérios para distribuir o tráfego. O Load Balancer permite que os recursos de computação de expansão processem o trabalho de entrada, o que ajuda a garantir uma distribuição de carga eficiente.

  • O AKS é um serviço Kubernetes totalmente gerenciado para implantar e gerenciar aplicativos em contêineres. Nessa arquitetura, o AKS fornece Kubernetes sem servidor, uma experiência integrada de CI/CD (integração contínua e entrega contínua) e segurança e governança de nível empresarial.

  • As Máquinas Virtuais do Azure são um serviço que fornece muitos tamanhos e tipos de recursos de computação sob demanda e escalonáveis. Esse componente fornece a flexibilidade da virtualização sem a necessidade de comprar e manter o hardware físico.

  • A Rede Virtual do Azure serve como o bloco de construção fundamental das redes privadas do Azure. Uma rede virtual é como uma rede local tradicional, mas tem benefícios de infraestrutura do Azure, como escalabilidade, alta disponibilidade e isolamento. Esse componente permite que as VMs do Azure em redes virtuais se comuniquem com mais segurança entre si, com a Internet e com as redes locais.

  • O Link Privado é um serviço que fornece conectividade privada de uma rede virtual para os serviços do Azure. Nessa arquitetura, o Link Privado simplifica a arquitetura de rede e protege a conexão entre pontos de extremidade do Azure eliminando a exposição à Internet pública.

  • O Cache do Azure para Redis é um serviço totalmente gerenciado que adiciona uma camada de cache rápido à arquitetura do aplicativo para lidar com grandes volumes em alta velocidade. Esse componente de arquitetura dimensiona o desempenho de maneira simples e econômica.

  • O Armazenamento do Azure é um serviço baseado em nuvem que fornece armazenamento em nuvem escalonável e seguro para todos os seus dados, aplicativos e cargas de trabalho. Nessa arquitetura, o Armazenamento fornece a infraestrutura de armazenamento necessária para vários tipos de dados e aplicativos.

    • O Armazenamento de Disco do Azure é um serviço de armazenamento em bloco durável de alto desempenho para aplicativos comercialmente críticos. Os discos gerenciados do Azure são volumes de armazenamento em nível de bloco que o Azure gerencia em VMs do Azure. Os tipos disponíveis de discos são Armazenamento em Disco Ultra, SSD Premium, SSD Standard do Azure e HDD Standard do Azure. Essa arquitetura usa discos SSD Premium ou Armazenamento de Disco Ultra.

    • Os Arquivos do Azure são um serviço de armazenamento de arquivos totalmente gerenciado baseado em nuvem que fornece compartilhamentos de arquivos na nuvem. Esses compartilhamentos de arquivos são acessíveis por meio do protocolo SMB (Bloco de Mensagens do Servidor) padrão do setor. Nessa arquitetura, os Arquivos do Azure fornecem compartilhamentos de arquivos gerenciados para implantações locais e de nuvem. Implantações locais ou na nuvem do Windows, Linux e macOS podem montar compartilhamentos de arquivo do Arquivos do Azure ao mesmo tempo.

    • O Azure NetApp Files é um serviço de armazenamento de arquivos totalmente gerenciado que fornece compartilhamentos de arquivos do Azure de nível empresarial alimentados pelo NetApp. Use-o para migrar e executar aplicativos complexos baseados em arquivo sem a necessidade de alterações de código.

    • O Armazenamento de Blobs é um armazenamento de objetos escalonável e seguro para arquivos, data lakes, computação de alto desempenho, aprendizado de máquina e cargas de trabalho nativas da nuvem. Nessa arquitetura, o Armazenamento de Blobs serve como uma zona de destino comum para fontes de dados externas.

  • Os bancos de dados do Azure fornecem uma opção de bancos de dados relacionais e NoSQL totalmente gerenciados para atender às necessidades modernas do aplicativo. O gerenciamento automatizado de infraestrutura fornece escalabilidade, disponibilidade e segurança.

    • O Banco de Dados SQL é um mecanismo de banco de dados PaaS totalmente gerenciado. Nessa arquitetura, ele fornece armazenamento de dados escalonável e altamente disponível para compartilhar em vários recursos de computação em um cluster. O Banco de Dados SQL sempre é executado na versão estável mais recente do SQL Server e em um sistema operacional corrigido com 99,99% disponibilidade. Os recursos internos de gerenciamento de banco de dados de PaaS incluem atualização, aplicação de patches, backups e monitoramento. Você pode usar o Banco de Dados SQL para se concentrar na administração e otimização de banco de dados comercialmente críticas e específicas do domínio.

    • O Banco de Dados do Azure para PostgreSQL é um banco de dados totalmente gerenciado com base no mecanismo de banco de dados relacional Postgres de software livre. Nessa arquitetura, ela fornece a opção de implantação de Hiperescala (Citus), que dimensiona consultas em vários computadores usando fragmentação. Essa funcionalidade é útil para aplicativos que exigem maior escala e desempenho.

    • O Azure Cosmos DB é um banco de dados NoSQL totalmente gerenciado e rápido que tem APIs abertas para qualquer escala. Nessa arquitetura, o Azure Cosmos DB fornece armazenamento de dados escalonável e altamente disponível para vários aplicativos.

  • O Site Recovery é um serviço de recuperação de desastre que espelha as VMs do Azure para uma região secundária do Azure. Essa funcionalidade habilitará o failover e a recuperação rápidos se ocorrer uma falha no datacenter do Azure. Nessa arquitetura, o Site Recovery dá suporte à DR para os componentes de cluster de contêiner e VM.

Detalhes do cenário

As cargas de trabalho de refatoração para o Azure podem transformar aplicativos de mainframe executados no Windows Server ou Linux. Você pode executar esses aplicativos de forma mais econômica usando a infraestrutura do Azure baseada em nuvem como um serviço e PaaS.

A abordagem de refatoração geral para aplicativos mainframe impulsiona a transformação de infraestrutura e desloca os sistemas de tecnologias proprietárias herdadas para soluções padronizadas, com benchmark e abertas. Essa transformação dá suporte a princípios de DevOps ágeis, que são a base dos padrões atuais de alta produtividade e sistemas abertos. A refatoração substitui infraestruturas, processos e aplicativos herdados isolados por um ambiente unificado que aprimora o alinhamento comercial e de TI.

Essa abordagem de refatoração geral pode usar VMs do AKS ou do Azure. A escolha depende da portabilidade de aplicativos existentes e de sua preferência. A refatoração pode acelerar a migração para o Azure convertendo automaticamente o código em Java ou .NET e convertendo bancos de dados pré-relacionais em bancos de dados relacionais.

A refatoração dá suporte a vários métodos para mover cargas de trabalho do cliente para o Azure. Um método é converter e migrar todo o sistema de mainframe para o Azure em um único processo abrangente. Essa abordagem elimina a necessidade de custos provisórios de manutenção de mainframe e suporte a instalações. No entanto, esse método traz algum risco porque todos os processos de conversão de aplicativos, migração de dados e teste devem ser alinhados para garantir uma transição suave do mainframe para o Azure.

Outro método é migrar aplicativos do mainframe para o Azure gradualmente, com o objetivo de fazer a transição ao longo do tempo. Essa abordagem fornece economia de custos para cada aplicativo. Ele também oferece uma oportunidade de aprender com cada conversão para informar e melhorar as migrações subsequentes. Esse método fornece uma alternativa mais gerenciável e menos intensiva para migrar tudo de uma vez modernizando cada aplicativo de acordo com sua própria agenda.

Possíveis casos de uso

A refatoração no Azure pode ajudar as organizações a:

  • Modernizar a infraestrutura e evitar os altos custos, limitações e rigidez dos mainframes.
  • Migre cargas de trabalho de mainframe para a nuvem, evitando as complexidades de um redesenvolvimento completo.
  • Migre aplicativos comercialmente críticos, mantendo a continuidade com outros aplicativos locais.
  • Beneficie-se da escalabilidade horizontal e vertical no Azure.
  • Obtenha recursos de recuperação de desastre.

Considerações

Essas considerações implementam os pilares do Azure Well-Architected Framework​, um conjunto de princípios orientadores que você pode usar para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Well-Architected Framework.

Fiabilidade

A confiabilidade ajuda a garantir que seu aplicativo possa cumprir os compromissos que você faz aos seus clientes. Para obter mais informações, consulte Lista de verificação de revisão de design para confiabilidade.

Nessa arquitetura, o Site Recovery espelha as VMs do Azure em uma região secundária do Azure para failover rápido e DR se o datacenter primário do Azure falhar.

Segurança

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

  • Essa solução usa um NSG (grupo de segurança de rede) do Azure para gerenciar o tráfego entre os recursos do Azure. Para obter mais informações, confira NSGs.

  • O link privado fornece conexões diretas e privadas isoladas para o backbone de rede do Azure entre as VMs do Azure e os serviços do Azure.

  • O Azure Bastion maximiza a segurança de acesso administrativo, minimizando as portas abertas. O Azure Bastion fornece conectividade RDP e SSH altamente seguras e perfeitas para VMs de rede virtual do portal do Azure por TLS.

Otimização de custos

A Otimização de Custos concentra-se em 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 para otimização de custos.

  • O Azure evita custos desnecessários identificando o número correto de tipos de recursos, analisando os gastos ao longo do tempo e dimensionando para atender às necessidades dos negócios sem gastar muito. O Azure fornece a otimização de custos ao executar em VMs. Você pode desativar as VMs quando elas não estiverem em uso e criar um script para padrões de uso conhecidos. Para obter mais informações, consulte Azure Well-Architected Framework and Recommendations for optimizing component costs.

  • As VMs nessa arquitetura usam discos SSD Premium ou Armazenamento de Disco Ultra. Para obter mais informações, confira Preço dos Managed Disks.

  • O Banco de Dados SQL otimiza os custos usando recursos de computação e armazenamento de Hiperescala sem servidor que são dimensionados automaticamente. Para obter mais informações, consulte os preços do Banco de Dados SQL.

Use a calculadora de preços do Azure para estimar os custos para a implementação dessa solução.

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 para Excelência Operacional.

A refatoração dá suporte à adoção mais rápida da nuvem e promove a adoção de princípios de trabalho de DevOps e Agile. Você tem flexibilidade total nas opções de implantação de desenvolvimento e produção.

Eficiência de desempenho

A Eficiência de Desempenho refere-se à capacidade da carga de trabalho de dimensionar para atender às demandas do usuário com eficiência. Para obter mais informações, consulte Lista de verificação de revisão de design para eficiência de desempenho.

Os balanceadores de carga integram a eficiência de desempenho a essa solução. Se uma apresentação ou servidor de transação falhar, os outros servidores por trás dos balanceadores de carga manipularão as cargas de trabalho.

Colaboradores

A Microsoft mantém este artigo. Os colaboradores a seguir escreveram este artigo.

Autor principal:

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

Próximas etapas