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. Estão disponíveis balanceadores de carga de nível 7 (nível de aplicativo) e nível 4 (nível de protocolo de rede). O tipo que você usa depende de como a entrada do aplicativo atinge o ponto de entrada do cluster de computação.

  3. Clusters de computação de aplicativos. A arquitetura suporta aplicativos que são executados em um contêiner que pode ser implantado em um orquestrador de contêineres como o Kubernetes. Adabas & Os componentes naturais podem ser executados dentro da tecnologia de contêiner operada em cima de um sistema operacional Linux. Você pode rearquitetar seus aplicativos herdados para arquiteturas modernas baseadas em contêiner e operar com base no Serviço Kubernetes do Azure (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 que podem ser fornecidos pelos 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. Os conectores CONNX fornecem acesso a fontes de dados Adabas e as expõem a bancos de dados mais comuns, 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.

  • O Serviço Kubernetes do Azure é 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.

  • 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.

  • 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.

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.

Há dois padrões que permitem executar aplicativos Adabas & Natural no Azure: rehost e refactor. 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. Neste exemplo, o Natural é executado em três 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.

Operações

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

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. 

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.

Contribuidores

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

Autor principal:

  • Marlon Johnson - Brasil | TPM Sénior

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: