Editar

Share via


Refatorar aplicativos do mainframe com o Astadia

Azure ExpressRoute
Azure Bastion
Azure Load Balancer
Link Privado do Azure
Azure Site Recovery

A solução de refatoração COBOL automatizada do Astadia entrega aplicativos e bancos de dados habilitados para a nuvem que fazem as mesmas coisas que seus equivalentes herdados. 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 aos usuários e o Azure Load Balancer distribui a carga.

Arquitetura de mainframe

Esta é uma arquitetura de mainframe que representa o tipo de sistema adequado para a solução de refatoração do Astadia.

Diagrama de uma arquitetura de mainframe adequada para refatoração do Astadia.

Baixe um Arquivo Visio dessa arquitetura.

Fluxo de dados

  1. A entrada do usuário do TN3270 e de HTTP(S) chega pelo TCP/IP.
  2. A entrada do mainframe utiliza protocolos padrão do mainframe.
  3. Existem aplicativos em lote e online.
  4. Os aplicativos gravados em COBOL, PL/I, Assembler e outras linguagens são executados em um ambiente habilitado.
  5. Os dados são mantidos em arquivos e em bancos de dados hierárquicos, de rede e relacionais.
  6. Os serviços comumente utilizados incluem a execução de programas, operações de E/S, detecção de erros e proteção no ambiente.
  7. Os serviços de middleware e utilitários gerenciam o armazenamento em fita, o enfileiramento, a saída e a atividade na Web.
  8. Cada sistema operacional é executado em sua própria partição.
  9. 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 do mainframe por aplicativos refatorados.

Diagrama de arquitetura de uma solução de refatoração Astadia.

Baixe um Arquivo Visio dessa arquitetura.

Fluxo de dados

  1. A entrada vem de clientes remotos e outros usuários via ExpressRoute. O TCP/IP é a principal maneira de se conectar ao sistema.
    • Os usuários locais acessam os aplicativos Web pela porta 443 do protocolo TLS (TLS). As interfaces do usuário permanecem as mesmas para minimizar o retreinamento do usuário final.
    • O acesso administrativo local utiliza os hosts do Azure Bastion.
    • Os usuários do Azure se conectam ao sistema por meio do emparelhamento de rede virtual.
  2. O Load Balancer gerencia o acesso aos clusters de computação de aplicativos. O Load Balancer dá suporte a recursos de computação de expansão para lidar com a entrada. Ele opera no nível 7, no nível do aplicativo, ou no nível 4, no nível da rede, dependendo da entrada do aplicativo.
  3. As bibliotecas de runtime do Astadia executam aplicativos refatorados nas Máquinas Virtuais do Azure. Os recursos de computação utilizam os discos gerenciados SSD Premium do Azure ou o Armazenamento de Disco Ultra do Azure com rede acelerada.
  4. 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 conexões privadas 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.
  5. O armazenamento de dados tem redundância local ou redundância geográfica, dependendo do uso. É uma mistura de:
    • Armazenamento de alto desempenho:
      • SSD Premium
      • Armazenamento de Disco Ultra
    • SSD Standard do Azure, incluindo armazenamento de backup, blobs, arquivos
  6. Os serviços de dados do Azure fornecem armazenamento de dados escalonável e altamente disponível que os clusters de computação compartilham. O armazenamento pode ter redundância geográfica.
    • O Armazenamento de Blobs do Azure serve como uma zona de destino para dados de fontes de dados externas.
    • O Azure Data Factory ingere dados e sincroniza várias fontes de dados do Azure e externas.
  7. O Azure Site Recovery fornece recuperação de desastres para máquinas virtuais (VMs) e componentes de clusters de contêineres.
  8. Serviços como o Microsoft Entra ID, Rede do Azure, Azure DevOps, Azure Stream Analytics, Azure Databricks, GitHub e Power BI são facilmente integrados ao sistema modernizado.

Componentes

  • O ExpressRoute 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 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 Load Balancer distribui o tráfego de entrada para os clusters de recursos de computação. Ele utiliza regras configuradas e outros critérios para distribuir o tráfego.
  • As Máquinas Virtuais do Microsoft Azure oferecem vários tamanhos e tipos de VMs escalonáveis sob demanda. Com as Máquinas Virtuais do Azure, você obtém a flexibilidade da virtualização e não precisa comprar e manter o hardware físico.
  • A Rede Virtual do Azure é o componente fundamental para redes privadas do Azure. As VMs nas redes virtuais se comunicam com segurança entre si, com a Internet e com 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 fornece conectividade privada de redes virtuais para os 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 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 nas VMs. Os tipos de discos disponíveis são o Armazenamento de Disco Ultra, SSD Premium, SSD Standard e HDD Standard do Azure. Essa arquitetura usa SSDs Premium ou Armazenamento de Disco Ultra.
    • O Arquivos do Azure fornece compartilhamentos de arquivos totalmente gerenciados na nuvem que são acessados por meio do protocolo SMB (Bloco de Mensagens do Servidor) padrão do setor. As implantações de Windows, Linux e macOS na nuvem e no local 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 da plataforma NetApp. O NetApp Files facilita para as empresas migrarem e executarem aplicativos complexos baseados em arquivos sem alterar o código.
    • 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.
  • O Azure tem bancos de dados relacionais, NoSQL e em memória totalmente gerenciados para atender às necessidades dos aplicativos modernos. O gerenciamento automatizado de infraestrutura fornece escalabilidade, disponibilidade e segurança. Para obter uma visão geral dos tipos de banco de dados, confira 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 com patch com alta disponibilidade. As capacidades internas de gerenciamento do banco de dados incluem atualização, aplicação de patches, backups e monitoramento. Com essas tarefas concluídas, você pode focar na administração e na otimização de bancos de dados comercialmente críticos e específicos do domínio.
    • O Banco de Dados do Azure para PostgreSQL é um banco de dados totalmente gerenciado, com base em um 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) escala as consultas em vários computadores, fragmentando-as.
    • OAzure Cosmos DB é um banco de dados NoSQL rápido e totalmente gerenciado com APIs abertas para qualquer escala.
  • O Site Recovery espelha as VMs em uma região secundária do Azure para um 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 transformação de dados e integração de dados sem servidor e expansão. Ele oferece uma interface do usuário livre de código para criação intuitiva e gerenciamento e monitoramento em painel único.

Detalhes do cenário

Existem motivos importantes pelos quais as empresas devem substituir seus sistemas COBOL e computador mainframe:

  • Escassez de experiência no domínio: os desenvolvedores que entendem sobre a tecnologia COBOL e mainframe estão se aposentando, e poucos desenvolvedores são treinados para substituí-los. O pool de talentos fica cada vez menor e os custos e riscos de depender do COBOL aumentam.
  • Flexibilidade limitada: o COBOL e os sistemas subjacentes que lhe dão suporte não foram projetados para aplicativos modernos baseados em nuvem. Eles são inflexíveis e difíceis de integrar.
  • Custos exorbitantes: os custos de hardware e software do mainframe IBM são altos. O valor do licenciamento e manutenção de aplicativos e bancos de dados auxiliares de mainframe estão aumentando.

Existe um caminho a seguir para os sistemas COBOL e mainframe. A solução de refatoração COBOL automatizada do Astadia entrega aplicativos e bancos de dados habilitados para a nuvem que fazem as mesmas coisas que seus equivalentes herdados. 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 aos 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. As dificuldades e os 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 às suas contrapartes originais.
  • São escritos em Java ou C# de acordo com sua escolha.
  • Seguir conceitos e paradigmas orientados a objetos.
  • São fáceis de manter.
  • O desempenho é tão bom quanto o dos aplicativos que substituem, ou até melhor.
  • Estão preparados para a nuvem.
  • São entregues utilizando uma cadeia de ferramentas padrão de DevOps 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. Ele identifica o código clonado e o substitui por objetos compartilhados para simplificar a manutenção e o gerenciamento. O processo também identifica e remove códigos mortos por meio da análise de dados e dependências de controle.

Os desenvolvedores Java e C# adaptam aplicativos refatorados para otimização da nuvem utilizando ferramentas de DevOps padrão 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 entrega eficiências e benefícios comerciais, como elasticidade, definição granular de serviços e fácil integração com serviços nativos da nuvem.

Possíveis casos de uso

A refatoração automatizada está disponível para a maioria dos dialetos e plataformas COBOL, incluindo z/SO, OpenVMS e VME. Os candidatos a usá-lo incluem organizações que buscam:

  • Modernize a infraestrutura e escape dos altos custos, das limitações e da rigidez dos sistemas de mainframe.
  • Evite os riscos de escassez de desenvolvedores de COBOL e mainframe.
  • Reduzir os custos operacionais e as despesas de capital.
  • Mova as cargas de trabalho do mainframe para a nuvem sem os custos e os riscos de regenerações manuais prolongadas.
  • Migre aplicativos críticos para a nuvem e mantenha a continuidade com outros aplicativos locais.
  • Tornar seus sistemas horizontal e verticalmente escalonáveis.
  • 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 essa solução.

DevOps

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

Confiabilidade

  • A arquitetura utiliza o Site Recovery para espelhar as VMs em uma região secundária do Azure para um 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 do banco de dados e o failover para a região secundária. Para obter mais informações, consulte Visão geral dos grupos de failover automático e melhores práticas (Banco de Dados SQL do Azure).
  • A resiliência é criada nessa solução com o uso do 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 mais informações, confira Redundância do Armazenamento do Microsoft Azure.

Escalabilidade

Essa solução dá suporte à implantação em contêineres, VMs ou Conjuntos de Dimensionamento de Máquinas Virtuais. Os Conjuntos de Dimensionamento de Máquinas Virtuais e Contêineres, ao contrário das VMs, escalam horizontalmente e rapidamente. A mudança da unidade de dimensionamento para contêineres otimiza a utilização da infraestrutura.

Segurança

  • Essa solução utiliza um grupo de segurança de rede do Azure para gerenciar o tráfego de e para os recursos do Azure. Para saber mais, confira Grupos de segurança de rede.
  • O Link Privado do Banco de Dados SQL do Azure fornece uma conexão privada e direta, isolada do backbone de rede do Azure e executada entre as VMs e o Banco de Dados SQL.
  • O Azure Bastion maximiza a segurança de acesso administrativo minimizando as portas abertas. Ele fornece conectividade RDP/SSH segura e contínua para VMs de rede virtual diretamente do portal do Microsoft Azure por 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 escalando com antecedência para atender às necessidades dos negócios sem gastar demais.
  • O Azure minimiza os custos ao ser executado em VMs. Você pode desligar as VMs que não estão sendo utilizadas e fornecer um agendamento para os padrões de uso conhecidos. Para obter mais informações sobre a otimização de custos para VMs, consulte Máquinas Virtuais.
  • 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.

Colaboradores

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

Autor principal:

Outro colaborador:

Próximas etapas

  • Para obter mais informações, entre em contato com legacy2azure@microsoft.com.

Azure

Site do Astadia

Outro