Editar

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. A escolha depende da portabilidade dos aplicativos existentes e de sua preferência. A refatoração pode acelerar a movimentação para o Azure convertendo automaticamente o código para Java ou .NET e convertendo o pré-compilado em bancos de dados relacionais.

Arquitetura de mainframe

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

Baixe um Arquivo Visio dessa arquitetura.

Workflow

  • Os usuários locais acessam o mainframe sobre TCP/IP usando protocolos de mainframe padrão como TN3270 e HTTPS (A).
  • O recebimento de aplicativos pode ser em lote ou de sistemas online (B).
  • As linguagens COBOL, PL/I, Assembler ou 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 índice ou de arquivo simples, além de bancos de dado (D).
  • Os serviços comuns incluem execução do programa, operações de E/S, detecção de erros e proteção (E).
  • Os serviços de middleware e utilitário gerenciam o armazenamento em fita, o enfileiramento, a saída e os serviços Web (F).
  • Os sistemas operacionais são a interface entre o mecanismo de computação e o software (G).
  • As partições executam cargas de trabalho separadas ou segregam tipos de trabalhos dentro do ambiente (H).

Arquitetura do Azure refatorada

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

Baixe um Arquivo Visio dessa arquitetura.

Workflow

  1. A entrada vem de clientes remotos via 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 retreinamento do usuário final. Ou então, você pode atualizá-las 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 AKS. Normalmente, a emulação de sistema de mainframe para aplicativos PL/I ou COBOL usa VMs, e os aplicativos refatoram para os contêineres de uso Java ou .NET. 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 gerenciados premium ou ultra, ou unidade de estado sólido (SSD) com Rede Acelerada e Acesso Remoto Direto à Memória (RDMA).

  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 dados e estado 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 de PaaS, como Banco de Dados SQL do Azure, Azure Cosmos DB e o Azure Database para PostgreSQL - Hiperescala.
    • Bancos de dados em VMs, como Oracle ou DB2.
    • Repositórios de Big data como Azure Databricks e Azure Data Lake.
    • 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 discos SSD ultra ou premium.
    • Armazenamento de arquivos com Azure NetApp Files ou Arquivos do Azure.
    • Armazenamento Standard, incluindo BLOB, arquivamento e armazenamento de 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. Azure Site Recovery fornece DR para componentes de cluster de VM e de contêiner.

  9. Serviços como ID do Microsoft Entra, Rede do Azure, Azure Stream Analytics, Azure Databricks e Power BI podem facilmente se integrar 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 permite que você estenda sua rede local ao Azure por meio de conexão por fibra privada e dedicada advinda de um provedor de conectividade. O ExpressRoute estabelece conexões com serviços de nuvem da Microsoft, como Azure e Microsoft 365.

  • O Azure Bastion fornece conectividade de protocolo RDP contínuo (RDP) ou Secure Shell (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 AKS (Serviço de Kubernetes do Azure) é o serviço Kubernetes totalmente gerenciado para implantar e gerenciar aplicativos conteinerizados com facilidade. O AKS oferece Kubernetes sem servidor, uma experiência integrada de CI/CD (integração contínua, entrega contínua) e segurança e governança de nível corporativo.

  • As máquinas virtuais do Azure oferecem muitos tamanhos e tipos de recursos de computação sob demanda e escalonáveis. Com as VMs do Azure, você tem a flexibilidade da virtualização sem a necessidade de comprar e manter o hardware físico.

  • A Rede Virtual do Azure é o componente fundamental para redes privadas do Azure. As VMs do Azure em redes virtuais podem se comunicar de forma segura entre si, com a Internet e as 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 Link Privado do Azure fornece conectividade privada de uma rede virtual aos serviços do Azure. O Link Privado simplifica a arquitetura de rede e protege a conexão entre os pontos de extremidade do Azure eliminando a exposição da Internet pública.

  • O Cache do Azure para Redis adiciona uma camada de cache rápido à arquitetura do aplicativo para lidar com grandes volumes em alta velocidade. O Cache do Azure para Redis 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 escalonável e seguro para todos os seus dados, aplicativos e cargas de trabalho.

    • O Armazenamento em Disco do Azure oferece armazenamento de bloco durável e de alto desempenho para aplicativos críticos e comercialmente críticos. Os discos gerenciados do Azure são volumes de armazenamento em nível de bloco que são gerenciados pelo Azure e usados com VMs do Azure. Os tipos de discos disponíveis são disco ultra, SSDs premium, SSDs standard e HDDs (unidades de disco rígido) standard. Essa arquitetura usa SSDs Premium ou SSDs de disco ultra.

    • Os Arquivos do Azure oferecem compartilhamentos de arquivos totalmente gerenciados na nuvem que são acessíveis por meio do protocolo SMB padrão do setor. 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 fornece compartilhamentos de arquivos do Azure de nível empresarial fornecidos pela NetApp. O NetApp Files torna mais fácil para as empresas migrar e executar aplicativos complexos baseados em arquivos sem alterações de código.

    • O Armazenamento de Blobs do Azure é um armazenamento de objetos escalonável e seguro para arquivos, data lakes, computação de alto desempenho, machine learning e cargas de trabalho nativas de nuvem.

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

    • O Banco de Dados SQL do Azure é um mecanismo de banco de dados de 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 por cento de disponibilidade. Os recursos internos de gerenciamento de banco de dados de PaaS incluem atualização, aplicação de patches, backups e monitoramento. Você pode se concentrar em administração e otimização de banco de dados de negócios e crítico para o 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. A opção de implantação de Hiperescala (Citus) escala as consultas entre vários computadores usando a fragmentação, a fim de atender a aplicativos que exigem mais escala e desempenho.

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

  • OAzure Site Recovery espelhará as VMs do Azure para uma região secundária do Azure, a fim de obter failover rápido e DR, se um datacenter do Azure falhar.

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 com a IaaS (infraestrutura como serviço) baseada em nuvem e PaaS (plataforma como serviço) do Azure.

A abordagem de refatoração geral para aplicativos de mainframe também impulsiona a transformação de infraestrutura de um proprietário herdado, em tecnologias padronizadas, de parâmetro de comparação e abertas. Essa transformação promove princípios de DevOps ágeis que são o padrão da alta produtividade e dos sistemas abertos de hoje. A refatoração faz a transição afastada das ilhas de infraestruturas herdadas exclusivas, processos e aplicativos para um território unificado de melhor alinhamento de negócios e TI.

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

A refatoração dá suporte a diferentes metodologias para mover cargas de trabalho do cliente para o Azure. Um método é converter e mover todo o sistema de mainframe para o Azure de uma vez, economizando os custos de suporte de manutenção e instalação de mainframe provisório. Essa abordagem traz alguns riscos. Todos os processos de conversão de aplicativos, migração de dados e teste devem ser alinhados para uma transição tranqüila do mainframe para o Azure.

Uma segunda metodologia é mover os aplicativos do mainframe para o Azure gradualmente, com a transição completa como a meta final. Essa tática fornece economias por aplicativo e as lições aprendidas para converter cada aplicativo podem ajudar nas conversões posteriores. Modernizar cada aplicativo em sua própria agenda pode ser mais simples do que converter tudo de uma só vez.

Possíveis casos de uso

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

  • Modernizar a infraestrutura e evitar os altos custos, as limitações e a rigidez dos mainframes.
  • Mover cargas de trabalho de mainframe para a nuvem, sem os efeitos colaterais de um redesenvolvimento completo.
  • Migrar aplicativos críticos para os negócios e, ao mesmo tempo, manter a continuidade com outros aplicativos locais.
  • Beneficiar-se da escalabilidade horizontal e vertical do Azure.
  • Obter recursos de DR (recuperação de desastre).

Considerações

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

Disponibilidade

Azure Site Recovery espelhará as VMs do Azure para 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 apenas dá suporte à adoção mais rápida da nuvem, mas também promove a adoção de princípios de trabalho DevOps e Agile. Você tem flexibilidade total nas opções de implantação de desenvolvimento e produção.

Resiliência

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

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 saber mais, confira Grupos de segurança de rede.

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 Bastion fornece conectividade de RDP e SSH segura e direta para VMs de rede virtual do portal do Azure sobre TLS.

Otimização de custo

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 não estiver em uso e criar um script de agendamento para padrões de uso conhecidos. Veja a Estrutura Bem Projetada do Azure tem informações sobre otimização de custos para instâncias de VM.

  • As VMs nesta arquitetura usam SSDs Premium ou SSDs de disco ultra. Para obter mais informações sobre as opções de disco e preços, consulte Preços do Managed Disks.

  • O Banco de Dados SQL otimiza os custos com computação sem servidor e recursos de armazenamento do Hiperescala que são dimensionados automaticamente. Para obter mais informações sobre as 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 dessa solução.

Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.

Autor principal:

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

Próximas etapas