Replique e sincronize dados de mainframe no Azure

Fábrica de dados do Azure
Azure Databricks

Essa arquitetura de exemplo descreve 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

Um diagrama de arquitetura que mostra como sincronizar dados de bancos de dados locais e do Azure durante a modernização de mainframes.

Baixe um Arquivo Visio dessa arquitetura.

Workflow

Os sistemas de mainframe e midrange atualizam bancos de dados de aplicativos locais em intervalos regulares. 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. Os pipelines dinâmicos do Azure Data Factory orquestram atividades que variam da extração ao carregamento de dados. É possível agendar atividades de pipeline, iniciá-las manualmente ou acioná-las automaticamente.

    Pipelines agrupam as atividades que executam tarefas. Para extrair dados, o Data Factory cria dinamicamente um pipeline para cada tabela local. Assim você pode usar uma implementação massivamente paralela ao replicar dados no Azure. Você também pode configurar a solução de acordo com 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 em tabelas de origem para sincronizar as linhas atualizadas com bancos de dados do Azure. As colunas contêm uma chave de incremento contínuo ou um carimbo de data/hora indicando 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
  2. Bancos de dados locais como Db2 zOS, Db2 para i e Db2 LUW armazenam os dados de aplicativos.

  3. Um SHIR (Integration Runtime auto-hospedado) é o ambiente usado pelo Data Factory para executar e expedir atividades.

  4. 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 diversas fontes.

  5. Para preparação de dados, o Data Factory usa o Azure Databricks, atividades personalizadas e fluxos de dados de pipeline para transformar dados de forma rápida e eficaz.

  6. O Data Factory carrega dados para os seguintes bancos de dados relacionais e não relacionais do Azure:

    • SQL do Azure
    • Banco de Dados do Azure para PostgreSQL
    • Azure Cosmos DB
    • Armazenamento do Azure Data Lake
    • Banco de Dados do Azure para MySQL
  7. SSIS (SQL Server Integration Services): esta plataforma pode extrair, transformar e carregar dados.

  8. Ferramentas que não são da Microsoft: quando a solução requer replicação quase em tempo real, você pode usar ferramentas que não são da Microsoft.

Componentes

Esta seção descreve outras ferramentas que você pode usar durante a modernização, sincronização e integração de dados.

Ferramentas

  • O Microsoft Service for Distributed Relational Database Architecture (DRDA) é um componente do Host Integration Server (HIS). O Serviço Microsoft para DRDA é um 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 servidor de aplicativo para converter instruções SQL Db2 e executá-las em SQL Server.

  • O Assistente de Migração do SQL Server (SSMA) para Db2 automatiza a migração do Db2 para os serviços de banco de dados da Microsoft. Enquanto ele é executado em uma VM (máquina virtual), essa ferramenta converte objetos de banco de dados Db2 em objetos de banco de dados do SQL Server e cria esses objetos 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 Data Factory é um serviço híbrido de integração de dados. É possível usar essa solução totalmente gerenciada e sem servidor para criar, agendar e orquestrar fluxos de trabalho de ETL (extração, transformação e carregamento) e ELT (extração, carregamento e transformaçã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 Analytics reúne o melhor das seguintes tecnologias e serviços:

    • Tecnologias SQL que você usa no armazenamento de dados corporativo.
    • Tecnologias Spark, que você usa para big data.
    • Azure Data Explorer, que você usa para análise de logs e série temporal.
    • Azure Pipelines, que você usa para integração de dados e fluxos de trabalho ETL e ELT.
    • Integração profunda com outros serviços do Azure, como o Power BI, o Azure Cosmos DB e o Machine Learning.
  • O SSIS é uma plataforma para construir 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 se baseia no sistema de processamento distribuído de código aberto 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 oferece insights.

Armazenamento de dados

  • O Banco de Dados SQL é parte da família SQL do Azure e é desenvolvido para a nuvem. O serviço oferece os benefícios de uma plataforma como serviço totalmente gerenciada e persistente (PaaS). 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 A Instância Gerenciada de SQL do Azure faz parte do portfólio de serviços SQL do Azure. Este serviço de banco de dados em nuvem inteligente e escalável combina a mais ampla compatibilidade do mecanismo SQL Server com todos os benefícios de um PaaS totalmente gerenciado e perene. Com a Instância Gerenciada de SQL, você pode modernizar aplicativos em escala.

  • O SQL Server em Máquinas Virtuais do Azure fornece uma maneira de transferir 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 Máquinas Virtuais 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. Use o SQL Server em Máquinas Virtuais do Azure para 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. Use este 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 de maneira rápida e fácil.

  • O Azure Cosmos DB é um banco de dados multimodelo distribuído globalmente. Use o Azure Cosmos DB para garantir que 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, semi-estruturados 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. Ele 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 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.

Detalhes do cenário

A disponibilidade e a integridade dos dados são essenciais em uma modernização de mainframes e midranges. As estratégias que priorizam os dados 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 é preciso replicar dados rapidamente ou manter os dados locais em sincronia com os bancos de dados do Azure.

Especificamente, esta solução inclui:

  • 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

Estas 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, consulte Microsoft Azure Well-Architected Framework.

Lembre-se desses pontos ao considerar esta 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 Confiabilidade.

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

  • Consulte Pooling e failover para obter informações sobre o Serviço Microsoft DRDA para proteção contra failover.

  • É possível agrupar o gateway de dados local e o IR (runtime de integração) 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 mais informações, consulte Visão geral do pilar de segurança.

  • Use os grupos de segurança de rede para limitar o acesso apenas ao que cada serviço precisa para funcionar.

  • Use pontos de extremidade privados para seus serviços de PaaS. Use firewalls de serviço acessíveis e inacessíveis pela Internet para complementar a segurança dos seus serviços.

  • Use identidades gerenciadas para fluxos de dados de componente para componente.

  • Consulte Planejando e arquitetando soluções usando o Microsoft Service para DRDA para saber mais sobre os tipos de conexões de cliente compatíveis com o Microsoft Service for DRDA. As conexões de cliente afetam a natureza das transações, do pool, do failover, da autenticação e da criptografia na rede.

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 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 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 um aplicativo e o mantêm em execução na produção. Para obter mais informações, confira Visão geral do pilar Excelência operacional.

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 Eficiência de desempenho.

  • Considere o Azure ExpressRoute como opção de alta escala em implementações que usam largura de banda significativa para replicação inicial ou replicação contínua de dados alterados.

  • Escolher a configuração de IR certa para seu cenário.

Próximas etapas