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.
A solução de refatoração automatizada COBOL da Advanced refatora aplicativos COBOL, bem como aqueles escritos em CA-Gen, CA-Telon, Natural, ADSO e outras linguagens herdadas, para entregar aplicativos e bancos de dados habilitados para nuvem funcionalmente equivalentes às suas contrapartes herdadas. Isso reduz os custos, permite uma integração mais profunda e permite que a personalização atenda aos requisitos de negócios. Além disso, ele desbloqueia um mundo totalmente novo de qualidade e escalabilidade, desde testes automatizados até a garantia de qualidade e a capacidade de se beneficiar de implantações e orquestrações em contêineres com Docker e Kubernetes.
Arquitetura de mainframe
Aqui está um sistema de exemplo em que a fatoração automatizada pode ser usada:
Workflow
R. 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. Os aplicativos de lote e online processam a entrada.
D. As linguagens COBOL, PL/I, Assembler e compatíveis são executadas em um ambiente habilitado.
E. Os arquivos e os bancos de dados fornecem armazenamento. Os tipos de banco de dados incluem hierárquico, de rede e relacional.
F. Os serviços executam tarefas para os aplicativos. Os serviços que são comumente habilitados incluem execução do programa, operações de E/S, detecção de erros e proteção.
G. Os serviços de middleware e utilitário gerenciam o armazenamento em fita, o enfileiramento, a 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 trabalhos dentro do ambiente.
Arquitetura do Azure
Esta é a arquitetura do sistema de exemplo mostrado acima quando refatorado para o Azure. As anotações com letras nos diagramas revelam onde a solução refatorada lida com a funcionalidade de mainframe correspondente.
Baixe um Arquivo Visio dessa arquitetura.
Workflow
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 com o sistema. O acesso do usuário a aplicativos Web é pela porta TLS 443. Você pode manter a interface do usuário dos aplicativos Web da mesma forma para minimizar o retreinamento de usuários finais ou pode atualizá-la usando estruturas de UX modernas. O Azure Bastion fornece acesso de administrador às VMs (máquinas virtuais), maximizando a segurança ao minimizar as portas abertas.
Uma vez no Azure, o acesso aos clusters de computação do aplicativo se dá por meio de um balanceador de carga do Azure. Essa abordagem permite que os recursos de computação de expansão processem o trabalho de entrada. Dependendo da entrada, você pode balancear a carga no nível do aplicativo ou do protocolo de rede.
O Advanced oferece suporte à implantação em contêineres, VMs ou conjuntos de dimensionamento de máquinas virtuais. Contêineres e conjuntos de dimensionamento de máquinas virtuais, diferentemente das VMs, podem ser rapidamente escaladas horizontalmente e verticalmente. A mudança da unidade de dimensionamento para contêineres otimiza a utilização da infraestrutura.
Os servidores de aplicativos recebem a entrada nos clusters de cálculo e compartilham dados e estado do aplicativo usando o cache do Azure para Redis ou o RDMA (Acesso remoto direto à memória).
Os serviços de dados nos clusters de aplicativos dão suporte a várias conexões com fontes de dados persistentes. As fontes de dados possíveis incluem:
- Banco de dados SQL do Azure.
- Azure Cosmos DB.
- 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 dados de streaming como o Apache Kafka e o Azure Stream Analytics.
Os servidores de aplicativos hospedam vários programas de aplicativos com base na capacidade da linguagem, como classes Java ou programas COBOL.
Os serviços de dados usam uma combinação de:
Armazenamento de alto desempenho: SSD Premium do Azure e Armazenamento em Disco Ultra do Azure.
Armazenamento de arquivos: Azure NetApp Files e Arquivos do Azure.
Armazenamento Standard: Armazenamento de Blobs do Azure, arquivo e backup. O backup pode ser:
- Armazenamento com redundância local (LRS).
- Armazenamento com redundância de zona (ZRS).
- Armazenamento com redundância geográfica (GRS).
- Armazenamento com redundância de zona geográfica (GZRS).
Para obter mais informações sobre redundância, confira Redundância do Armazenamento do Azure.
Os serviços de dados de PaaS (plataforma como serviço) do Azure fornecem um armazenamento de dados escalonável e altamente disponível para compartilhamento entre vários recursos de computação em um cluster. Eles também podem ter redundância geográfica.
O Azure Data Factory pode ingerir dados e sincronizar com várias fontes de dados no Azure e com fontes externas. O Armazenamento de Blobs do Azure é uma zona de destino comum para fontes de dados externas.
O Azure Site Recovery fornece a recuperação de desastre dos componentes da VM e do cluster de contêineres.
Os aplicativos se conectam a pontos de extremidade privados dos vários serviços de 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 do RDP (Protocolo de Área de Trabalho Remota) ou SSH (Secure Shell) a VMs de rede virtual diretamente do portal do Azure por meio do TLS (Transport Layer Security). Nessa arquitetura, o Azure Bastion maximiza a segurança de acesso do administrador minimizando portas abertas para as VMs que hospedam os aplicativos COBOL refatorados.
O Cache do Azure para Redis é 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 do Azure para Redis dimensiona o desempenho de forma simples e econômica, com os benefícios de um serviço totalmente gerenciado. Nessa arquitetura, o Cache do Azure para Redis 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 é o serviço de ETL (extração, transformação e carregamento) para integração e transformação de dados sem servidor em expansão. Ele fornece uma interface do usuário sem código para criação intuitiva e monitoramento e gerenciamento de painel único de vidro. 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 do aplicativo. O gerenciamento automatizado de infraestrutura fornece 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 mainframe.
OAzure 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 escalonável.
O Banco de Dados do Azure para PostgreSQL é um banco de dados totalmente gerenciado com base no mecanismo de banco de dados relacional PostgreSQL de código aberto. A opção de implantação de Hiperescala (Citus) dimensiona consultas em vários computadores 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 software livre 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 internos de gerenciamento de banco de dados de 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 gerenciado para aplicativos refatorados que exigem compatibilidade com o SQL Server.
O AKS (Serviço de Kubernetes do Azure) é o serviço Kubernetes totalmente gerenciado para implantar e gerenciar aplicativos conteinerizados com facilidade. O AKS fornece o 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. Nessa arquitetura, o AKS fornece orquestração de contêiner 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 do aplicativo e permite que os recursos de computação de expansão processem o trabalho de entrada de aplicativos de mainframe refatorados.
O Link Privado do Azure é um serviço de rede que fornece conectividade privada de uma rede virtual para serviços do Azure. O Link Privado elimina a exposição pública na Internet para simplificar a arquitetura de rede e proteger as conexões entre os pontos de extremidade do Azure. Nessa arquitetura, o Link Privado permite que os aplicativos refatorados se conectem com segurança a pontos de extremidade privados de vários serviços de PaaS.
O Armazenamento do Azure oferece armazenamento em nuvem escaloná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 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 o Azure gerencia em suas VMs (Máquinas Virtuais) do Azure. Os tipos disponíveis de armazenamento em disco são Armazenamento em Disco Ultra, SSD Premium e SSD Standard do Azure. Nessa arquitetura, o Armazenamento de Disco do Azure fornece armazenamento de alto desempenho para os aplicativos refatorados usando o SSD Premium ou o Armazenamento de Disco Ultra.
Os Arquivos do Azure são 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 (Bloco de Mensagens do Servidor) padrão do setor. Implantações locais ou na nuvem do Windows, Linux e macOS podem montar compartilhamentos de arquivo ao mesmo tempo. Nessa arquitetura, os Arquivos do Azure fornecem armazenamento de arquivos compartilhado que pode ser acessado por várias instâncias dos aplicativos refatorados.
As VMs do Azure são um serviço de computação em nuvem que fornece muitos tamanhos e tipos de recursos de computação sob demanda e escalonáveis. Usando VMs, você obtém a flexibilidade da virtualização sem precisar comprar e manter o hardware físico. Nessa arquitetura, as VMs hospedam os aplicativos de mainframe refatorados e fornecem recursos de computação escalonáveis como uma alternativa a implantações em contêineres.
A Rede Virtual do Azure é o componente fundamental para redes privadas do Azure. As VMs 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. Nessa arquitetura, a Rede Virtual fornece a base de rede segura para todos os componentes do sistema de mainframe refatorado.
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 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 dedicada de um provedor de conectividade. O ExpressRoute estabelece conexões com serviços de nuvem da Microsoft, como Azure e Microsoft 365. Nessa arquitetura, o ExpressRoute fornece conectividade segura e de alta largura de banda entre ambientes de mainframe locais e os aplicativos refatorados que são 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 pelo NetApp, facilitando 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 desastre que espelha as 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 desastre para os aplicativos de mainframe refatorados.
Detalhes do cenário
Há muitos motivos para procurar alternativas para os aplicativos de mainframe baseados em COBOL que ainda são comuns:
- Os desenvolvedores de COBOL e de CA-Gen/Natural/Telon/ASDO estão se aposentando e ninguém é treinado para substituí-los, o que tem levado a uma diminuição constante desse grupo de talentos. Conforme a escassez de talentos aumenta, aumentam também os custos e os riscos de depender do COBOL e de outras linguagens herdadas.
- Os aplicativos não foram projetados para a TI moderna, resultando em integrações difíceis e de flexibilidade limitada.
- O hardware e o software de mainframe IBM são caros, e as taxas de licenciamento e manutenção para aplicativos de mainframe e bancos de dados auxiliares estão aumentando.
A solução de refatoração automatizada COBOL da Advanced refatora aplicativos COBOL, bem como aqueles escritos em outras linguagens herdadas, para entregar aplicativos e bancos de dados habilitados para nuvem funcionalmente equivalentes às contrapartes herdadas. Isso reduz os custos, permite uma integração mais profunda e permite que a personalização atenda aos requisitos de negócios. Além disso, ele desbloqueia um mundo totalmente novo de qualidade e escalabilidade, desde testes automatizados até a garantia de qualidade e a capacidade de se beneficiar de implantações e orquestrações em contêineres com Docker e Kubernetes.
Os aplicativos refatorados:
- São funcionalmente equivalentes aos originais.
- São fáceis de manter — eles atingem a classificação A do SonarQube e seguem conceitos e paradigmas orientados a objeto.
- Executam tão bem quanto ou melhor do que os originais.
- Estão prontos para a nuvem e são entregues usando uma cadeia de ferramentas de DevOps padrão e melhores práticas.
O processo de refatoração inclui a normalização do fluxo, a reestruturação do código, a extração da camada de dados, a remodelação dos dados e o 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. A análise complexa de dependência de dados e de controle localiza e remove o código morto.
Depois que a solução do Advanced refatorar os aplicativos COBOL e os bancos de dados associados, os desenvolvedores Java e C# poderão usar as ferramentas de DevOps padrão e os 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 de serviço granular e fácil integração com serviços nativos de nuvem.
A refatoração de COBOL automatizada está disponível para a maioria das plataformas e dialetos COBOL, incluindo z/OS, OpenVMS e VME.
Possíveis casos de uso
A refatoração do Advanced beneficia muitos cenários, incluindo:
- Empresas que buscam:
- Modernizar a infraestrutura e escapar os custos exorbitantes, as limitações e a rigidez associada aos mainframes.
- Evitar o risco associado à escassez de habilitades em relação a sistemas e aplicativos herdados ao adotar a nuvem nativa e DevOps.
- Reduzir os custos de despesas operacionais e de capital.
- Organizações que desejam migrar cargas de trabalho de mainframe para a nuvem sem regravações manuais dispendiosas e sujeitas a erros.
- Organizações que precisam migrar aplicativos críticos para os negócios e, ao mesmo tempo, manter a continuidade com outros aplicativos locais.
- Equipes procurando a escalabilidade horizontal e vertical que o Azure oferece.
- Empresas que preferem soluções que tenham opções de recuperação de desastre.
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ê faz aos seus clientes. Para obter mais informações, consulte Lista de verificação de revisão de design parade confiabilidade.
A resiliência é 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 de acordo com as regras e investigações de integridade. Os conjuntos de disponibilidade e o armazenamento com redundância geográfica são altamente recomendados.
Segurança
A segurança fornece 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.
Essa solução usa um 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 para Banco de Dados SQL do Azure fornece uma conexão direta e privada isolada para o 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 administrativo minimizando as portas abertas. O Bastion fornece conectividade de RDP/SSH segura e contínua para VMs de rede virtual diretamente do portal do Azure sobre TLS.
Otimização de custos
A Otimização de Custos trata-se de procurar 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 parade 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 não estiverem em uso e criar um script de agendamento para padrões de uso conhecidos. Para obter mais informações sobre a otimização de custo para instâncias de VM, consulte o Azure Well-Architected Framework.
- As VMs nesta arquitetura usam SSDs Premium ou Armazenamento 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.
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 parade Excelência Operacional.
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.
Eficiência de desempenho
A Eficiência de Desempenho é a capacidade da sua carga de trabalho de dimensionar para atender às demandas colocadas nele pelos usuários de maneira eficiente. Para obter mais informações, consulte Lista de verificação de design parade Eficiência de Desempenho.
- A arquitetura usa o Azure Site Recovery para espelhar VMs do Azure para uma região secundária do Azure, a fim de realizar rapidamente failover e recuperação de desastre em caso de falha de um datacenter do Azure.
- A replicação de grupo de failover automático do Azure gerencia a replicação do banco de dados e o failover para a região secundária.
Colaboradores
Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.
Autor principal:
- Bhaskar Bandam | TPM Sênior
Para ver perfis não públicos do LinkedIn, entre no LinkedIn.
Próximas etapas
- Para obter mais informações, entre em contato com legacy2azure@microsoft.com.
- Folha de fatos de refatoração automatizada do COBOL (PDF)