Replique bancos de dados de mainframe AWS usando o Precisely Connect - Recomendações da AWS

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

Replique bancos de dados de mainframe AWS usando o Precisely Connect

Criado por Lucio Pereira (AWS), Balaji Mohan () e Sayantan Giri (AWS) AWS

Ambiente: produção

Origem: mainframe on-premises

Alvo: AWS bancos de dados

Tipo R: redefinir arquitetura

Workload: todas as outras workloads

Tecnologias: bancos de dados CloudNative; mainframe; modernização

AWSserviços: Amazon DynamoDB; Amazon Keyspaces; Amazon; MSK Amazon; Amazon RDS ElastiCache

Resumo

Esse padrão descreve as etapas para replicar dados de bancos de dados de mainframe para armazenamentos de dados da Amazon quase em tempo real usando o Precisely Connect. Ele implementa uma arquitetura baseada em eventos com o Amazon Managed Streaming for Apache Kafka MSK (Amazon) e conectores de banco de dados personalizados na nuvem para melhorar a escalabilidade, a resiliência e o desempenho.

O Precisely Connect é uma ferramenta de replicação que captura dados de sistemas de mainframe legados e os integra a ambientes de nuvem. Os dados são replicados dos mainframes para AWS por meio da captura de dados de alteração (CDC) usando fluxos de mensagens quase em tempo real com pipelines de dados heterogêneos de baixa latência e alto rendimento. 

Esse padrão também abrange uma estratégia de recuperação de desastres para pipelines de dados resilientes com replicação de dados em várias regiões e roteamento por failover.

Pré-requisitos e limitações

Pré-requisitos

  • Um banco de dados de mainframe existente — por exemplo IBMDB2, Sistema de Gerenciamento de IBM Informações (IMS) ou Método de Acesso ao Armazenamento Virtual (VSAM) — que você deseja replicar para a nuvem AWS

  • Uma AWSconta ativa

  • AWSDirect Connect ou Rede Privada AWS Virtual (AWSVPN) do seu ambiente corporativo para AWS

  • Uma nuvem privada virtual com uma sub-rede que pode ser acessada por sua plataforma legada

Arquitetura

Pilha de tecnologia de origem

Um ambiente de mainframe que inclua pelo menos um dos seguintes bancos de dados:

  • IBMIMSbanco de dados

  • IBMDB2banco de dados

  • VSAMarquivos

Pilha de tecnologias de destino

  • Amazon MSK

  • Amazon Elastic Kubernetes Service (Amazon) e Amazon Anywhere EKS EKS

  • Docker

  • Um banco de dados AWS relacional ou sem SQL banco de dados, como o seguinte:

    • Amazon DynamoDB

    • Amazon Relational Database Service (RDSAmazon) para Oracle, Amazon para SQL Postgre ou RDS Amazon Aurora

    • Amazon ElastiCache para Redis

    • Amazon Keyspaces (para Apache Cassandra)

Arquitetura de destino

Replicação de dados de mainframe em bancos de dados AWS

O diagrama a seguir ilustra a replicação de dados de mainframe em um AWS banco de dados como DynamoDB, AmazonRDS, Amazon ou Amazon ElastiCache Keyspaces. A replicação ocorre quase em tempo real usando o Precisely Capture and Publisher em seu ambiente de mainframe local, o Precisely Dispatcher no EKS Amazon Anywhere em seu ambiente distribuído local e os conectores de banco de dados e do Precisely Apply Engine na nuvem. AWS 

Replicação de dados de mainframe em bancos de dados AWS

O diagrama mostra o seguinte fluxo de trabalho:

  1. O Precised Capture obtém dados do mainframe dos CDC registros e mantém os dados em armazenamento temporário interno.

  2. O Precisely Publisher escuta as alterações no armazenamento interno de dados e envia CDC registros para o Precisely Dispatcher por meio de uma TCP conexão /IP.

  3. Precisamente, o Dispatcher recebe os CDC registros do Publisher e os envia para a Amazon. MSK O Dispatcher cria chaves Kafka com base na configuração do usuário e em várias tarefas de trabalho para enviar dados paralelamente. O Dispatcher envia uma confirmação de volta ao editor quando os registros são armazenados na Amazon. MSK

  4. A Amazon MSK detém os CDC recordes no ambiente de nuvem. O tamanho da partição dos tópicos depende dos requisitos do sistema de processamento de transações (TPS) para taxa de transferência. A chave Kafka é obrigatória para futuras transformações e pedidos de transações.

  5. O Precisely Apply Engine escuta os CDC registros da Amazon MSK e transforma os dados (por exemplo, filtrando ou mapeando) com base nos requisitos do banco de dados de destino. Você pode adicionar lógica personalizada aos SQD scripts do Precisely. (SQDé a linguagem proprietária da Precisely.) O Mecanismo de Aplicação Precisa transforma cada CDC registro em Apache Avro ou JSON formato e o distribui para diferentes tópicos com base em seus requisitos.

  6. Os tópicos alvo do Kafka mantêm CDC registros em vários tópicos com base no banco de dados de destino, e o Kafka facilita a ordenação de transações com base na chave definida do Kafka. As chaves de partição se alinham com as partições correspondentes para suportar um processo sequencial. 

  7. Os conectores de banco de dados (aplicativos Java personalizados) escutam os CDC registros da Amazon MSK e os armazenam no banco de dados de destino.

  8. Você pode selecionar um banco de dados de destino dependendo das suas necessidades. Esse padrão oferece suporte a bancos de dados Não SQL e relacionais.

Recuperação de desastres

A continuidade dos negócios é fundamental para o sucesso da organização. A AWS nuvem fornece recursos para alta disponibilidade (HA) e recuperação de desastres (DR), além de oferecer suporte aos planos de failover e fallback da sua organização. Esse padrão segue uma estratégia de DR ativa/passiva e fornece orientação de alto nível para implementar uma estratégia de DR que atenda aos seus requisitos. RTO RPO

O diagrama a seguir mostra o fluxo de trabalho do DR.

Fluxo de trabalho de recuperação de desastres para replicar dados de mainframe em AWS

O diagrama mostra o seguinte:

  1. Um failover semiautomático é necessário se ocorrer alguma falha na AWS Região 1. No caso de falha na Região 1, o sistema deve iniciar as alterações de roteamento para conectar o Precisely Dispatcher à Região 2. 

  2. A Amazon MSK replica dados por meio de espelhamento entre regiões. Por esse motivo, durante o failover, o MSK cluster da Amazon na Região 2 deve ser promovido como líder principal. 

  3. O Precisely Apply Engine e os conectores de banco de dados são aplicativos sem estado que podem funcionar em qualquer região. 

  4. A sincronização do banco de dados depende do banco de dados de destino. Por exemplo, o DynamoDB pode usar tabelas globais ElastiCache e pode usar datastores globais.

Processamento de baixa latência e alto throughput por meio de conectores de banco de dados

Os conectores de banco de dados são componentes essenciais nesse padrão. Os conectores seguem uma abordagem baseada em ouvintes para coletar dados da Amazon MSK e enviar transações para o banco de dados por meio de processamento de alta taxa de transferência e baixa latência para aplicativos de missão crítica (níveis 0 e 1). O diagrama a seguir ilustra esse processo.

Usando conectores de banco de dados para replicar dados de mainframe em AWS

Esse padrão é compatível com o desenvolvimento de um aplicativo personalizado com consumo de thread único por meio de um mecanismo de processamento multithread.

  1. O encadeamento principal do conector consome CDC registros da Amazon MSK e os envia ao pool de encadeamentos para processamento.

  2. Os encadeamentos do pool de encadeamentos processam CDC os registros e os enviam para o banco de dados de destino.

  3. Se todos os tópicos estiverem ocupados, os CDC registros serão mantidos em espera pela fila de tópicos.

  4. O tópico principal espera que todos os registros sejam apagados da fila de tópicos e confirma as compensações na Amazon. MSK

  5. Os tópicos secundários lidam com falhas. Se ocorrerem falhas durante o processamento, as mensagens com falha serão enviadas para o tópico DLQ (fila de letras mortas).

  6. Os threads secundários iniciam atualizações condicionais (consulte Expressões de condição na documentação do DynamoDB), com base no timestamp do mainframe, para evitar duplicações ou atualizações no banco de dados. out-of-order

Para obter informações sobre como implementar um aplicativo de consumidor do Kafka com recursos de múltiplos encadeamentos, consulte a postagem do blog Consumo de mensagens com múltiplos encadeamentos com o consumidor Apache Kafka no site do Confluent.

Ferramentas

AWSserviços

Outras ferramentas

  • O Precisely Connect integra dados de sistemas de mainframe antigos, como VSAM conjuntos de dados ou bancos de dados de IBM mainframe, às plataformas de nuvem e dados da próxima geração.

Práticas recomendadas

  • Encontrar a melhor combinação de partições Kafka e conectores com múltiplos encadeamentos para equilibrar desempenho e custo ideais. Várias instâncias do Precisely Capture and Dispatcher podem aumentar o custo devido ao maior consumo MIPS (milhões de instruções por segundo).

  • Evitar adicionar lógica de manipulação e transformação de dados aos conectores do banco de dados. Para isso, use o Precisely Apply Engine, que fornece tempos de processamento em microssegundos.

  • Crie chamadas periódicas de solicitação ou verificação de integridade para o banco de dados (pulsações) nos conectores do banco de dados para aquecer a conexão com frequência e reduzir a latência.

  • Implemente a lógica de validação do pool de encadeamentos para entender as tarefas pendentes na fila de encadeamentos e aguarde a conclusão de todos os threads antes da próxima pesquisa do Kafka. Isso ajuda a evitar a perda de dados se um nó, contêiner ou processo falhar.

  • Exponha métricas de latência por meio de endpoints de integridade para aprimorar os recursos de observabilidade por meio de painéis e mecanismos de rastreamento.

Épicos

TarefaDescriçãoHabilidades necessárias

Configure o processo de mainframe (utilitário em lote ou on-line) para iniciar o CDC processo a partir de bancos de dados de mainframe.

  1. Identificar o ambiente de mainframe.

  2. Identifique os bancos de dados de mainframe que estarão envolvidos no CDC processo.

  3. No ambiente de mainframe, desenvolva um processo que inicie a CDC ferramenta para capturar alterações no banco de dados de origem. Para obter instruções, consulte a documentação do seu mainframe.

  4. Documente o CDC processo, incluindo a configuração.

  5. Implantar o processo em ambientes de teste e produção. 

Engenheiro de mainframe

Ativar os fluxos de log do banco de dados de mainframe.

  1. Configure fluxos de registros no ambiente de mainframe para capturar CDC registros. Para obter instruções, consulte a documentação do seu mainframe.

  2. Testar os fluxos de logs para garantir que eles capturem os dados necessários.

  3. Implantar os fluxos de log em ambientes de teste e produção.

Especialista em banco de dados de mainframe

Use o componente Capturar para capturar CDC registros.

  1. Instalar e configurar o componente Precisely Capture no ambiente de mainframe. Para obter instruções, consulte a Documentação do Precisely.

  2. Testar a configuração para garantir que o componente Capture funcione corretamente.

  3. Configure um processo de replicação para replicar os CDC registros capturados por meio do componente Capture.

  4. Documentar a configuração do Capture para cada banco de dados de origem.

  5. Desenvolver um sistema de monitoramento para garantir que o componente Capture colete os logs adequadamente ao longo do tempo.

  6. Implantar a instalação e as configurações nos ambientes de teste e produção.

Engenheiro de mainframe, Precisely Connect SME

Configurar o componente Publisher para receber o componente Capture.

  1. Instalar e configurar o componente Precisely Publisher no ambiente de mainframe. Para obter instruções, consulte a Documentação do Precisely.

  2. Testar a configuração para garantir que o componente Publisher funcione corretamente.

  3. Configure um processo de replicação para publicar os CDC registros no componente Precisely Dispatcher do Publisher.

  4. Documentar a configuração do Publisher.

  5. Desenvolver um sistema de monitoramento para garantir que o componente Publisher funcione adequadamente ao longo do tempo.

  6. Implantar a instalação e as configurações nos ambientes de teste e produção.

Engenheiro de mainframe, Precisely Connect SME

Provisione o Amazon EKS Anywhere no ambiente distribuído local.

  1. Instale o Amazon EKS Anywhere na infraestrutura local e garanta que ela esteja configurada corretamente. Para obter instruções, consulte a documentação do Amazon EKS Anywhere.

  2. Configurar um ambiente de rede seguro para o cluster Kubernetes, incluindo firewalls.

  3. Implemente e teste o exemplo de implantação do aplicativo no cluster Amazon EKS Anywhere.

  4. Implementar recursos de escalabilidade automática para o cluster.

  5. Desenvolver e implementar procedimentos de backup e recuperação de desastres. 

DevOps engenheiro

Implante e configure o componente Dispatcher no ambiente distribuído para publicar os tópicos na AWS nuvem.

  1. Configurar e colocar em contêineres o componente Precisely Dispatcher. Para obter instruções, consulte a Documentação do Precisely.

  2. Implante a imagem do Dispatcher Docker no ambiente local do Amazon Anywhere. EKS

  3. Configure uma conexão segura entre a AWS nuvem e o Dispatcher.

  4. Desenvolver um sistema de monitoramento para garantir que o componente Dispatcher funcione adequadamente ao longo do tempo.

  5. Implantar a instalação e as configurações nos ambientes de teste e produção. 

DevOps engenheiro, Precisely Connect SME
TarefaDescriçãoHabilidades necessárias

Provisione um EKS cluster da Amazon na AWS região designada.

  1. Faça login na sua AWS conta e configure-a para garantir que as permissões necessárias estejam em vigor para criar e gerenciar o EKS cluster da Amazon.

  2. Crie uma nuvem privada virtual (VPC) e sub-redes na região selecionadaAWS. Para obter instruções, consulte a EKSdocumentação da Amazon.

  3. Crie e configure os grupos de segurança de rede necessários para permitir a comunicação entre o EKS cluster da Amazon e outros recursos noVPC. Para obter mais informações, consulte a EKSdocumentação da Amazon.

  4. Crie o EKScluster da Amazon e configure-o com o tamanho correto do grupo de nós e os tipos de instância.

  5. Valide o EKS cluster da Amazon implantando um aplicativo de amostra.

DevOps engenheiro, administrador de rede

Provisione um MSK cluster e configure os tópicos aplicáveis do Kafka.

  1. Configure sua AWS conta para garantir que as permissões necessárias estejam em vigor para criar e gerenciar o MSK cluster.

  2. Crie e configure os grupos de segurança de rede necessários para permitir a comunicação entre o MSK cluster e outros recursos noVPC. Para obter mais informações, consulte a VPCdocumentação da Amazon.

  3. Crie o MSK cluster e configure-o para incluir os tópicos do Kafka que serão usados pelo aplicativo. Para obter mais informações, consulte a MSKdocumentação da Amazon.

DevOps engenheiro, administrador de rede

Configurar o componente Apply Engine para ser receptor dos tópicos replicados do Kafka.

  1. Configurar e conteinerizar o componente Precisely Apply Engine.

  2. Implante a imagem Apply Engine Docker no EKS cluster da Amazon em sua AWS conta.

  3. Configure o Apply Engine para ouvir MSK tópicos.

  4. Desenvolva e configure um SQD script no Apply Engine para lidar com a filtragem e a transformação. Para obter mais informações, consulte a Documentação do Precisely.

  5. Implantar o Apply Engine em ambientes de teste e produção.

Conecte-se com precisão SME

Provisione instâncias de banco de dados na AWS nuvem.

  1. Configure sua AWS conta para garantir que as permissões necessárias estejam em vigor para criar e gerenciar clusters e tabelas de banco de dados. Para obter instruções, consulte a AWS documentação do serviço AWS de banco de dados que você deseja usar. (Consulte a seção Recursos para obter links).

  2. Crie sub-redes a VPC e na região selecionadaAWS.

  3. Crie e configure os grupos de segurança de rede necessários para permitir a comunicação entre as instâncias de banco de dados e outros recursos noVPC.

  4. Criar os bancos de dados e configurá-los para incluir as tabelas que o aplicativo usará.

  5. Projetar e validar os esquemas do banco de dados. 

Engenheiro de dados, DevOps engenheiro

Configurar e implantar conectores de banco de dados para receber os tópicos publicados pelo Apply Engine.

  1. Crie conectores de banco de dados para conectar os tópicos do Kafka aos AWS bancos de dados que você criou nas etapas anteriores.

  2. Desenvolver os conectores com base no banco de dados de destino.

  3. Configurar os conectores para receber os tópicos do Kafka publicados pelo Apply Engine.

  4. Implante os conectores no EKS cluster da Amazon.

Desenvolvedor de aplicativos, arquiteto de nuvem, engenheiro de dados
TarefaDescriçãoHabilidades necessárias

Definir metas de recuperação de desastres para seus aplicativos de negócios.

  1. Defina as RTO metas RPO e os objetivos dos CDC pipelines com base nas necessidades de seus negócios e na análise de impacto.

  2. Definir os procedimentos de comunicação e notificação para garantir que todas as partes interessadas estejam cientes do plano de recuperação de desastres.

  3. Determinar o orçamento e os recursos necessários para implementar o plano de recuperação de desastres.

  4. Documente as metas de recuperação de desastres, incluindo as RTO metas RPO e.

Arquiteto de nuvem, engenheiro de dados, proprietário do aplicativo

Projete estratégias de recuperação de desastres com base emRTO/definidoRPO.

  1. Determine as estratégias de recuperação de desastres mais apropriadas para CDC pipelines com base em seus requisitos de criticidade e recuperação.

  2. Definir a arquitetura e a topologia da recuperação de desastres.

  3. Defina os procedimentos de failover e failback para CDC pipelines para garantir que eles possam ser transferidos de forma rápida e perfeita para a região de backup.

  4. Documentar as estratégias e procedimentos de recuperação de desastres e garanta que todas as partes interessadas tenham uma compreensão clara do projeto.

Arquiteto de nuvem, engenheiro de dados

Provisionar clusters e configurações de recuperação de desastres.

  1. Provisione uma AWS região secundária para recuperação de desastres.

  2. Na AWS região secundária, crie um ambiente idêntico à AWS região primária.

  3. Configure o Apache Kafka MirrorMaker entre as regiões primária e secundária. Para obter mais informações, consulte a MSKdocumentação da Amazon.

  4. Configurar aplicativos em espera na região secundária.

  5. Configurar replicações de banco de dados entre as regiões primária e secundária.

DevOps engenheiro, administrador de rede, arquiteto de nuvem

Teste o CDC pipeline para recuperação de desastres.

  1. Defina o escopo e os objetivos do teste de recuperação de desastres para o CDC pipeline, incluindo os cenários de teste e RTO a serem alcançados.

  2. Identificar o ambiente de teste e a infraestrutura para realizar o teste de recuperação de desastres.

  3. Preparar os conjuntos de dados de teste e o script para simular cenários de falha.

  4. Verificar a integridade e a consistência dos dados para garantir que não haja perda de dados.

Proprietário do aplicativo, engenheiro de dados, arquiteto de nuvem

Recursos relacionados

AWSrecursos

Conecte recursos com precisão

Recursos confluentes