Arquitetura de solução para executar cargas de trabalho modernizadas do Blu Age em AWS - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Arquitetura de solução para executar cargas de trabalho modernizadas do Blu Age em AWS

A solução executa o aplicativo modernizado dentro de um contêiner Docker orquestrado pelo Amazon Elastic Container Service (Amazon ECS). O script shell wrapper executado na imagem do contêiner gerencia o aplicativo Java modernizado, como a coleta de entradas, a operação do código Java e o processamento e a entrega das saídas.

O código do aplicativo Java dentro do contêiner está fora do escopo deste guia. Em um alto nível, o script de shell do wrapper atua como o ponto de entrada para o contêiner e orquestra várias tarefas. Em tempo de execução, a definição de tarefa do ECS fornece os metadados ambientais, como os buckets do Amazon Simple Storage Service (Amazon S3), usando integrações nativas AWS Secrets Managercom o Parameter Store, um recurso de. AWS Systems Manager

A arquitetura a seguir foi projetada para executar cargas de trabalho de mainframe modernizadas usando a tecnologia sem servidor Serviços da AWS, eliminando a necessidade de gerenciar e manter a infraestrutura local.

Diagrama de arquitetura de um aplicativo de mainframe modernizado executado em uma infraestrutura sem AWS servidor.

O diagrama mostra o seguinte processo:

  1. Crie e armazene a imagem do contêiner no Amazon Elastic Container Registry (Amazon ECR). A definição de tarefa do Amazon ECS faz referência à imagem usando a tag de imagem.

  2. Use um dos seguintes tipos de recursos do Elastic Load Balancing para fornecer um ponto de entrada para solicitações:

    • Para serviços baseados em HTTP, use um Application Load Balancer. Isso permite o uso de certificados TLS para fornecer criptografia em trânsito e verificações de integridade do aplicativo.

    • Para outros serviços, como o IBM CICS, use um Network Load Balancer. Isso cria de forma transparente conexões proxy TCP (camada 4) para os contêineres no cluster do Amazon ECS.

      nota

      Para balanceadores de carga de rede, as verificações de integridade do contêiner exigem o estabelecimento de uma conexão TCP.

  3. Armazene configurações ambientais, como endpoints e credenciais do banco de dados, no Secrets Manager ou no Parameter Store. Com o Secrets Manager, você paga com base no número de segredos armazenados e nas chamadas de API feitas. Esse serviço é mais adequado para qualquer dado confidencial, como credenciais de banco de dados. Com o Parameter Store, não há cobrança adicional pelos parâmetros padrão e pela taxa de transferência padrão das interações da API. Esse serviço é mais adequado para outros dados não confidenciais, como parâmetros de registro em Java.

  4. Use o Amazon S3 para armazenar entradas e saídas de tarefas. O AWS Command Line Interface (AWS CLI) dentro do invólucro bash trata da integração do contêiner com o Amazon S3. Eventos do Amazon S3, como PutObject solicitações, podem ser usados para acionar fluxos de trabalho, como executar a tarefa do Amazon ECS para um trabalho em lote ou entregar resultados para consumidores posteriores.

  5. Use a edição compatível com o Amazon Aurora PostgreSQL como substituto do mecanismo de banco de dados de mainframe, como IBM Db2 ou IBM IMS. Detalhes da conexão, como endpoints e credenciais, são fornecidos em tempo de execução para a tarefa. Um dos aspectos mais desafiadores ao modernizar as cargas de trabalho do mainframe é garantir que as entradas correspondam entre o mainframe e as versões modernizadas do aplicativo. Existem poucas soluções de captura de dados alterados (CDC) em tempo real que podem replicar dados de um mainframe para um mecanismo de banco de dados moderno, como o PostgreSQL. Certifique-se de ter uma boa compreensão dos dados que o aplicativo modernizado precisa e de como eles serão disponibilizados.

  6. A definição da tarefa para serviços em tempo real inclui detalhes sobre a imagem do contêiner, quais portas TCP/IP devem ser apresentadas aos recursos de balanceamento de carga e o número de contêineres necessários em um determinado momento. O disjuntor de implantação integrado do Amazon ECS (postagem AWS no blog) fornece um mecanismo de implantação gerenciado e de atualização contínua que elimina a sobrecarga operacional do gerenciamento de implantações de serviços.

  7. A definição da tarefa para trabalhos em lotes inclui detalhes sobre a imagem do contêiner e todas as variáveis de ambiente necessárias para a configuração. Isso pode incluir os recursos disponíveis (como CPU, RAM ou armazenamento temporário), entradas, saídas e outras configurações.

  8. Use as notificações de eventos do Amazon S3 ou a Amazon EventBridge para iniciar fluxos de trabalho. Esses serviços podem iniciar um AWS Step Functions fluxo de trabalho ou processar objetos com base em eventos no Amazon S3, como quando um trabalho grava um objeto de saída em um bucket.

  9. Use AWS Step Functionspara encapsular a operação de trabalhos em lote no Amazon ECS. O fluxo de trabalho pode iniciar uma tarefa em lote, monitorar seu progresso e lidar com quaisquer erros.

Com cargas de trabalho de mainframe, é provável que seja necessário um certo grau de personalização. Essa arquitetura foi projetada para ser compatível com casos de uso comuns, e você pode estendê-la para dar suporte a muitos requisitos.