Replicar e sincronizar dados de mainframe no Azure

Fábrica de dados do Azure
Azure Databricks

Nesta arquitetura de referência, descrevemos um plano de implementação para replicar e sincronizar dados durante a modernização para o Azure. Discutimos aspectos técnicos como armazenamentos de dados, ferramentas e serviços.

Arquitetura

Architecture diagram showing how to sync on-premises and Azure databases during mainframe modernization.

Baixe um Arquivo Visio dessa arquitetura.

Workflow

Os sistemas de mainframe e midrange atualizam bancos de dados de aplicativos locais em um intervalo regular. Para manter a consistência, a solução sincroniza os dados mais recentes com os bancos de dados do Azure. O processo de sincronização tem as seguintes etapas:

  1. Estas ações ocorrem durante todo o processo:

    1. Um gateway de dados local transfere dados de maneira rápida e segura entre sistemas locais e serviços do Azure. Com essa configuração, o gateway de dados local pode receber instruções do Azure e replicar dados sem que a rede local exponha diretamente os ativos de dados locais.
    2. Os pipelines do Azure Data Factory orquestram atividades que variam da extração ao carregamento de dados. Você pode agendar atividades de pipeline, iniciá-las manualmente ou acioná-las automaticamente.
  2. Bancos de dados locais como Db2 zOS, Db2 para i e Db2 LUW armazenam os dados.

  3. Pipelines agrupam as atividades que executam tarefas. Para extrair dados, o Data Factory cria dinamicamente um pipeline por tabela local. Assim você pode usar uma implementação massivamente paralela ao replicar dados no Azure. Mas você também pode configurar a solução segundo seus requisitos:

    • Replicação completa: você replica todo o banco de dados, fazendo as modificações necessárias em tipos de dados e campos no banco de dados do Azure de destino.
    • Replicação parcial, delta ou incremental: você usa colunas de marca-d'água nas tabelas de origem para sincronizar linhas atualizadas com bancos de dados do Azure. As colunas contêm uma chave de incremento contínuo ou um carimbo de data/hora que indica a última atualização da tabela.

    O Data Factory também usa pipelines para as seguintes tarefas de transformação:

    • Conversão de tipo de dados
    • Manipulação de dados
    • Formatação de dados
    • Derivação de coluna
    • Nivelamento de dados
    • Classificação de dados
    • Filtragem de dados
  4. Um IR (Runtime de Integração) auto-hospedado é o ambiente que o Data Factory usa para executar e expedir atividades.

  5. O Azure Data Lake Storage Gen2 e o Armazenamento de Blobs do Azure são o local para preparo de dados. Às vezes, essa etapa é necessária para transformar e mesclar dados de várias fontes.

  6. A preparação de dados ocorre em seguida. O Data Factory usa o Azure Databricks, atividades personalizadas e fluxos de dados de pipeline para transformar dados de forma rápida e eficaz.

  7. O Data Factory carrega dados em bancos de dados relacionais e não relacionais do Azure:

    • SQL do Azure
    • Banco de Dados do Azure para PostgreSQL
    • Azure Cosmos DB
    • Azure Data Lake Storage
    • Banco de Dados do Azure para MariaDB
    • Banco de Dados do Azure para MySQL

    Em determinados casos de uso, outras ferramentas também podem carregar dados.

  8. Outras ferramentas também podem replicar e transformar dados:

    • DRDA (Microsoft Service for Distributed Relational Database Architecture): esses serviços DRDA podem se conectar à família de bancos de dados SQL do Azure e manter os bancos de dados locais atualizados. Esses serviços são executados em uma VM (máquina virtual) local ou em uma VM do Azure.
    • SSMA (SQL Server Migration Assistance) para Db2: esta ferramenta migra esquemas e dados de bancos de dados IBM Db2 para bancos de dados do Azure.
    • SSIS (SQL Server Integration Services): esta plataforma pode extrair, transformar e carregar dados.
    • Ferramentas de terceiros: quando a solução requer replicação quase em tempo real, você pode usar ferramentas de terceiros. Alguns desses agentes estão disponíveis no Azure Marketplace.
  9. O Azure Synapse Analytics gerencia os dados e os disponibiliza para aplicativos de business intelligence e machine learning.

Componentes

A solução usa os seguintes componentes:

Ferramentas

  • O Serviço Microsoft para DRDA é um componente do HIS (HOST Integration Server). O Serviço Microsoft para DRDA é um AS (Servidor de Aplicativo) que os clientes do AR (Solicitante de Aplicativo) DRDA usam. Exemplos de clientes AR DRDA incluem IBM Db2 para z/OS e Db2 para i5/OS. Esses clientes usam o AS para converter instruções SQL Db2 e executá-las em SQL Server.

  • O SSMA para Db2 automatiza a migração do Db2 para os serviços de banco de dados da Microsoft. Executando em uma VM, essa ferramenta converte objetos de banco de dados Db2 em objetos de banco de dados do SQL Server e os cria no SQL Server. O SSMA para Db2 migra dados do Db2 para os seguintes serviços:

    • SQL Server 2012
    • SQL Server 2014
    • SQL Server 2016
    • SQL Server 2017 no Windows e no Linux
    • SQL Server 2019 no Windows e no Linux
    • Banco de Dados SQL do Azure
  • O Azure Synapse Analytics é um serviço de análise para data warehouses e sistemas de big data. Essa ferramenta usa tecnologias do Spark e tem integração profunda com o Power BI, o Azure Machine Learning e outros serviços do Azure.

Integradores de dados

  • O Azure Data Factory é um serviço híbrido de integração de dados. Essa solução sem servidor e totalmente gerenciada pode ser usada para criar, agendar e orquestrar fluxos de trabalho de ETL e ELT.

  • O Azure Synapse Analytics é um serviço de análise empresarial que acelera o tempo de insight entre data warehouses e sistemas de Big Data. O Azure Synapse reúne o melhor das tecnologias SQL (que são usadas no armazenamento de dados corporativos), tecnologias Spark usadas para big data, Data Explorer para análise de log e séries temporais, Pipelines para integração de dados e ETL/ELT e integração profunda com outros serviços do Azure, como Power BI, Azure Cosmos DB e Azure Machine Learning.

  • O SSIS (SQL Server Integration Services) é uma plataforma para criar soluções de transformação e integração de dados em nível empresarial. Você pode usar o SSIS para gerenciar, replicar, limpar e minerar dados.

  • O Azure Databricks é uma plataforma de análise de dados. Com base no sistema de processamento distribuído de código aberto Apache Spark, o Azure Databricks é otimizado para a plataforma de nuvem do Azure. Em um fluxo de trabalho de análise, o Azure Databricks lê dados de várias fontes e usa o Spark para oferece insights.

Armazenamento de dados

  • O Banco de Dados SQL do Azure faz parte da família SQL do Azure e é criado para a nuvem. Esse serviço oferece todos os benefícios de uma plataforma como serviço totalmente gerenciada e persistente. O Banco de Dados SQL também fornece recursos automatizados da plataforma AI que otimizam o desempenho e a durabilidade. As opções de armazenamento de Hiperescala e de computação sem servidor dimensionam automaticamente os recursos sob demanda.

  • A Instância Gerenciada de SQL faz parte do portfólio de serviços SQL do Azure. Esse serviço de banco de dados de nuvem inteligente e escalonável combina a mais ampla compatibilidade de mecanismo de banco de dados do SQL Server com todos os benefícios de uma PaaS (plataforma como serviço) persistente e totalmente gerenciada. Com a Instância Gerenciada de SQL, você pode modernizar aplicativos em escala.

  • O SQL Server em VMs do Azure é uma forma de migrar as cargas de trabalho do SQL Server para a nuvem com 100% de compatibilidade de código. Como parte da família SQL do Azure, SQL Server em VMs do Azure oferece o desempenho combinado, a segurança e a análise de SQL Server com a flexibilidade e a conectividade híbrida do Azure. Com SQL Server em VMs do Azure, você pode criar ou migrar aplicativos. Também pode acessar as atualizações e as versões mais recentes do SQL Server, incluindo o SQL Server 2019.

  • O Banco de Dados do Azure para PostgreSQL é um serviço de banco de dados relacional totalmente gerenciado, baseado na edição da comunidade do mecanismo de banco de dados PostgreSQL de código aberto. Com esse serviço, você pode se concentrar na inovação de aplicativos em vez do gerenciamento de banco de dados. Você também pode dimensionar sua carga de trabalho de maneira rápida e fácil.

  • O Azure Cosmos DB é um banco de dados multimodelo distribuído globalmente. Com o Azure Cosmos DB, suas soluções podem dimensionar de maneira elástica e independente a taxa de transferência e o armazenamento em qualquer quantidade de regiões geográficas. Este serviço de banco de dados NoSQL totalmente gerenciado garante latências de milissegundos de dígito único no 99º percentil em qualquer lugar do mundo.

  • O Data Lake Storage é um repositório de armazenamento que contém uma grande quantidade de dados em seu formato nativo e bruto. Os repositórios Data lake são otimizados para dimensionamento para terabytes e petabytes de dados. Normalmente, os dados vêm de várias fontes heterogêneas e podem ser estruturados, semiestruturados ou não estruturados. O Data Lake Storage Gen2 combina os recursos do Data Lake Storage Gen1 com o Armazenamento de Blobs. Essa solução de data lake de última geração oferece semântica do sistema de arquivos, segurança em nível de arquivo e escala. Mas também oferece as funcionalidades de armazenamento em camadas, de alta disponibilidade e de recuperação de desastre do Armazenamento de Blobs.

  • O Banco de Dados do Azure para MariaDB é um serviço de banco de dados relacional baseado em nuvem. Esse serviço é baseado no mecanismo de banco de dados de edição da comunidade do MariaDB.

  • O Banco de Dados do Azure para MySQL é um serviço de banco de dados relacional totalmente gerenciado, baseado na edição da comunidade do mecanismo de banco de dados MySQL de código aberto.

  • O Armazenamento de Blobs é um armazenamento otimizado para objetos de nuvem que gerencia grandes quantidades de dados não estruturados.

Rede

Detalhes do cenário

A disponibilidade e a integridade de dados desempenham um papel importante na modernização de mainframes e midranges. As estratégias com prioridade nos dados ajudam a manter os dados intactos e disponíveis durante a migração para o Azure. Para não afetar aplicativos durante a modernização, às vezes é preciso replicar dados rapidamente ou manter os dados locais em sincronia com os bancos de dados do Azure.

Especificamente, esta solução abrange:

  • Extração: conectar-se ao banco de dados de origem e extrair dados dele.
  • Transformação:
    • Preparo: armazenar dados temporariamente no formato original e prepará-los para a transformação.
    • Preparação: transformar e manipular dados usando regras de mapeamento que atendem aos requisitos do banco de dados de destino.
  • Carregamento: inserir dados em um banco de dados de destino.

Possíveis casos de uso

Os cenários de replicação e sincronização de dados que podem se beneficiar dessa solução incluem:

  • Arquiteturas de CQRS (Segregação de Responsabilidade de Consulta de Comando) que usam o Azure para atender a todos os canais de consulta.
  • Ambientes que testam aplicativos locais e redirecionam ou geram novamente aplicativos em paralelo.
  • Sistemas locais com aplicativos fortemente acoplados que exigem correção ou modernização em fases.

Recomendações

Ao usar o Data Factory para extrair dados, execute as etapas para ajustar o desempenho da atividade de cópia.

Considerações

Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios de orientação que podem ser usados para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, confira Microsoft Azure Well-Architected Framework.

Tenha estes pontos em mente ao considerar essa arquitetura.

Confiabilidade

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

  • O gerenciamento de infraestrutura, incluindo disponibilidade, é automatizado em bancos de dados do Azure.

  • Confira Pooling e failover para obter informações sobre a proteção de failover que o Serviço Microsoft para DRDA oferece.

  • Você pode agrupar o gateway de dados local e o IR para ter maior garantia de disponibilidade.

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.

Otimização de custo

A otimização de custos é a análise de maneiras de reduzir as 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.

  • Os modelos de preços variam entre os serviços de componentes. Analise os modelos de preços dos serviços de componentes disponíveis para garantir que os modelos de preços se ajustem ao seu orçamento.

  • Use a Calculadora de preços do Azure para estimar o custo da implantação dessa solução.

Excelência operacional

A excelência operacional abrange os processos de operações que implantam um aplicativo e o mantêm em execução na produção. Para obter mais informações, confira Visão geral do pilar de excelência operacional.

  • O gerenciamento de infraestrutura, incluindo escalabilidade, é automatizado em bancos de dados do Azure.

  • Para escalar horizontalmente o IR auto-hospedado, é possível associar a instância lógica a vários computadores locais no modo ativo-ativo.

  • É possível agrupar o gateway de dados local e o IR para escalabilidade.

Eficiência de desempenho

A eficiência do desempenho é a capacidade de dimensionar sua carga de trabalho para atender às demandas colocadas por usuários de maneira eficiente. Para saber mais, confira Visão geral do pilar de eficiência de desempenho.

Próximas etapas