Editar

Partilhar via


Refatoração geral de mainframe para o Azure

Azure Files
Azure Load Balancer
Azure SQL Database
Azure Storage
Azure Virtual Machines

A arquitetura a seguir ilustra uma abordagem geral de refatoração que pode usar o Serviço Kubernetes do Azure (AKS) ou máquinas virtuais (VMs) do Azure. A escolha depende da portabilidade das aplicações existentes e da sua preferência. A refatoração pode acelerar a mudança para o Azure convertendo automaticamente o código em Java ou .NET e convertendo bancos de dados pré-relacionais em relacionais.

Arquitetura do mainframe

Diagrama arquitetônico mostrando componentes de um sistema de mainframe típico.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de Trabalho

  • Os usuários locais acessam o mainframe sobre TCP/IP usando protocolos de mainframe padrão como TN3270 e HTTPS (A).
  • As candidaturas recebidas podem ser em lote ou em linha (B).
  • COBOL, PL/I, Assembler ou linguagens compatíveis são executadas em ambientes habilitados (C).
  • Os dados típicos e os serviços de banco de dados incluem sistemas de banco de dados hierárquicos ou de rede, arquivos de dados de índice ou simples e bancos de dados relacionais (D).
  • Os serviços comuns incluem execução de programas, operações de E/S, deteção de erros e proteção (E).
  • Os serviços de middleware e utilitários gerenciam o armazenamento em fita, a fila, a saída e os serviços Web (F).
  • Os sistemas operativos são a interface entre o motor de computação e o software (G).
  • As partições executam cargas de trabalho separadas ou segregam tipos de trabalho dentro do ambiente (H).

Arquitetura refatorada do Azure

Diagrama de arquitetura mostrando componentes de um sistema de mainframe refatorado no Azure.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de Trabalho

  1. A entrada vem de clientes remotos via Rota Expressa ou de outros usuários do Azure. O TCP/IP é a principal forma de ligação ao sistema.

    • Os usuários locais podem acessar aplicativos baseados na Web pela porta 443 do Transport Layer Security (TLS). As camadas de apresentação dos aplicativos Web podem permanecer inalteradas, para minimizar o retreinamento do usuário final. Ou, você pode atualizar as camadas de apresentação com estruturas 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 Balanceador de Carga do Azure gerencia o acesso aos clusters de computação do aplicativo. O Load Balancer suporta recursos de computação escaláveis para lidar com a entrada. Você pode usar um balanceador de carga de nível de aplicativo de nível 7 ou 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 aplicativos podem ser executados em VMs do Azure ou em contêineres em clusters AKS. Normalmente, a emulação de sistema de mainframe para aplicativos PL/I ou COBOL usa VMs, e aplicativos refatorados para Java ou .NET usam contêineres. Alguns softwares de emulação de sistemas de mainframe também suportam a implantação em contêineres. Os recursos de computação utilizam discos geridos por unidades de estado sólido (SSD) premium ou ultra com Rede Acelerada e Acesso Remoto Direto à Memória (RDMA).

  4. Os servidores de aplicativos nos clusters de computação hospedam os aplicativos baseados na capacidade de linguagem, como classes Java ou programas COBOL. Os servidores recebem entrada de 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 oferecem suporte a várias conexões com fontes de dados persistentes. O Azure Private Link fornece conectividade privada de dentro da rede virtual para os serviços do Azure. As fontes de dados podem incluir:

    • Serviços de dados PaaS, como o Banco de Dados SQL do Azure, o Azure Cosmos DB e o Banco de Dados do Azure para PostgreSQL - Hyperscale.
    • Bancos de dados em VMs, como Oracle ou DB2.
    • Repositórios de Big Data como o Azure Databricks e o Azure Data Lake.
    • Serviços de streaming de dados como Apache Kafka e Azure Stream Analytics.
  6. O armazenamento de dados pode ser redundante local ou georredundante, dependendo do uso. O armazenamento de dados pode usar uma combinação de:

    • Armazenamento de alto desempenho com discos SSD ultra ou premium.
    • Armazenamento de ficheiros com os Ficheiros NetApp do Azure ou os Ficheiros do Azure.
    • Armazenamento padrão, incluindo armazenamento de blob, arquivamento e backup.
  7. Os serviços de dados PaaS do Azure fornecem armazenamento de dados escalável e altamente disponível que você pode compartilhar entre recursos de cluster de computação. Esse armazenamento também pode ser redundante geograficamente.

    • O Armazenamento de Blobs do Azure é uma zona de aterrissagem comum para fontes de dados externas.
    • O Azure Data Factory dá suporte à ingestão e sincronização de dados de várias fontes de dados do Azure e externas.
  8. O Azure Site Recovery fornece DR para componentes de cluster de VM e contêiner.

  9. Serviços como Microsoft Entra ID, Azure Networking, Azure Stream Analytics, Azure Databricks e Power BI podem ser facilmente integrados 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 Azure ExpressRoute estende suas redes locais para o Azure por meio de uma conexão de fibra privada e dedicada de um provedor de conectividade. O ExpressRoute estabelece conexões com os serviços de nuvem da Microsoft, como o Azure e o Microsoft 365.

  • O Azure Bastion fornece conectividade perfeita de protocolo de área de trabalho remota (RDP) ou shell seguro (SSH) para VMs de rede virtual do portal do Azure sobre TLS. O Azure Bastion maximiza a segurança de acesso administrativo minimizando as portas abertas.

  • O Azure Load Balancer distribui o tráfego de entrada para os clusters de recursos de computação. Você pode definir regras e outros critérios para distribuir o tráfego.

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

  • As Máquinas Virtuais do Azure oferecem vários tamanhos e tipos de recursos de computação escaláveis sob demanda. Com as VMs do Azure, você obtém a flexibilidade da virtualização sem precisar comprar e manter hardware físico.

  • A Rede Virtual do Azure é o bloco de construção fundamental das redes privadas do Azure. As VMs do Azure em redes virtuais podem se comunicar com segurança entre si, com a Internet e com redes locais. Uma rede virtual é como uma rede local tradicional, mas com benefícios de infraestrutura do Azure, como escalabilidade, alta disponibilidade e isolamento.

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

  • O Cache Redis do Azure adiciona uma camada de cache rápida à arquitetura do aplicativo para lidar com grandes volumes em alta velocidade. O Cache Redis do Azure dimensiona o desempenho de forma simples e econômica, com os benefícios de um serviço totalmente gerenciado.

  • O Armazenamento do Azure oferece armazenamento em nuvem escalável e seguro para todos os seus dados, aplicativos e cargas de trabalho.

    • O Armazenamento em Disco do Azure é um armazenamento em bloco durável e de alto desempenho para aplicativos críticos para os negócios. Os discos gerenciados do Azure são volumes de armazenamento em nível de bloco gerenciados pelo Azure em VMs do Azure. Os tipos de discos disponíveis são ultra discos, SSDs premium, SSDs padrão e unidades de disco rígido padrão (HDDs). Esta arquitetura utiliza SSDs premium ou SSDs ultra-disco.

    • O Azure Files oferece compartilhamentos de arquivos totalmente gerenciados na nuvem que podem ser acessados por meio do protocolo SMB (Server Message Block) padrão do setor. As implantações de Windows, Linux e macOS locais e na nuvem podem montar compartilhamentos de arquivos do Azure Files simultaneamente.

    • O Azure NetApp Files fornece compartilhamentos de arquivos do Azure de nível empresarial com tecnologia NetApp. O NetApp Files facilita para as empresas a migração e a execução de aplicativos complexos baseados em arquivos sem alterações de código.

    • O Armazenamento de Blobs do Azure é um armazenamento de objetos escalável e seguro para arquivos, data lakes, computação de alto desempenho, aprendizado de máquina e cargas de trabalho nativas da nuvem.

  • Os bancos de dados do Azure oferecem uma escolha de bancos de dados relacionais e NoSQL totalmente gerenciados para atender às necessidades modernas de aplicativos. O gerenciamento automatizado de infraestrutura oferece escalabilidade, disponibilidade e segurança.

    • O Banco de Dados SQL do Azure é um mecanismo de banco de dados PaaS totalmente gerenciado. O Banco de dados SQL sempre é executado na versão estável mais recente do SQL Server e em um sistema operacional com patch com 99,99% de disponibilidade. Os recursos integrados de gerenciamento de banco de dados PaaS incluem atualização, aplicação de patches, backups e monitoramento. Você pode se concentrar na administração e otimização de bancos de dados específicos do domínio e críticos para os negócios.

    • 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 código aberto. A opção de implantação Hyperscale (Citus) dimensiona consultas em várias máquinas usando fragmentação, para aplicativos que exigem maior escala e desempenho.

    • O Azure Cosmos DB é um banco de dados NoSQL rápido e totalmente gerenciado com APIs abertas para qualquer escala.

  • O Azure Site Recovery espelha as VMs do Azure em uma região secundária do Azure para failover rápido e DR se um datacenter do Azure falhar.

Detalhes do cenário

A refatoração de cargas de trabalho para o Azure pode transformar aplicativos de mainframe executados no Windows Server ou Linux. Você pode executar esses aplicativos de forma mais econômica com a infraestrutura do Azure como serviço (IaaS) e a plataforma como serviço (PaaS) baseada em nuvem.

A abordagem geral de refatoração para aplicativos de mainframe também impulsiona a transformação da infraestrutura de tecnologias legadas proprietárias em tecnologias padronizadas, comparadas e abertas. Essa transformação promove princípios ágeis de DevOps que são o padrão atual de alta produtividade e sistemas abertos. A refatoração faz a transição de ilhas de infraestruturas, processos e aplicativos legados exclusivos para uma terra unificada de melhor alinhamento de negócios e TI.

Essa abordagem geral de refatoração pode usar o Serviço Kubernetes do Azure (AKS) ou máquinas virtuais (VMs) do Azure. A escolha depende da portabilidade das aplicações existentes e da sua preferência. A refatoração pode acelerar a mudança para o Azure convertendo automaticamente o código em Java ou .NET e convertendo bancos de dados pré-relacionais em relacionais.

A refatoração dá suporte a diferentes metodologias para mover cargas de trabalho de cliente para o Azure. Um método é converter e mover todo o sistema de mainframe para o Azure de uma só vez, economizando custos provisórios de manutenção de mainframe e suporte de instalações. Esta abordagem comporta alguns riscos. Todos os processos de conversão de aplicativos, migração de dados e testes devem ser alinhados para uma transição suave do mainframe para o Azure.

Uma segunda metodologia é mover aplicativos do mainframe para o Azure gradualmente, com a transição completa como o objetivo final. Essa tática proporciona economia por aplicativo, e as lições aprendidas para converter cada aplicativo podem ajudar com conversões posteriores. Modernizar cada aplicativo em seu próprio cronograma pode ser mais relaxado do que converter tudo de uma vez.

Potenciais casos de utilização

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

  • Modernize a infraestrutura e escape dos altos custos, limitações e rigidez dos mainframes.
  • Mova cargas de trabalho de mainframe para a nuvem sem os efeitos colaterais de um redesenvolvimento completo.
  • Migre aplicativos críticos para os negócios e, ao mesmo tempo, mantenha a continuidade com outros aplicativos locais.
  • Beneficie-se da escalabilidade horizontal e vertical do Azure.
  • Obtenha recursos de recuperação de desastres (DR).

Considerações

As seguintes considerações, baseadas no Azure Well-Architected Framework, aplicam-se a esta solução:

Disponibilidade

O Azure 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.

Operações

A refatoração não só suporta uma adoção mais rápida da nuvem, mas também promove a adoção de princípios de trabalho DevOps e Agile. Você tem total flexibilidade nas opções de implantação de desenvolvimento e produção.

Resiliência

A eficiência de desempenho é incorporada a esta solução pelos balanceadores de carga. Se um servidor de apresentação ou transação falhar, outros servidores por trás dos balanceadores de carga poderão executar as cargas de trabalho.

Segurança

Esta solução utiliza um grupo de segurança de rede (NSG) do Azure para gerir o tráfego entre recursos do Azure. Para obter mais informações, consulte Grupos de segurança de rede.

O Private Link fornece conexões privadas e diretas isoladas ao 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. Bastion fornece conectividade RDP e SSH segura e contínua para VMs de rede virtual do portal do Azure sobre TLS.

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 de negócios sem gastos excessivos.

  • O Azure fornece otimização de custos executando em VMs. Você pode desativar as VMs quando não estiverem em uso e criar um script para padrões de uso conhecidos. Consulte o Azure Well-Architected Framework para obter mais informações sobre otimização de custos para instâncias de VM.

  • As VMs nessa arquitetura usam SSDs premium ou SSDs ultra disco. Para obter mais informações sobre opções de disco e preços, consulte Preços de discos gerenciados.

  • O Banco de dados SQL otimiza os custos com computação sem servidor e recursos de armazenamento Hyperscale que são dimensionados automaticamente. Para obter mais informações sobre opções e preços do Banco de Dados SQL, consulte Preços do Banco de Dados SQL do Azure.

Use a calculadora de preços para estimar os custos para a implementação desta solução.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Autor principal:

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

Próximos passos