Replicar e sincronizar dados de mainframe com o Azure
Este exemplo de arquitetura descreve um plano de implementação para replicar e sincronizar dados durante a modernização para o Azure. Ele descreve aspectos técnicos, como armazenamentos de dados, ferramentas e serviços.
Arquitetura
Baixe um arquivo do Visio dessa arquitetura.
Workflow
O fluxo de dados a seguir corresponde ao diagrama anterior:
Os sistemas de mainframe e midrange atualizam bancos de dados de aplicativos locais em intervalos regulares. Para manter a consistência, essa solução sincroniza os dados mais recentes com os bancos de dados do Azure. O processo de sincronização envolve as etapas a seguir.
Os pipelines dinâmicos do Azure Data Factory orquestram atividades que variam desde a extração de dados até o carregamento de dados. Você pode agendar atividades de pipeline, iniciá-las manualmente ou acioná-las automaticamente.
Os pipelines agrupam as atividades que executam tarefas. Para extrair dados, o Azure Data Factory cria dinamicamente um pipeline para cada tabela local. Em seguida, você pode usar uma implementação massivamente paralela ao replicar dados no Azure. Você também pode configurar a solução para atender às suas necessidades:
Replicação completa: Você replica todo o banco de dados e faz as modificações necessárias nos 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 em tabelas de origem para sincronizar as linhas atualizadas com bancos de dados do Azure. Essas colunas contêm uma chave de incremento contínuo ou um carimbo de data/hora que indica a última atualização da tabela.
O Azure 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
Bancos de dados locais como Db2 zOS, Db2 for i e Db2 LUW armazenam os dados do aplicativo.
Um IR (Integration Runtime) auto-hospedado fornece o ambiente que o Azure Data Factory usa para executar e expedir atividades.
O Azure Data Lake Storage Gen2 e o Armazenamento de Blobs do Azure preparam os dados. Às vezes, essa etapa é necessária para transformar e mesclar dados de várias fontes.
Para preparação de dados, o Azure Data Factory usa o Azure Databricks, atividades personalizadas e fluxos de dados de pipeline para transformar dados de forma rápida e eficaz.
O Azure Data Factory carrega dados nos seguintes 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 MySQL
O SQL Server Integration Services (SSIS) extrai, transforma e carrega dados.
O gateway de dados local é um aplicativo cliente Windows instalado localmente que atua como uma ponte entre suas fontes de dados locais locais e os serviços do Azure.
Um pipeline de dados no Microsoft Fabric é um agrupamento lógico de atividades que executam a ingestão de dados do Db2 para o armazenamento e bancos de dados do Azure.
Se a solução exigir replicação quase em tempo real, você poderá usar ferramentas que não sejam da Microsoft.
Componentes
Esta seção descreve outras ferramentas que você pode usar durante a modernização, sincronização e integração de dados.
Integradores de dados
a do Azure Data Factory é um serviço de integração de dados híbridos. Você pode usar essa solução totalmente gerenciada e sem servidor para criar, programar e orquestrar fluxos de trabalho de extração, transformação e carregamento (ETL) e fluxos de trabalho de extração, carregamento e transformação (ELT).
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 Analytics combina o melhor das seguintes tecnologias e serviços:
Tecnologias SQL para data warehouse corporativo
Tecnologias Spark para Big Data
Azure Data Explorer para análise de log e série temporal
Azure Pipelines para integração de dados e fluxos de trabalho ETL e ELT
Integração profunda com outros serviços do Azure, como Power BI, Azure Cosmos DB e Azure Machine Learning
O SSIS é uma plataforma para criar soluções de integração e transformação de dados de 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. Ele é baseado no sistema de processamento distribuído de software livre Apache Spark e é 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 fornecer insights.
Armazenamento de dados
O Banco de Dados SQL do Azure faz parte da família SQL do Azure e foi criado para a nuvem. Esse serviço oferece os benefícios de uma plataforma como serviço (PaaS) totalmente gerenciada e perene. O Banco de Dados SQL também fornece recursos automatizados e baseados em IA que otimizam o desempenho e a durabilidade. As opções de computação sem servidor e armazenamento em hiperescala dimensionam automaticamente os recursos sob demanda.
A Instância Gerenciada de SQL do Azure faz parte do portfólio de serviços SQL do Azure. Esse serviço de banco de dados em nuvem inteligente e escalonável combina a mais ampla compatibilidade do mecanismo do SQL Server com todos os benefícios de uma PaaS totalmente gerenciada e perene. Use a Instância Gerenciada de SQL para modernizar aplicativos existentes em escala.
O SQL Server em Máquinas Virtuais do Azure fornece uma maneira de migrar cargas de trabalho do SQL Server para a nuvem com compatibilidade completa de código. Como parte da família SQL do Azure, o SQL Server em Máquinas Virtuais do Azure fornece o desempenho, a segurança e a análise combinados do SQL Server com a flexibilidade e a conectividade híbrida do Azure. Use o SQL Server em Máquinas Virtuais do Azure para migrar aplicativos existentes ou criar novos aplicativos. Você também pode acessar as atualizações e 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 software livre. Use esse serviço para se concentrar na inovação de aplicativos em vez do gerenciamento de banco de dados. Você também pode dimensionar sua carga de trabalho conforme necessário.
O Azure Cosmos DB é um banco de dados de vários modelos distribuído globalmente. Use o Azure Cosmos DB para garantir que suas soluções possam dimensionar de forma elástica e independente a taxa de transferência e o armazenamento em qualquer número de regiões geográficas. Este serviço de banco de dados NoSQL totalmente gerenciado garante latências de milissegundos de um dígito no nonagésimo nono 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 bruto nativo. Os repositórios de data lake são otimizados para dimensionamento para terabytes e petabytes de dados. Os dados geralmente vêm de fontes múltiplas e 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 fornece semântica do sistema de arquivos, segurança em nível de arquivo e escala. Ele também fornece os recursos de armazenamento em camadas, alta disponibilidade e recuperação de desastre do Armazenamento de Blobs.
O Microsoft Fabric é uma plataforma de análise de ponta a ponta pronta para a empresa. Ele unifica a movimentação de dados, o processamento de dados, a ingestão, a transformação, o roteamento de eventos em tempo real e a criação de relatórios. Ele oferece suporte a esses recursos usando serviços integrados como Fabric Data Engineer, Fabric Data Factory, Fabric Data Science, Fabric Real-Time Intelligence, Fabric Data Warehouse e Fabric Databases.
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 software livre.
Outras ferramentas
O Microsoft Service for Distributed Relational Database Architecture (DRDA) é um componente do Host Integration Server. O Serviço da Microsoft para DRDA é um servidor de aplicativos que os clientes do DRDA Application Requester (AR) usam. Exemplos de clientes DRDA AR incluem IBM Db2 para z/OS e Db2 para i5/OS. Esses clientes usam o servidor de aplicativos para converter instruções SQL do Db2 e executá-las no SQL Server.
O Assistente de Migração do SQL Server para Db2 automatiza a migração do Db2 para os serviços de banco de dados da Microsoft. Essa ferramenta é executada em uma máquina virtual. Ele converte objetos de banco de dados Db2 em objetos de banco de dados SQL Server e cria esses objetos em SQL.
Detalhes do cenário
A disponibilidade e a integridade dos dados são essenciais na modernização de mainframe e midrange. As estratégias de dados em primeiro lugar ajudam a manter os dados intactos e disponíveis durante a migração para o Azure. Para evitar interrupções durante a modernização, às vezes você precisa replicar dados rapidamente ou manter os dados locais em sincronia com os bancos de dados do Azure.
Especificamente, esta solução abrange:
Extração: conecte-se e extraia dados de um banco de dados de origem.
Transformação:
Preparação: armazene temporariamente os dados em seu formato original e prepare-os para a transformação.
Preparação: transforme e manipule dados usando regras de mapeamento que atendam aos requisitos do banco de dados de destino.
Carregando: Insira 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 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 aplicativos rehospedados ou reprojetados em paralelo.
Sistemas locais que têm aplicativos fortemente acoplados que exigem correção ou modernização em fases.
Recomendações
Você pode aplicar as recomendações a seguir à maioria dos cenários. Siga estas recomendações, a menos que você tenha um requisito específico que as substitua.
Ao usar o Azure Data Factory para extrair dados, execute etapas para ajustar o desempenho da atividade de cópia.
Considerações
Essas considerações implementam os pilares do Azure Well-Architected Framework, um conjunto de princípios orientadores que você pode usar para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, confira Microsoft Azure Well-Architected Framework.
Fiabilidade
A confiabilidade ajuda a garantir que seu aplicativo possa cumprir os compromissos que você faz aos seus clientes. Para obter mais informações, consulte Lista de verificação de revisão de design para confiabilidade.
O gerenciamento de infraestrutura, incluindo a disponibilidade, é automatizado em bancos de dados do Azure.
Para obter informações sobre o Serviço Microsoft para proteção de failover DRDA, consulte Pooling e failover.
Você pode agrupar o gateway de dados local e o IR para fornecer garantias de maior disponibilidade.
Segurança
A segurança fornece garantias contra ataques deliberados e o uso indevido de seus valiosos dados e sistemas. Para obter mais informações, consulte Lista de verificação de revisão de design para segurança.
Use grupos de segurança de rede para limitar o acesso apenas às funções necessárias para cada serviço.
Use pontos de extremidade privados para seus serviços de PaaS. Use firewalls de serviço que podem ser acessados e inacessíveis pela Internet para complementar a segurança de seus serviços.
Use identidades gerenciadas para fluxos de dados de componente para componente.
Para obter informações sobre os tipos de conexões de cliente compatíveis com o Serviço da Microsoft para DRDA, consulte Planejar e arquitetar soluções usando o Serviço da Microsoft para DRDA. As conexões de cliente afetam a natureza das transações, pooling, failover, autenticação e criptografia em sua rede.
Otimização de custos
A Otimização de Custos concentra-se em maneiras de 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.
Os modelos de preços variam entre os serviços componentes. Revise os modelos de preços dos serviços de componentes disponíveis para garantir que eles 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 uma aplicação e as mantêm em execução em produção. Para obter mais informações, consulte Lista de verificação de revisão de design para Excelência Operacional.
O gerenciamento de infraestrutura, incluindo escalabilidade, é automatizado em bancos de dados do Azure.
Você pode escalar horizontalmente o IR auto-hospedado associando a instância lógica a vários computadores locais no modo ativo-ativo.
Eficiência de desempenho
A Eficiência de Desempenho refere-se à capacidade da carga de trabalho de dimensionar para atender às demandas do usuário com eficiência. Para obter mais informações, consulte Lista de verificação de revisão de design para eficiência de desempenho.
Considere o Azure ExpressRoute como uma opção de alta escala se sua implementação usar largura de banda significativa para replicação inicial ou replicação de dados alterada contínua.
Escolha a configuração de IR correta para o seu cenário.
Próximas etapas
- Entre em contato com a Engenharia de Dados do Azure – Modernização Local para obter mais informações.
- Leia o guia de migração.