Editar

Compartilhar via


Refatorar a arquitetura do mainframe usando o CloudFrame Renovate

Máquinas Virtuais do Azure
AKS (Serviço de Kubernetes do Azure)
Rede Virtual do Azure
Banco de Dados SQL do Azure
Azure Site Recovery

O CloudFrame Renovate migra rapidamente o código COBOL para o Lote Spring Boot para Java, sem comprometer a qualidade, a precisão, a equivalência funcional ou o desempenho. Renovate é uma ferramenta "Faça você mesmo" que usa ações guiadas e automação para ajudar a facilitar a migração de código. Basta fornecer as entradas e baixar projetos Java do Maven ou Gradle. Nenhuma equipe ou habilidade especializada é necessária.

Arquitetura herdada do IBM zSeries

Diagrama que mostra a arquitetura de mainframe antes da migração.

Baixe um Arquivo Visio das arquiteturas neste artigo.

Workflow

R. Os dados são inseridos por TCP/IP, incluindo TN3270 e HTTP(S).

B. Os dados são inseridos no mainframe por meio de protocolos de mainframe padrão.

C. Os serviços de middleware e utilitário gerenciam serviços como o armazenamento em fita, o enfileiramento, a saída e os serviços Web no ambiente.

D. O ambiente de execução do aplicativo de lote inclui agendamento, gerenciamento de carga de trabalho e operações SPOOL.

E. Os ambientes de processamento de transações online fornecem alta disponibilidade, gerenciamento de carga de trabalho e gerenciamento de transações em conformidade com XA.

F. Os aplicativos de negócios gravados em COBOL, PL/I ou Assembler (ou linguagens compatíveis) são executados em ambientes habilitados para lote e online.

G. Os serviços comerciais compartilhados padronizam soluções para serviços compartilhados, como registro em log, tratamento de erros, E/S e serviços comerciais pré-SOA.

H. Os dados são armazenados em dados e serviços de banco de dados, como subsistemas hierárquicos, de rede e de banco de dados relacional e arquivos de dados indexados e sequenciais.

I. As partições do sistema operacional (máquinas virtuais) fornecem a interface entre o mecanismo e o software que ele executa.

J. O hipervisor PR/SM (Recursos do Processador/Gerenciador do Sistema) executa a virtualização direta de hardware para particionar computadores físicos em VMs (máquinas virtuais).

Arquitetura do Azure migrada

Diagrama mostrando a arquitetura após a migração para o Azure.

Baixe um Arquivo Visio das arquiteturas neste artigo.

Workflow

  1. Normalmente, os dados são inseridos por meio do Azure ExpressRoute de clientes remotos ou de outros aplicativos que executam o Azure no momento. Em ambos os casos, TCP/IP é a principal forma de conexão ao sistema. A porta TLS 443 fornece acesso do usuário a aplicativos baseados na Web. Você pode usar a camada de apresentação do aplicativo Web praticamente inalterada para minimizar a necessidade de treinamento. Ou você pode atualizar a camada de apresentação do aplicativo Web com estruturas modernas de experiência do usuário, conforme necessário. Você pode usar Bastion Hosts de VM do Azure para fornecer acesso de administrador às VMs. Isso melhora a segurança minimizando portas abertas.

  2. No Azure, os balanceadores de carga do Azure gerenciam o acesso aos clusters de computação do aplicativo para fornecer alta disponibilidade. Essa abordagem permite que os recursos de computação de expansão processem o trabalho de entrada. Os balanceadores de carga da Camada 7 (camada de aplicativo) e Camada 4 (camada de transporte) estão disponíveis. O tipo usado depende da arquitetura do aplicativo e dos conteúdos da API no ponto de entrada do cluster de cálculo.

  3. Você pode implantar em uma VM em um cluster de cálculo ou em um pod que pode ser implantado em um cluster do Kubernetes. Os aplicativos e Serviços Comerciais Java criados por meio do Renovate são executados igualmente bem em VMs do Azure e contêineres do Kubernetes do Azure. Para obter uma análise mais detalhada das opções de computação, consulte esta árvore de decisão do serviço de computação do Azure.

  4. 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).

  5. Os serviços comerciais e aplicativos nos clusters de aplicativos dão suporte a várias conexões com fontes de dados persistentes. Essas fontes de dados podem incluir serviços de PaaS, como Banco de Dados SQL do Azure e Azure Cosmos DB; bancos de dados em VMs, como Oracle ou Db2 e repositórios de Big Data, como Azure Databricks e Azure Data Lake. Os serviços de dados do aplicativo também podem se conectar a serviços de dados de streaming, como Kafka e Azure Stream Analytics.

  6. Os serviços de runtime do Renovate fornecem compatibilidade com versões anteriores com arquiteturas de dados de mainframe e emulação de sistemas de arquivos QSAM e VSAM de mainframe, desassociando a migração de dados para UTF-8 da refatoração para Java e hospedando novamente no Azure. Serviços de runtime adicionais incluem compatibilidade com SORT, IDCAMS, utilitários de IE, gerenciamento de retenção de GDG e muito mais.

  7. Os serviços de dados usam uma combinação de armazenamento de alto desempenho (SSD Ultra / SSD Premium), armazenamento de arquivos (Azure NetApp Files ou Arquivos do Azure) e armazenamento padrão (blob, arquivo e backup) que podem ser redundantes localmente ou com redundância geográfica, dependendo do uso.

  8. Os serviços de dados de PaaS (plataforma como serviço) do Azure fornecem um armazenamento de dados com redundância geográfica, escalonável e altamente disponível que é compartilhado entre recursos de computação em um cluster.

  9. O Azure Data Factory permite a ingestão de dados e sincronização com várias fontes de dados no Azure e com fontes externas. O Armazenamento de Blobs do Azure é uma zona de aterrissagem comum para fontes de dados externas.

  10. O Azure Site Recovery fornece a recuperação de desastre dos componentes da VM e do cluster de contêineres.

Componentes

  • Máquinas Virtuais do Azure é um dos vários tipos de recursos de computação sob demanda escalonáveis fornecidos pelo Azure. Uma VM do Azure oferece a flexibilidade da virtualização sem a necessidade de comprar e manter o hardware físico que a executa.
  • O AKS (Serviço de Kubernetes do Azure) pode ajudá-lo a começar a desenvolver e implantar aplicativos nativos de nuvem, com pipelines internos de código para nuvem e verificadores de integridade.
  • Os discos gerenciados SSD do Azure são volumes de armazenamento em nível de bloco gerenciados pelo Azure e usados com VMs do Azure. Os tipos disponíveis de discos são o Disco Ultra, o SSD Premium, o SSD Standard e o HDD Standard. Para esta arquitetura, recomendamos SSDs Premium ou SSDs de Disco Ultra.
  • A Rede Virtual do Microsoft Azure é o bloco de construção fundamental de sua rede privada no Azure. A Rede Virtual permite muitos tipos de recursos do Azure, como VMs do Azure, para se comunicar entre si, Internet e redes locais, tudo com segurança aprimorada. Uma Rede Virtual é semelhante a uma rede tradicional que você opera em seu próprio datacenter, mas fornece benefícios adicionais, como escala, disponibilidade e isolamento.
  • O Banco de Dados SQL do Azure é um mecanismo de banco de dados PaaS totalmente gerenciado que cuida da maioria das funções de gerenciamento de banco de dados, como atualização, aplicação de patch, backups e monitoramento, sem o seu envolvimento. O Banco de Dados SQL sempre é executado na versão estável mais recente do mecanismo de banco de dados do SQL Server e em um sistema operacional com patch.
  • O Cache do Azure para Redis é um cache distribuído e gerenciado que ajuda você a criar aplicativos altamente escalonáveis e responsivos, fornecendo acesso rápido aos seus dados.
  • O Data Factory é um serviço de integração de dados baseado em nuvem que automatiza a movimentação e a transformação dos dados.
  • O Azure Site Recovery contribui para sua estratégia de BCDR (continuidade de negócios e recuperação de desastre) administrando e automatizando a replicação de VMs do Azure entre regiões, máquinas virtuais locais e servidores físicos no Azure e replicando máquinas locais em um datacenter secundário.

Detalhes do cenário

O uso de dados e processos de mainframe existentes reduz o risco e acelera o tempo de retorno. O CloudFrame Renovate fornece compatibilidade com versões anteriores com arquiteturas de dados de mainframe e suporte para utilitários de mainframe, como SORT. Você pode preparar instantâneos binários de dados VSAM e QSAM nos sistemas de arquivos emulados do CloudFrame, com suporte de serviços do Azure, como Armazenamento de Blobs, Azure Cosmos DB, armazenamento em disco e SQL do Azure.

A refatoração para aplicativos de mainframe usando o Renovate move a transformação de aplicativos e infraestrutura de soluções herdadas proprietárias em tecnologias padronizadas, com benchmark e abertas. Essa transformação também move as equipes em direção aos modelos operacionais Agile DevOps.

O código Java gerado pelo Renovate é de fácil entendimento, classificado como A pelo SonarQube e produz resultados que são funcionalmente equivalentes e equivalentes a dados. O código de resultado pode ser mantido por seus desenvolvedores atuais, usando seus processos de DevOps e cadeias de ferramentas. Os desenvolvedores não precisam de conhecimento sobre mainframes ou COBOL para manter o aplicativo refatorado. O código de resultado é de fácil manutenção e o risco de transformação é baixo.

Usando a abordagem de modernização incremental do Renovate, você, e não a ferramento ou o fornecedor de ferramentas, pode determinar a granularidade e a velocidade da alteração. A refatoração com o Renovate é uma maneira rápida e de baixo risco de mover cargas de trabalho de COBOL para Java nativo de nuvem no Azure.

Possíveis casos de uso

A refatoração para o Azure usando o Renovate pode ajudar organizações e equipes que desejam esses benefícios:

  • Mais controle dos processos de modernização por meio do uso de ferramentas "Faça você mesmo".
  • Uma abordagem incremental para modernização.
  • Ferramentas de refatoração automatizadas que podem ser configuradas de acordo com os requisitos personalizados.
  • Migração das cargas de trabalho de mainframe para a nuvem, sem os efeitos colaterais consequenciais de uma regeneração completa.
  • Uma infraestrutura moderna sem as estruturas de custo, as limitações e a rigidez dos mainframes.
  • Migração de aplicativos de base para os negócios mantendo a continuidade com outros aplicativos locais.
  • Soluções que oferecem várias opções para recuperação de desastre.
  • A escalabilidade horizontal e vertical que o Azure oferece.

Considerações

Essas considerações implementam os pilares do Azure Well-Architected Framework​, um conjunto de princípios orientadores que você pode usar para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, confira Microsoft Azure Well-Architected Framework.

Confiabilidade

A confiabilidade garante que seu aplicativo possa cumprir os compromissos que você deve assumir com seus clientes. Para obter mais informações, confira Visão geral do pilar de confiabilidade.

Alta disponibilidade e desempenho são integrados a essa solução devido aos balanceadores de carga e ao dimensionamento automático de computação. Se uma apresentação, transação ou servidor em lote falhar, o outro servidor por trás do balanceador de carga manipulará a carga de trabalho. A arquitetura usa o Site Recovery para espelhar VMs do Azure. Ela usa o armazenamento de PaaS e os serviços de banco de dados para replicação em 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. Por fim, você pode automatizar totalmente a implantação e a arquitetura operacional.

Segurança

A segurança fornece garantias contra ataques deliberados e o abuso de seus dados e sistemas valiosos. Para saber mais, confira Visão geral do pilar de segurança.

A segurança no Azure é obtida por meio de uma abordagem em camadas de política, processo, governança automatizada e relatórios de incidentes, treinamento, análise de vulnerabilidade de rede, teste de penetração, criptografia e modelos operacionais DevSecOps. Serviços como Microsoft Entra ID, Rede Virtual do Azure, Link Privado do Azure e grupos de segurança de rede são fundamentais para alcançar essa segurança aprimorada.

Otimização de custo

A otimização de custos consiste em reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, confira Visão geral do pilar de otimização de custo.

O Azure fornece otimização de custo executando VMs e pods do Kubernetes no hardware de commodities, criando um script de um agendamento para desativar VMs que não estão em uso e usando pods do Kubernetes para aumentar a densidade de implantação. Instâncias reservadas e spot podem reduzir ainda mais os custos. O Gerenciamento de Custos da Microsoft fornece transparência de custos com uma visão única e unificada dos custos versus orçamentos. As Reservas do Azure e o plano de economia do Azure para computação geram descontos significativos com os preços de pagamento conforme o uso. Você pode usar essas ofertas separadamente ou em conjunto para compor a economia. Use a Calculadora de preços do Azure para estimar o custo da implantação da solução.

Colaboradores

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

Autor principal:

  • Jim Dugan | TPM Principal

Outros colaboradores:

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

Próximas etapas