A solução automatizada de refatoração COBOL da Astadia oferece aplicativos e bancos de dados habilitados para nuvem que fazem as mesmas coisas que seus homólogos legados. Os aplicativos refatorados são executados como aplicativos do Azure em máquinas virtuais fornecidas pelas Máquinas Virtuais do Azure. O Azure ExpressRoute os disponibiliza para os usuários e o Azure Load Balancer distribui a carga.
Arquitetura do mainframe
Aqui está uma arquitetura de mainframe que representa o tipo de sistema adequado para a solução de refatoração Astadia.
Transfira um ficheiro do Visio desta arquitetura.
Fluxo de dados
- TN3270 e entrada de usuário HTTP(S) chega através de TCP/IP.
- A entrada de mainframe usa protocolos de mainframe padrão.
- Existem candidaturas em lote e online.
- Aplicativos escritos em COBOL, PL/I, Assembler e outras linguagens são executados em um ambiente habilitado.
- Os dados são mantidos em arquivos e em bancos de dados hierárquicos, de rede e relacionais.
- Os serviços mais usados incluem execução de programas, operações de E/S, deteção de erros e proteção no ambiente.
- Os serviços de middleware e utilitários gerenciam o armazenamento em fita, a fila, a saída e a atividade na Web.
- Cada sistema operacional é executado em sua própria partição.
- As partições segregam diferentes cargas de trabalho ou tipos de trabalho.
Arquitetura do Azure
Aqui está uma arquitetura do Azure para substituir a funcionalidade de mainframe por aplicativos refatorados.
Transfira um ficheiro do Visio desta arquitetura.
Fluxo de dados
- A entrada vem de clientes remotos e outros usuários via ExpressRoute. O TCP/IP é a principal forma de ligação ao sistema.
- Os usuários locais acessam aplicativos baseados na Web pela porta 443 do Transport Layer Security (TLS). As interfaces de usuário permanecem as mesmas para minimizar o retreinamento do usuário final.
- O acesso administrativo local usa hosts do Azure Bastion.
- Os usuários do Azure se conectam ao sistema por meio do emparelhamento de rede virtual.
- O Load Balancer 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. Ele opera no nível 7, nível de aplicação, ou nível 4, nível de rede, dependendo da entrada do aplicativo.
- As bibliotecas de tempo de execução do Astadia executam aplicativos refatorados em Máquinas Virtuais do Azure. Os recursos de computação usam o SSD Premium do Azure ou os discos gerenciados do Armazenamento em Disco Ultra do Azure com rede acelerada.
- 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 incluem serviços de dados, como o Banco de Dados SQL do Azure e o Azure PostgreSQL.
- O armazenamento de dados é redundante local ou georredundante, dependendo do uso. É uma mistura de:
- Armazenamento de alto desempenho:
- SSD Premium
- Armazenamento de Discos Ultra
- SSD padrão do Azure, incluindo armazenamento de blob, arquivamento e backup
- Armazenamento de alto desempenho:
- Os serviços de dados do Azure fornecem armazenamento de dados escalável e altamente disponível que os clusters de computação compartilham. O armazenamento pode ser redundante geograficamente.
- O Armazenamento de Blobs do Azure serve como uma zona de aterrissagem para dados de fontes de dados externas.
- O Azure Data Factory ingere dados e sincroniza várias fontes de dados do Azure e externas.
- O Azure Site Recovery fornece recuperação de desastres para máquinas virtuais (VMs) e componentes de cluster de contêiner.
- Serviços como Microsoft Entra ID, Azure Networking, Azure DevOps, Azure Stream Analytics, Azure Databricks, GitHub e Power BI são facilmente integrados ao sistema modernizado.
Componentes
- A Rota Expressa estende as 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 Balanceador de Carga distribui o tráfego de entrada para os clusters de recursos de computação. Ele usa regras configuráveis e outros critérios para distribuir o tráfego.
- As Máquinas Virtuais do Azure oferecem vários tamanhos e tipos de VMs escaláveis sob demanda. Com as Máquinas Virtuais do Azure, obtém a flexibilidade da virtualização e não tem de comprar e manter hardware físico.
- A Rede Virtual do Azure é o bloco de construção fundamental das redes privadas do Azure. As VMs em redes virtuais se comunicam de forma segura 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 Private Link fornece conectividade privada de redes virtuais para 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 Armazenamento do Azure é um 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. Os tipos de discos disponíveis são Ultra Disk Storage, Premium SSD, Standard SSD e Azure Standard HDD. Essa arquitetura usa SSD Premium ou Ultra Disk Storage.
- Os Arquivos do Azure fornecem compartilhamentos de arquivos totalmente gerenciados na nuvem que são acessados por meio do protocolo SMB (Server Message Block) padrão do setor. As implantações na nuvem e locais do Windows, Linux e macOS compartilham o acesso montando compartilhamentos de arquivos simultaneamente.
- O Azure NetApp Files fornece compartilhamentos de arquivos do Azure de nível empresarial que são alimentados pela NetApp. O NetApp Files facilita para as empresas a migração e a execução de aplicativos complexos baseados em arquivos sem alterar o código.
- 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.
- O Azure tem bancos de dados relacionais, NoSQL e na memória totalmente gerenciados para atender às necessidades modernas de aplicativos. O gerenciamento automatizado de infraestrutura oferece escalabilidade, disponibilidade e segurança. Para obter uma visão geral dos tipos de banco de dados, consulte Tipos de bancos de dados no Azure.
- O Banco de dados SQL é um mecanismo de banco de dados totalmente gerenciado. O Banco de dados SQL 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 incluem atualização, aplicação de patches, backups e monitoramento. Com essas tarefas cuidadas, 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 baseado no mecanismo de banco de dados relacional Postgres de código aberto. Para aplicativos que exigem maior escala e desempenho, a opção de implantação Hyperscale (Citus) dimensiona consultas em várias máquinas fragmentando-as.
- O Azure Cosmos DB é um banco de dados NoSQL rápido e totalmente gerenciado com APIs abertas para qualquer escala.
- O Site Recovery espelha VMs em uma região secundária do Azure para failover rápido e recuperação de desastres se um datacenter do Azure falhar.
- O Data Factory é um serviço de extração, transferência e carregamento (ETL) para integração e transformação de dados sem servidor de expansão. Este serviço oferece uma IU sem código para criação intuitiva e monitorização e gestão num único painel de transparência.
Detalhes do cenário
Existem razões importantes pelas quais as empresas devem substituir seus sistemas COBOL e mainframe:
- Escassez de experiência de domínio: os desenvolvedores que entendem de COBOL e tecnologia de mainframe estão se aposentando, e poucos desenvolvedores são treinados para substituí-los. O banco de talentos fica cada vez menor e os custos e riscos de confiar no COBOL aumentam.
- Flexibilidade limitada: o COBOL e os sistemas subjacentes que o suportam não foram projetados para aplicativos modernos baseados em nuvem. São inflexíveis e difíceis de integrar.
- Custos exorbitantes: os custos de hardware e software de mainframe IBM são altos. As taxas de licenciamento e manutenção para aplicativos e bancos de dados auxiliares de mainframe estão aumentando.
Há um caminho a seguir para COBOL e sistemas de mainframe. A solução automatizada de refatoração COBOL da Astadia oferece aplicativos e bancos de dados habilitados para nuvem que fazem as mesmas coisas que seus homólogos legados. Os aplicativos refatorados são executados como aplicativos do Azure em máquinas virtuais fornecidas pelas Máquinas Virtuais do Azure. O Azure ExpressRoute os disponibiliza para os usuários e o Azure Load Balancer distribui a carga.
A refatoração reduz os custos e permite uma integração mais profunda e a personalização para atender aos requisitos de negócios. Os aborrecimentos e custos do COBOL e do mainframe dão lugar a um novo mundo de qualidade e escalabilidade que inclui:
- Testes automatizados e garantia de qualidade.
- Docker e Kubernetes para implantação e orquestração em contêineres.
A solução de refatoração cria aplicativos que:
- São funcionalmente equivalentes aos seus homólogos originais.
- São escritos em Java ou C# à sua escolha.
- Siga conceitos e paradigmas orientados a objetos.
- São fáceis de manter.
- Execute tão bem quanto os aplicativos que eles substituem, ou melhor.
- Estão prontos para a nuvem.
- 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. Ele identifica o código clonado e o substitui por objetos compartilhados para uma manutenção e gerenciamento mais simples. O processo também identifica e remove o código morto analisando dados e controlando dependências.
Os desenvolvedores Java e C# adaptam aplicativos refatorados para otimização de nuvem usando ferramentas padrão de DevOps e conceitos de integração contínua e entrega contínua (CI/CD). Essas ferramentas e métodos não estão disponíveis para aplicativos de mainframe. A otimização oferece eficiências e benefícios de negócios, como elasticidade, definição granular de serviços e fácil integração com serviços nativos da nuvem.
Potenciais casos de utilização
A refatoração automatizada está disponível para a maioria dos dialetos e plataformas COBOL, incluindo z/OS, OpenVMS e VME. Os candidatos a usá-lo incluem organizações que procuram:
- Modernize a infraestrutura e escape dos altos custos, limitações e rigidez dos sistemas de mainframe.
- Evite os riscos de escassez de COBOL e desenvolvedores de mainframe.
- Reduza os custos operacionais e as despesas de capital.
- Mova cargas de trabalho de mainframe para a nuvem sem os custos e riscos de regravações manuais prolongadas.
- Migre aplicativos de missão crítica para a nuvem enquanto mantém a continuidade com outros aplicativos locais.
- Torne os seus sistemas escaláveis horizontal e verticalmente.
- Implementar técnicas de recuperação de desastres.
Considerações
As considerações nesta seção, com base no Microsoft Well-Architected Framework, aplicam-se a esta solução.
DevOps
A refatoração não só suporta a adoção mais rápida da nuvem, mas também promove a adoção de DevOps e princípios de desenvolvimento ágil. Você tem total flexibilidade nas opções de implantação de desenvolvimento e produção.
Fiabilidade
- A arquitetura usa o Site Recovery para espelhar VMs em uma região secundária do Azure para failover rápido e recuperação de desastres se um datacenter do Azure falhar.
- O recurso de grupos de failover automático do Banco de dados SQL fornece proteção de dados gerenciando a replicação e o failover do banco de dados para a região secundária. Para obter mais informações, consulte Visão geral e práticas recomendadas de grupos de failover automático (Banco de Dados SQL do Azure).
- A resiliência é incorporada a esta solução usando o Load Balancer. Se um servidor de apresentação ou transação falhar, outros servidores executarão as cargas de trabalho.
- Recomendamos que você crie conjuntos de disponibilidade para suas VMs para aumentar a disponibilidade. Para obter mais informações, consulte Visão geral dos conjuntos de disponibilidade.
- Recomendamos que você use a replicação geográfica para aumentar a confiabilidade. Para obter mais informações, veja Redundância do Armazenamento do Microsoft Azure.
Escalabilidade
Esta solução suporta a implementação em contentores, VMs ou Conjuntos de Dimensionamento de Máquinas Virtuais. Os contêineres e os conjuntos de dimensionamento de máquinas virtuais, ao contrário das VMs, são dimensionados e rapidamente aumentados. Mudar a unidade de dimensionamento para contêineres otimiza a utilização da infraestrutura.
Segurança
- Esta solução utiliza um grupo de segurança de rede do Azure para gerir o tráfego de e para os 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 e que é executada entre VMs e o Banco de Dados SQL.
- O Azure Bastion maximiza a segurança de acesso de administrador minimizando as portas abertas. Ele fornece conectividade RDP/SSH segura e contínua para VMs de rede virtual diretamente do portal do Azure por 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 com antecedência para atender às necessidades de negócios sem gastos excessivos.
- O Azure minimiza os custos executando em VMs. Você pode desativar as VMs que não estão sendo usadas e fornecer um cronograma para padrões de uso conhecidos. Para obter mais informações sobre otimização de custos para VMs, consulte Máquinas virtuais.
- 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.
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.
Autor principal:
- Richard Cronheim - Brasil | Gerente de Programa Sênior
Outros contribuidores:
- Bhaskar Bandam - Brasil | Gerente de Programa Sênior
Próximos passos
- Para obter mais informações, contacte legacy2azure@microsoft.com.
Azure
- O que é Accelerated Networking?
- Como os grupos de segurança de rede filtram o tráfego de rede.
- Tipos de bancos de dados no Azure
Sítio Web Astadia
- Migrando aplicativos de mainframe para o Azure
- Força Aérea dos Estados Unidos (estudo de caso)
- Condado de Jefferson (estudo de caso)
Outro
Fontes relacionadas
- Processamento de transações em lote de alto volume
- Refatoração geral de mainframe para o Azure
- Migração de mainframe IBM z/OS com Avanade AMT
- Processamento de transações online do IBM z/OS no Azure
- Micro Focus Enterprise Server em VMs do Azure
- Refatore o recurso de acoplamento de mainframe (CF) do IBM z/OS para o Azure
- Refatore aplicativos de mainframe com Advanced
- Refatore sistemas de computadores mainframe que executam Adabas & Natural
- Rehospedar aplicativos de mainframe no Azure com compiladores Raincode
- Usar o LzLabs Software Defined Mainframe (SDM) em uma implantação de VM do Azure
- Migrar aplicativos de mainframe IBM para o Azure com o TmaxSoft OpenFrame