Editar

Partilhar via


Refatore sistemas de computadores mainframe que executam Adabas & Natural

Azure Kubernetes Service (AKS)
Azure ExpressRoute
Azure Managed Disks
Azure NetApp Files

A Software AG fornece uma popular plataforma de mainframe 4GL baseada na linguagem de programação Natural e no banco de dados Adabas. Este artigo fornece uma arquitetura para organizações que estão usando computadores mainframe que executam o Adabas & Natural e que estão procurando maneiras de modernizar essas cargas de trabalho e movê-las para a nuvem.

Arquitetura do mainframe

Este diagrama ilustra um exemplo de um mainframe com os módulos Adabas & Natural da Software AG instalados, antes da migração para o Azure. Este exemplo mostra uma arquitetura IBM z/OS.

Diagrama que mostra uma arquitetura de mainframe que usa o Adabas & Natural da Software AG antes da migração para o Azure.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de Trabalho

A. A entrada ocorre através de TCP/IP, incluindo TN3270 e HTTP(S). A entrada no mainframe usa protocolos de mainframe padrão.

B. As candidaturas recebidas podem ser em lote ou em linha.

C. Natural, COBOL, PL/I, Assembler ou outras linguagens compatíveis são executadas em um ambiente habilitado.

D. Os dados e serviços de banco de dados comumente usados são sistemas de banco de dados hierárquicos/de rede e tipos de banco de dados relacional.

E. Os serviços comuns incluem execução de programas, operações de E/S, deteção de erros e proteção no ambiente.

F. Middleware e utilitários gerenciam serviços como armazenamento em fita, filas, saída e serviços Web dentro do ambiente.

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

H. As partições são necessárias para executar cargas de trabalho separadas e segregar tipos de trabalho dentro do ambiente.

Arquitetura do Azure

Este diagrama mostra como você pode migrar a arquitetura herdada para o Azure usando uma abordagem de refatoração para modernizar o sistema:

Diagrama que mostra a arquitetura herdada após a migração para o Azure.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de Trabalho

  1. Entrada. A entrada normalmente ocorre por meio da Rota Expressa do Azure a partir de clientes remotos ou por meio de outros aplicativos atualmente executando o Azure. Em ambos os casos, as conexões TCP/IP são o principal meio de conexão com o sistema. A porta TLS 443 fornece acesso a aplicativos baseados na Web. Você pode deixar a camada de apresentação de aplicativos baseados na Web praticamente inalterada para minimizar o retreinamento do usuário. Como alternativa, você pode atualizar essa camada com estruturas de UX modernas de acordo com suas necessidades. Para acesso de administrador às VMs, você pode usar os hosts do Azure Bastion para maximizar a segurança minimizando as portas abertas.

  2. Acesso no Azure. No Azure, o acesso aos clusters de computação de aplicativos é fornecido por meio de um balanceador de carga do Azure. Essa abordagem permite que recursos de computação escaláveis processem o trabalho de entrada. Você pode usar balanceadores de carga de nível 7 (nível de aplicativo) ou nível 4 (nível de protocolo de rede). No entanto, o tipo de balanceador de carga que você usa depende de como a entrada do aplicativo atinge o ponto de entrada do cluster de computação. Recomendamos que você use o Gateway de Aplicativo do Azure com recursos de firewall de aplicativo Web para tráfego de camada 7.

  3. Clusters de computação de aplicativos. A arquitetura dá suporte a aplicativos executados em um contêiner que pode ser implantado no Serviço Kubernetes do Azure (AKS). Os componentes Adabas & Natural podem ser executados dentro de contêineres baseados em Linux. Você pode rearquitetar seus aplicativos legados para arquiteturas modernas baseadas em contêineres e operar com base no AKS.

  4. Emulação de terminal ApplinX (Software AG). ApplinX é uma tecnologia baseada em servidor que fornece conectividade web e integração em aplicativos principais do sistema sem exigir alterações nos aplicativos. Natural Online permite que os usuários on-line para se conectar a aplicativos Natural através de um navegador web. Sem ApplinX, os usuários precisam se conectar com o software de emulação de terminal usando SSH. Ambos os sistemas são executados em contêineres.

  5. EntireX (Software AG). O EntireX permite que você conecte facilmente serviços executados no Integration Server a programas de missão crítica escritos em linguagens como COBOL e Natural. O Natural Business Services permite o acesso da API a funções de negócios programadas no Natural. Ambos os sistemas são executados em contêineres.

  6. Adabas (Software AG). Adabas é um sistema de gerenciamento de banco de dados NoSQL de alto desempenho. Natural batch (Software AG) é um componente dedicado para executar trabalhos em lote. Os trabalhos em lote naturais, que são agendados por um sistema de agendamento de trabalho em lote escolhido, devem ser executados no mesmo nó que o banco de dados Adabas para evitar impacto no desempenho.

  7. Armazenamento. Os serviços de dados usam uma combinação de armazenamento de alto desempenho (SSD ultra / premium), armazenamento de arquivos (NetApp) e armazenamento padrão (Blob, arquivo, backup) que pode ser redundante local ou georredundante, dependendo do uso. Os sistemas operacionais de nó usam armazenamento em disco gerenciado. Todos os dados persistentes, como arquivos de banco de dados, logs de proteção, dados de aplicativos e backup, usam os Arquivos NetApp do Azure. O AKS gerencia os volumes do sistema operacional que são armazenados em discos gerenciados. Todos os dados críticos para os negócios dos bancos de dados, incluindo arquivos ASSO, DATA, WORK e logs de proteção Adabas, devem ser gravados em volumes separados nos Arquivos NetApp do Azure.

  8. CONNX. O módulo CONNX for Adabas fornece acesso de leitura/gravação altamente seguro e em tempo real a fontes de dados Adabas no OS/390, z/OS, VSE, Linux, Solaris, HP-UX, AIX e Windows via .NET, ODBC, OLE DB e JDBC. O CONNX fornece uma camada de virtualização de dados que usa conectores para Adabas e outras fontes de dados, como o Banco de Dados SQL do Azure, o Banco de Dados do Azure para PosgreSQL e o Banco de Dados do Azure para MySQL.

Componentes

  • O Azure ExpressRoute estende suas redes locais para a nuvem da Microsoft por meio de uma conexão privada facilitada por um provedor de conectividade. Você pode usar a Rota Expressa para estabelecer conexões com serviços de nuvem da Microsoft, como o Azure e o Office 365. Como alternativa ou como backup, você pode estabelecer conexões com o Gateway de VPN do Azure. No entanto, recomendamos que você use a Rota Expressa para que possa se conectar ao ambiente do Azure por meio de uma conexão privada de alta velocidade de segurança aprimorada.

  • O AKS é um serviço Kubernetes totalmente gerenciado para implantar e gerenciar aplicativos em contêineres. O AKS fornece Kubernetes sem servidor, integração contínua integrada e entrega contínua (CI/CD) e segurança e governança de nível empresarial. Nesse cenário, os contêineres Adabas & Natural são implantados no AKS.

  • Os discos gerenciados do Azure são volumes de armazenamento em nível de bloco gerenciados pelo Azure e usados com as Máquinas Virtuais do Azure. Vários tipos estão disponíveis: discos ultra, SSD premium, SSD padrão e HDD padrão. Os discos SSD são utilizados nesta arquitetura. Nesse cenário, todos os volumes do sistema operacional são armazenados em discos gerenciados do Azure.

  • O Azure NetApp Files fornece compartilhamentos de arquivos do Azure de nível empresarial com tecnologia NetApp. Os Arquivos NetApp do Azure facilitam a migração e a execução de aplicativos complexos baseados em arquivos sem alterar o código. Nesse cenário, todos os dados persistentes, como arquivos de banco de dados, logs de proteção, dados de aplicativos e arquivos de backup, usam os Arquivos NetApp do Azure.

Detalhes do cenário

Os aplicativos executados em computadores mainframe estão no centro da maioria das operações de negócios há quase 50 anos. Embora esses sistemas de mainframe tenham fornecido confiabilidade notável ao longo dos anos, eles se tornaram um pouco problemáticos porque são rígidos e, em alguns casos, difíceis de manter e caros de operar.

Muitas organizações estão procurando maneiras de modernizar esses sistemas. Eles estão procurando maneiras de liberar os recursos restritos necessários para manter esses sistemas, controlar seus custos e ganhar mais flexibilidade nas interações com os sistemas.

A Software AG fornece uma popular plataforma de mainframe 4GL baseada na linguagem de programação Natural e no banco de dados Adabas.

Dois dos padrões de racionalização de nuvem permitem executar aplicativos Adabas & Natural no Azure: rehospedar e refatorar. Este artigo descreve como refatorar um aplicativo usando contêineres gerenciados no AKS. Para obter mais informações, consulte Abordagem baseada em contêiner, mais adiante neste artigo.

Potenciais casos de utilização

Essa arquitetura se aplica a qualquer organização que use computadores mainframe executando Adabas & Natural e que planeje modernizar essas cargas de trabalho e movê-las para a nuvem.

Considerações

Abordagem baseada em contêineres

Para aproveitar ao máximo a flexibilidade, a confiabilidade e os recursos do Azure, você precisa rearquitetar aplicativos de mainframe. Recomendamos que você reescreva aplicativos monolíticos como microsserviços e use uma abordagem baseada em contêiner para implantação. Um contêiner agrupa todo o software necessário para execução em um pacote executável. Ele inclui o código de um aplicativo juntamente com os arquivos de configuração, bibliotecas e dependências relacionados que são necessários para executar o aplicativo. Os aplicativos em contêineres são rápidos de implantar e oferecem suporte a práticas populares de DevOps, como integração contínua (CI) e implantação contínua (CD).

Os contentores Adabas & Natural são executados em pods, cada um dos quais executa uma tarefa específica. Pods são unidades de um ou mais contêineres que permanecem juntos no mesmo nó e compartilham recursos como o nome do host e o endereço IP. Como eles são dissociados da plataforma subjacente, os componentes em pods são dimensionados de forma independente e suportam maior disponibilidade. Um aplicativo em contêineres também é portátil: ele é executado uniforme e consistentemente em qualquer infraestrutura.

Os serviços em contêineres e seus componentes de rede e armazenamento associados precisam ser orquestrados e gerenciados. Recomendamos o AKS, um serviço Kubernetes gerenciado que automatiza o gerenciamento de clusters e recursos. Você designa o número de nós de que precisa e o AKS ajusta seus contêineres aos nós certos para fazer o melhor uso dos recursos. O AKS também suporta rollouts e rollbacks automatizados, deteção de serviços, balanceamento de carga e orquestração de armazenamento. E o AKS apoia a autorrecuperação: se um recipiente falhar, o AKS inicia um novo. Além disso, você pode armazenar com segurança segredos e definições de configuração fora dos contêineres.

O diagrama de arquitetura neste artigo mostra uma implementação baseada em contêiner de Adabas & Natural. Ao configurar o AKS, você especifica o tamanho da VM do Azure para seus nós, que define as CPUs de armazenamento, a memória e o tipo, como unidades de estado sólido (SSDs) de alto desempenho ou unidades de disco rígido (HDDs) comuns. O Natural deve ser executado em três ou mais instâncias de VM (nós) para aumentar a escalabilidade e a disponibilidade da interface do usuário (Natural online mais ApplinX) e da camada de API (Natural services plus EntireX).

Na camada de dados, o Adabas é executado no cluster AKS, que entra e sai automaticamente com base no uso de recursos. Você pode executar vários componentes do Adabas no mesmo pod ou, para maior escala, o AKS pode distribuí-los em vários nós no cluster. O Adabas usa o Azure NetApp Files, um serviço de armazenamento de arquivos medido de alto desempenho, para todos os dados persistentes, como arquivos de banco de dados, logs de proteção, dados de aplicativos e backup.

Coloque os pods de lote natural na mesma zona de disponibilidade (datacenter) que os pods de Adabas. Você deve usar grupos de posicionamento de proximidade para colocar os pods de lote Adabas e Natural no mesmo pool de nós dentro da mesma zona de disponibilidade.

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

Essa arquitetura é construída principalmente no Kubernetes, que inclui componentes de segurança como padrões de segurança de pod e segredos. O Azure fornece recursos adicionais, como Microsoft Entra ID, Microsoft Defender for Containers, Azure Policy, Azure Key Vault, grupos de segurança de rede e atualizações de cluster orquestradas. Os contêineres refatorados devem ser implantados em um cluster AKS privado com acesso de entrada por meio de um servidor API privado e endereços IP internos. Todo o tráfego de saída deve ser roteado através de uma camada de firewall de saída.

Otimização de Custos

A Otimização de Custos consiste em 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 para otimização de custos.

  • Use o autoscaler de cluster e o autoscaler de pod horizontal para dimensionar o número de pods e nós com base nas condições de tráfego. Os pods Adabas podem usar o autoscaler horizontal pod para otimização de custos.

  • Use o autoscaler pod vertical para analisar e definir os recursos de CPU e memória que os pods exigem. Essa abordagem otimiza a alocação de recursos.

  • Escolha o tamanho de VM apropriado para pools de nós, com base nos requisitos de carga de trabalho.

  • Crie vários pools de nós com tamanhos de VM diferentes para cargas de trabalho específicas. Use rótulos de nós, seletores de nós e regras de afinidade para otimizar a alocação de recursos.

  • Escolha os níveis de serviço e o tamanho do pool de capacidade certos para os Arquivos NetApp do Azure. Para obter recomendações de gerenciamento de custos, consulte Modelo de custo para arquivos NetApp do Azure.

  • Use a capacidade reservada para Arquivos NetApp do Azure.

  • Para monitorizar e otimizar custos, utilize ferramentas de gestão de custos como o Azure Advisor, Reservas do Azure e planos de poupança do Azure.

  • Para estimar os custos de utilização, utilize a calculadora de custos do Azure.

  • Para melhorar o controle e o gerenciamento de custos, use as tags do Azure para associar recursos do AKS a cargas de trabalho específicas.

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 design para excelência operacional.

A refatoração oferece suporte a uma adoção mais rápida da nuvem. Também promove a adoção de princípios de trabalho DevOps e Agile. Você tem total flexibilidade de 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 projeto para eficiência de desempenho.

O Kubernetes fornece um autoscaler de cluster. O autoscaler ajusta o número de nós com base nos recursos de computação solicitados no pool de nós. Ele monitora o servidor da API de métricas a cada 10 segundos para quaisquer alterações necessárias na contagem de nós. Se o autoscaler do cluster determinar que uma alteração é necessária, o número de nós no cluster AKS será aumentado ou diminuído de acordo. 

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Autor principal:

  • Marlon Johnson - Brasil | TPM Sénior

Contribuidor:

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

Próximos passos

Para obter mais informações, contacte legacy2azure@microsoft.com.

Aqui estão alguns recursos adicionais: