Partilhar via


Refatore aplicativos de mainframe com Advanced

Ficheiros do Azure
Balanceador de Carga do Azure
Base de Dados SQL do Azure
Armazenamento do Azure
Máquinas Virtuais do Microsoft Azure

A solução de refatoração automatizada de COBOL da Advanced refatora aplicativos COBOL, bem como aqueles escritos em CA-Gen, CA-Telon, Natural, ADSO e outras linguagens legadas, para fornecer aplicativos e bancos de dados habilitados para nuvem que são funcionalmente equivalentes aos seus homólogos legados. Isso reduz custos, permite uma integração mais profunda e permite a personalização para atender aos requisitos de negócios. Além disso, ele desbloqueia um mundo totalmente novo de qualidade e escalabilidade, desde testes automatizados até garantia de qualidade, e a capacidade de se beneficiar de implantações e orquestração em contêineres com Docker e Kubernetes.

Arquitetura do mainframe

Aqui está um exemplo de sistema onde o factoring automatizado pode ser usado:

Diagrama de arquitetura que mostra um sistema de mainframe que inclui aplicativos de linguagem legada.

Workflow

Um. Os usuários fornecem entrada sobre TCP/IP, usando protocolos como TN3270, HTTP e HTTPS.

B. A entrada chega usando protocolos de mainframe padrão.

C. Lotes e aplicativos on-line processam a entrada.

D. COBOL, PL/I, Assembler e linguagens compatíveis são executados em um ambiente habilitado.

E. Arquivos e bancos de dados fornecem armazenamento de dados. Os tipos de banco de dados incluem hierárquico, rede e relacional.

F. Os serviços executam tarefas para os aplicativos. Os serviços normalmente habilitados incluem execução de programas, operações de E/S, deteção de erros e proteção.

G. Os serviços de middleware e utilitários gerenciam tarefas como armazenamento em fita, enfileiramento, saída e suporte à Web.

H. Os sistemas operacionais fornecem a interface entre o mecanismo e o software que ele executa.

Eu. As partições executam cargas de trabalho separadas ou segregam tipos de trabalho dentro do ambiente.

Arquitetura do Azure

Esta é a arquitetura do sistema de exemplo mostrado acima quando refatorado para o Azure. As chamadas de letras nos diagramas revelam onde a solução refatorada gere a funcionalidade correspondente do mainframe.

Diagrama de arquitetura que mostra o sistema no Azure após a refatoração.

Transfira um ficheiro do Visio desta arquitetura.

Workflow

  1. A entrada normalmente vem por meio do Azure ExpressRoute de clientes remotos ou de outros aplicativos do Azure. Em ambos os casos, as conexões TCP/IP são o principal meio de conexão ao sistema. O acesso do usuário a aplicativos da Web é feito pela porta TLS 443. Você pode manter a interface do usuário dos aplicativos Web igual para minimizar o retreinamento do usuário final ou atualizá-la usando estruturas de UX modernas. O Azure Bastion fornece acesso de administrador às máquinas virtuais (VMs), maximizando a segurança minimizando as portas abertas.

  2. Uma vez no Azure, o acesso aos clusters de computação do aplicativo é feito por meio de um balanceador de carga do Azure. Essa abordagem permite recursos de computação escaláveis para processar o trabalho de entrada. Dependendo da entrada, você pode balancear a carga no nível do aplicativo ou no nível do protocolo de rede.

  3. Advanced suporta a implantação em contêineres, VMs ou Conjuntos de Dimensionamento de Máquina Virtual. Os contêineres e os conjuntos de dimensionamento de máquinas virtuais, ao contrário das VMs, podem ser dimensionados rapidamente. Mudar a unidade de dimensionamento para contêineres otimiza a utilização da infraestrutura.

  4. Os servidores de aplicativos recebem a entrada nos clusters de computação e compartilham o estado e os dados do aplicativo usando o Cache do Azure para Redis ou o RDMA (Acesso Remoto Direto à Memória).

  5. Os serviços de dados nos clusters de aplicativos permitem várias conexões com fontes de dados persistentes. As possíveis fontes de dados incluem:

    • Base de Dados SQL do Azure.
    • Azure Cosmos DB.
    • Bancos de dados em VMs, como Oracle e Db2.
    • Repositórios de Big Data, como o Azure Databricks e o Azure Data Lake.
    • Serviços de streaming de dados, como Kafka e Azure Stream Analytics.
  6. Os servidores de aplicativos hospedam vários programas de aplicativos com base na capacidade da linguagem, como classes Java ou programas COBOL.

  7. Os serviços de dados utilizam uma combinação de:

    1. Armazenamento de alto desempenho: SSD Premium do Azure e Armazenamento em Disco Ultra do Azure.

    2. Armazenamento de ficheiros: Azure NetApp Files e Azure Files.

    3. Armazenamento padrão: Armazenamento, arquivamento e backup de Blobs do Azure. O backup pode ser:

      1. Armazenamento com redundância local (LRS).
      2. Armazenamento com redundância entre zonas (ZRS).
      3. Armazenamento georredundante (GRS).
      4. Armazenamento com redundância de zona geográfica (GZRS).

      Para obter mais informações sobre redundância, consulte Redundância de armazenamento do Azure.

  8. Os serviços de dados da plataforma Azure como serviço (PaaS) fornecem armazenamento de dados escalável e altamente disponível para compartilhar entre vários recursos de computação em um cluster. Estes também podem ser redundantes geograficamente.

  9. O Azure Data Factory pode ingerir dados e sincronizar com várias fontes de dados dentro e de fontes externas. O armazenamento de Blob do Azure é uma zona de aterrissagem comum para fontes de dados externas.

  10. O Azure Site Recovery fornece recuperação de desastres dos componentes de cluster de VM e contêiner.

  11. Os aplicativos se conectam a pontos de extremidade privados dos vários serviços PaaS.

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 Bastion é um serviço totalmente gerenciado que fornece conectividade segura RDP (Remote Desktop Protocol) ou SSH (Secure Shell) para VMs de rede virtual diretamente do portal do Azure sobre TLS (Transport Layer Security). Nessa arquitetura, o Azure Bastion maximiza a segurança de acesso de administrador minimizando as portas abertas para as VMs que hospedam os aplicativos COBOL refatorados.

  • O Cache Redis do Azure é um serviço de cache na memória totalmente gerenciado que 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. Nessa arquitetura, o Cache Redis do Azure permite que os servidores de aplicativos compartilhem o estado do aplicativo e os dados entre clusters de computação para os aplicativos de mainframe refatorados.

  • O Azure Data Factory é um serviço de extração, transformação e carregamento (ETL) para expansão, integração de dados sem servidor e transformação de dados. Ele fornece uma interface do usuário sem código para criação intuitiva e monitoramento e gerenciamento de painel único. Nessa arquitetura, o Azure Data Factory fornece recursos de integração e transformação de dados para migrar e processar dados de mainframe na solução refatorada.

  • Os bancos de dados do Azure são uma coleção de serviços de banco de dados baseados em nuvem que fornecem 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. Nessa arquitetura, os bancos de dados do Azure fornecem soluções de armazenamento de dados persistentes para substituir sistemas de banco de dados de mainframe.

    • O Azure Cosmos DB é um banco de dados NoSQL rápido e totalmente gerenciado com APIs abertas para qualquer escala. Nessa arquitetura, o Azure Cosmos DB fornece serviços de banco de dados NoSQL distribuídos globalmente para aplicativos refatorados que exigem armazenamento de dados flexível e escalável.

    • O Banco de Dados do Azure para PostgreSQL é um banco de dados totalmente gerenciado baseado no mecanismo de banco de dados relacional PostgreSQL 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. Nessa arquitetura, o Banco de Dados do Azure para PostgreSQL fornece serviços de banco de dados relacional de código aberto para aplicativos refatorados que exigem recursos do PostgreSQL.

    • O Banco de Dados SQL é um mecanismo de banco de dados PaaS totalmente gerenciado que sempre é executado na versão estável mais recente do SQL Server e em um sistema operacional corrigido com alta disponibilidade. Os recursos integrados de gerenciamento de banco de dados PaaS incluem atualização, aplicação de patches, backups e monitoramento. Nessa arquitetura, o Banco de dados SQL fornece serviços de banco de dados relacional gerenciados para aplicativos refatorados que exigem compatibilidade com o SQL Server.

  • O Serviço Kubernetes do Azure (AKS) é um serviço Kubernetes totalmente gerenciado para implantar e gerenciar aplicativos em contêineres. O AKS fornece 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. Nessa arquitetura, o AKS fornece orquestração de contêineres para implantar e dimensionar os aplicativos COBOL refatorados, com recursos de expansão rápida.

  • O Azure Load Balancer é um balanceador de carga de rede que distribui o tráfego de entrada entre vários destinos para garantir alta disponibilidade e confiabilidade. Você pode definir regras e outros critérios para distribuir o tráfego. Nessa arquitetura, o Load Balancer fornece acesso aos clusters de computação de aplicativos e permite que recursos de computação escaláveis processem o trabalho de entrada de aplicativos de mainframe refatorados.

  • O Azure Private Link é um serviço de rede que fornece conectividade privada de uma rede virtual para os serviços do Azure. O Private Link elimina a exposição pública à Internet para simplificar a arquitetura de rede e proteger as conexões entre os pontos de extremidade do Azure. Nessa arquitetura, o Private Link permite que os aplicativos refatorados se conectem com segurança a pontos de extremidade privados de vários serviços PaaS.

  • O Armazenamento do Azure é um armazenamento em nuvem escalável e seguro para todos os seus dados, aplicativos e cargas de trabalho. Nessa arquitetura, o Armazenamento do Azure fornece várias opções de armazenamento para dar suporte aos requisitos de dados de aplicativos de mainframe refatorados.

    • 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 geridos Azure são volumes de armazenamento ao nível de blocos que a Azure gere nas suas Máquinas Virtuais Azure (VMs). Os tipos disponíveis de armazenamento em disco são Ultra Disk Storage, Premium SSD e Azure Standard SSD. Nessa arquitetura, o Armazenamento em Disco do Azure fornece armazenamento de alto desempenho para os aplicativos refatorados usando SSD Premium ou Armazenamento em Disco Ultra.

    • O Azure Files é um serviço de compartilhamento de arquivos totalmente gerenciado que fornece compartilhamentos de arquivos totalmente gerenciados na nuvem que podem ser acessados por meio do protocolo SMB (Server Message Block) padrão do setor. Implantações de Windows, Linux e macOS locais e na nuvem podem montar compartilhamentos de arquivos simultaneamente. Nessa arquitetura, o Azure Files fornece armazenamento de arquivos compartilhados que podem ser acessados por várias instâncias dos aplicativos refatorados.

  • O Azure VMs é um serviço de computação em nuvem que fornece muitos tamanhos e tipos de recursos computacionais escaláveis e sob demanda. Ao usar VMs, obtém a flexibilidade da virtualização sem ter de comprar e manter hardware físico. Nesta arquitetura, as VMs alojam as aplicações mainframe refatoradas e fornecem recursos de computação escaláveis como alternativa às implementações containerizadas.

  • A Rede Virtual do Azure é o bloco de construção fundamental das redes privadas do Azure. As VMs 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. Nessa arquitetura, a Rede Virtual fornece a base de rede segura para todos os componentes do sistema de mainframe refatorado.

  • O Blob Storage é 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. Nessa arquitetura, o Blob Storage fornece armazenamento de objetos para dados não estruturados e requisitos de arquivamento dos aplicativos de mainframe refatorados.

  • O ExpressRoute é um serviço de conectividade que 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. Nessa arquitetura, o ExpressRoute fornece conectividade segura e de alta largura de banda entre ambientes de mainframe locais e os aplicativos refatorados executados no Azure.

  • O NetApp Files é um serviço de armazenamento de arquivos totalmente gerenciado que fornece compartilhamentos de arquivos do Azure de nível empresarial que são alimentados pela NetApp, facilitando para as empresas a migração e a execução de aplicativos complexos baseados em arquivos sem alterações de código. Nessa arquitetura, o NetApp Files fornece armazenamento de arquivos de alto desempenho para aplicativos de mainframe refatorados de nível empresarial que exigem recursos avançados do sistema de arquivos.

  • O Site Recovery é um serviço de recuperação de desastres que espelha VMs do Azure em uma região secundária do Azure para failover rápido e recuperação de dados se um datacenter do Azure falhar. Nessa arquitetura, o Site Recovery fornece recursos de continuidade de negócios e recuperação de desastres para os aplicativos de mainframe refatorados.

Detalhes do cenário

Há muitas razões para procurar alternativas aos aplicativos de mainframe baseados em COBOL que ainda são comuns:

  • Os desenvolvedores COBOL e CA-Gen/Natural/Telon/ASDO estão se aposentando e ninguém é treinado para substituí-los, resultando em um pool de talentos cada vez menor. À medida que a escassez de talentos cresce, os custos e riscos de confiar no COBOL e em outros idiomas legados aumentam.
  • Os aplicativos não foram projetados para TI moderna, resultando em integrações difíceis e flexibilidade limitada.
  • O hardware e o software de mainframe da IBM são caros, e as taxas de licenciamento e manutenção para aplicativos e bancos de dados auxiliares de mainframe estão aumentando.

A solução de refatoração automatizada COBOL da Advanced refatora aplicativos COBOL, bem como aqueles escritos em outras linguagens legadas, para fornecer aplicativos habilitados para nuvem e bancos de dados que são funcionalmente equivalentes aos seus homólogos legados. Isso reduz custos, permite uma integração mais profunda e permite a personalização para atender aos requisitos de negócios. Além disso, ele desbloqueia um mundo totalmente novo de qualidade e escalabilidade, desde testes automatizados até garantia de qualidade, e a capacidade de se beneficiar de implantações e orquestração em contêineres com Docker e Kubernetes.

As aplicações refatoradas:

  • São funcionalmente equivalentes aos originais.
  • São fáceis de manter — atingem classificações SonarQube A e seguem conceitos e paradigmas orientados a objetos.
  • Desempenho tão ou melhor do que os originais.
  • Estão prontos para a nuvem e são fornecidos usando uma cadeia de ferramentas de DevOps padrão e práticas recomendadas.

O processo de refatoração inclui normalização de fluxo, reestruturação de código, extração de camada de dados, remodelação de dados e empacotamento para reconstrução. O processo identifica o código clonado e cria objetos de substituição compartilhados, simplificando a manutenção e a capacidade de gerenciamento. Dados complexos e análise de dependência de controle localiza e remove código morto.

Uma vez que a solução avançada refatora os aplicativos COBOL e bancos de dados associados, os desenvolvedores Java e C# podem usar ferramentas padrão de DevOps e conceitos de CI/CD para estender a funcionalidade do aplicativo. O processo de refatoração preserva a lógica de negócios e otimiza o desempenho. Os benefícios adicionais incluem elasticidade, definição granular de serviço e fácil integração com serviços nativos da nuvem.

A refatoração automatizada de COBOL está disponível para a maioria dos dialetos e plataformas COBOL, incluindo z/OS, OpenVMS e VME.

Potenciais casos de utilização

A refatoração avançada beneficia muitos cenários, incluindo:

  • Empresas que procuram:
    • Modernize a infraestrutura e escape dos custos, limitações e rigidez exorbitantes associados aos mainframes.
    • Evite o risco associado à escassez de habilidades em torno de sistemas e aplicativos legados adotando nativos da nuvem e DevOps.
    • Reduzir os custos operacionais e de despesas de capital.
  • Organizações que desejam migrar cargas de trabalho de mainframe para a nuvem sem regravações manuais dispendiosas e propensas a erros.
  • Organizações que precisam migrar aplicativos críticos para os negócios enquanto mantêm a continuidade com outros aplicativos locais.
  • Equipas que procuram a escalabilidade horizontal e vertical que o Azure oferece.
  • Empresas que privilegiam soluções com opções de recuperação de desastres.

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ê assume com seus clientes. Para obter mais informações, consulte Lista de verificação de revisão de design para Confiabilidade.

A resiliência é incorporada nesta 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 de acordo com as regras e testes de integridade. Conjuntos de disponibilidade e armazenamento com redundância geográfica são altamente recomendados.

Segurança

A segurança oferece 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 .

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

O Link Privado para o Banco de Dados SQL do Azure fornece uma conexão privada e direta que é isolada ao backbone de rede do Azure das VMs do Azure para o Banco de Dados SQL do Azure.

O Azure Bastion maximiza a segurança de acesso de administrador minimizando as portas abertas. O Bastion fornece conectividade RDP/SSH segura e contínua para VMs de rede virtual diretamente do portal do Azure por TLS.

Otimização de Custos

A Otimização de Custos consiste em procurar formas 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 projeto 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 de negócios sem gastos excessivos.

  • O Azure fornece otimização de custos executando 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 mais informações sobre otimização de custos para instâncias de VM, consulte o Azure Well-Architected Framework.
  • As VMs nessa arquitetura usam SSD Premium ou Ultra Disk Storage. 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.

Excelência Operacional

A Excelência Operacional abrange os processos operacionais que implantam um aplicativo e o mantêm em execução na produção. Para obter mais informações, consulte Lista de verificação de revisão de projeto para o Operational Excellence.

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.

Eficiência de desempenho

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

  • A arquitetura usa o Azure Site Recovery para espelhar VMs do Azure em uma região secundária do Azure para failover rápido e recuperação de desastres se um datacenter do Azure falhar.
  • A replicação de grupo de failover automático do Azure gerencia a replicação de banco de dados e o failover para a região secundária.

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