Migrar a camada de dados do mainframe para o Azure com mLogica LIBER*IRIS
O alto volume de transações para aplicativos mainframe cria um grande volume de dados. O Azure oferece um destino atraente para modernização de mainframe e migração de dados. Os bancos de dados relacionais e NoSQL do Azure fornecem escalabilidade, alta disponibilidade e facilidade de manutenção que atende ou excede a dos ambientes de mainframe. Se você quiser desativar uma carga de trabalho de mainframe e reter os dados em um armazenamento de baixo custo, o Azure fornecerá opções.
A migração de cargas de trabalho do mainframe para o Azure como parte da reestruturação da plataforma ou refatoração de aplicativos normalmente requer migração de dados em escala. O LIBER*IRIS da mLogica fornece uma solução comprovada para migração de dados em massa de um mainframe para o Azure. A solução opera em escala para migrar cargas de trabalho corporativas. Este artigo mostra como migrar dados de mainframe do IBM z/OS com alta fidelidade para o Azure.
mLogica LIBER*IRIS e seus logotipos são marcas comerciais de sua empresa. Nenhum endosso está implícito pelo uso dessas marcas.
Arquitetura
O diagrama a seguir mostra como o mLogica LIBER*IRIS se integra aos componentes do Azure para migrar dados de mainframe para o Azure em escala.
Baixe um Arquivo Visio dessa arquitetura.
Fluxo de Trabalho
As etapas para migrar dados de mainframe para o Azure são as seguintes:
- Copie arquivos DDL (linguagem de definição de dados), arquivos DBD (descrição do banco de dados), copybooks, layouts de dados e outros artefatos de descrição de dados para uma máquina virtual Linux do Azure configurada com as ferramentas do serviço de migração de dados mLogica usando FTPS em uma VPN (rede virtual privada) segura do Azure site a site ou no Azure ExpressRoute.
- O cluster de migração de dados mLogica Liber*IRIS gera scripts de extração de dados a serem executados no mainframe.
- Use o FTPS pela VPN para transferir os scripts de extração de dados para o mainframe. A conexão FTPS converte ASCII no formato EBCDIC do mainframe.
- Os scripts extraídos são executados no mainframe. Eles exportam dados de várias fontes para arquivos sequenciais, em que todos os dados decimais empacotados são descompactados. Eles geram os scripts de carga do SQL usados para carregar os dados no banco de dados de destino.
- Os arquivos sequenciais e os scripts de carga são transferidos usando o SFTP binário para o Armazenamento de Blobs do Azure. Os dados do mainframe ainda estão no formato EBCDIC neste momento.
- O serviço de migração de dados mLogica executa os scripts de carga para converter EBCDIC em ASCII. Os scripts gravam erros durante a carga no Armazenamento do Azure. Para reduzir os custos, você pode usar duas contas de armazenamento: armazenar arquivos de dados em uma camada de acesso frequente e arquivos de log em uma camada de acesso frio.
- Os scripts carregam os dados convertidos ASCII de arquivos sequenciais no banco de dados relacional do Azure de destino. Os scripts de carga incluem comandos DDL para criar tabelas e outros objetos e consultas SQL para carregar os dados nesses objetos. Dimensione o processo de carga horizontalmente em um cluster para maximizar a taxa de transferência, conforme necessário. Os logs de execução e os logs de exceção detalhados são armazenados no Armazenamento de Blobs do Azure para análise posterior.
- O serviço de migração de dados mLogica Liber*IRIS executa os scripts de carga para transformar dados do formato de arquivo relacional para o formato de banco de dados NoSQL. Você pode carregar esses dados NoSQL no Azure Cosmos DB usando a API do SQL do Azure Cosmos DB.
Componentes
Rede e identidade
- O Azure ExpressRoute permite que você estenda suas redes locais até a nuvem no Azure por meio de conexão privada ao usar um provedor de conectividade.
- Um Gateway de VPN do Azure é um gateway de rede virtual usado para enviar o tráfego criptografado entre uma rede virtual do Azure e um local na Internet.
- O Microsoft Entra ID é um serviço de gerenciamento de identidade e acesso que pode sincronizar com o diretório local.
Aplicativo
- As Máquinas Virtuais do Azure fornecem recursos de computação escalonáveis e sob demanda. O cluster de migração de dados mLogica é executado em máquinas virtuais linux do Azure otimizadas para desempenho de rede.
Armazenamento
- O Armazenamento de Blobs do Azure oferece uma instalação de armazenamento altamente disponível, criptografada em repouso, econômica e de alta capacidade. Ele habilita o tráfego SFTP binário direto do mainframe. O Armazenamento de Blobs pode montar contêineres em máquinas virtuais do Linux usando o NFS.
- SQL do Azure, Banco de Dados do Azure para PostgreSQL e Banco de Dados do Azure para MySQL são serviços PaaS (plataforma como serviço) totalmente gerenciados para SQL Server, PostgreSQL e MySQL. Eles fornecem opções de alto desempenho e altamente disponíveis para dados relacionais de mainframe, dados não relacionais emulados e dados do VSAM (Método de Acesso ao Armazenamento Virtual) emulados.
- O Azure Cosmos DB é um banco de dados Azure NoSQL. Use-o para migrar fontes de mainframe não relacionais, como o IMS (Sistema de Gerenciamento de Informações), IDMS (Sistema Integrado de Gerenciamento de Banco de Dados) e sistema de banco de dados adaptável (ADABAS).
Monitoramento
- O Azure Monitor oferece uma solução abrangente para coleta, análise e ação com base na telemetria dos ambientes de nuvem e locais.
- Application Insights recebe telemetria do aplicativo para analisar e apresentar.
- O Azure Monitor Logs é um recurso do Azure Monitor que coleta e organiza dados de log e de desempenho relacionados aos recursos monitorados. Este recurso pode consolidar dados de múltiplas fontes em um único espaço de trabalho. Essas fontes incluem logs de plataforma dos serviços do Azure, dados de log e desempenho de agentes de máquina virtual e dados de uso e desempenho de aplicativos. Analise essas fontes usando uma linguagem de consulta sofisticada capaz de analisar rapidamente milhões de registros.
- O Log Analytics é um recurso do Azure Monitor. As consultas de log ajudam você a usar os dados coletados nos Logs do Azure Monitor e nos logs de execução de script de carga do mLogica, que são retidos no Armazenamento de Blobs. Uma linguagem de consulta eficiente permite unir dados de várias tabelas, agregar grandes conjuntos de dados e executar operações complexas com o mínimo de códigos.
Possíveis casos de uso
Há dois casos de uso importantes para esta carga de trabalho de exemplo:
Reestruturação da plataforma ou refatoração de carga de trabalho
Mova todos os dados de mainframe relacionados à carga de trabalho de um mainframe para o Azure. Esses dados incluem bancos de dados, como Db2, IMS e IDMS e arquivos.
Arquivamento
Desative a carga de trabalho do mainframe e mantenha os dados em uma solução de armazenamento do Azure de baixo custo.
Recomendações
Siga estas recomendações, a menos que você tenha um requisito específico que as substitua.
- Para reduzir a latência de rede, crie todos os recursos do Azure mencionados neste cenário em uma região.
- Em vez de enviar um único arquivo grande do mainframe para o Azure, divida dados em vários arquivos e envie-os em paralelo.
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, confira Microsoft Azure Well-Architected Framework.
Confiabilidade
A confiabilidade garante que seu aplicativo possa cumprir os compromissos que você assume com seus clientes. Para obter mais informações, consulte Lista de verificação de revisão de design parade confiabilidade.
Resiliência
Use o Azure Monitor e o Application Insights para monitorar o cluster de migração de dados mLogica. Configurar alertas para gerenciamento proativo.
Para obter mais informações sobre resiliência no Azure, confira Como criar aplicativos confiáveis do Azure.
Disponibilidade
Este exemplo de fluxo de trabalho descreve a migração de dados do mainframe para o Azure para reestruturar a plataforma, refatorar ou arquivar uma carga de trabalho. Essa tarefa é discreta, executada algumas vezes durante um projeto de um mês. Embora a alta disponibilidade não seja necessária nesse cenário, você pode projetar o cluster de migração de dados mLogica para fornecer alta disponibilidade.
Os serviços de banco de dados do Azure dão suporte à redundância de zona. Você pode configurá-los para fazer failover se houver uma interrupção ou durante uma janela de manutenção.
Segurança
A segurança fornece garantias contra ataques deliberados e o abuso de seus dados e sistemas valiosos. Para obter mais informações, consulte Lista de verificação de revisão de design parade segurança. Confira orientações gerais sobre como criar soluções seguras na Documentação de segurança do Azure.
Os serviços de banco de dados no Azure são compatíveis com diversas opções de segurança:
- Criptografia de dados inativos usando criptografia de dados transparentes
- Criptografia de dados em trânsito usando TLS
- Criptografia de dados durante o processamento usando Always Encrypted com enclaves seguros
Você pode controlar a autenticação e o controle de acesso no cluster de migração de dados mLogica usando Microsoft Entra ID. Você pode configurar recursos do Azure para autenticação e autorização usando a ID do Microsoft Entra e o controle de acesso baseado em função.
Os dados transferidos entre o cluster de migração de dados mLogica e o mainframe são criptografados em trânsito usando TLS. Os certificados TLS podem ser armazenados no Azure Key Vault para maior segurança. Os dados transferidos do mainframe para o Armazenamento de Blobs do Azure são criptografados em trânsito usando SSH.
Os dados do mainframe e os scripts de carga são armazenados temporariamente no Armazenamento de Blobs do Azure. Eles são criptografados em repouso. Os dados são excluídos do Armazenamento de Blobs do Azure após a conclusão da migração.
Este exemplo de fluxo de trabalho usa o Azure ExpressRoute ou VPN site a site para uma conexão privada e eficiente com o Azure do seu ambiente local.
Otimização de custos
A Otimização de Custos trata-se de procurar 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 parade Otimização de Custos.
Aqui estão algumas possibilidades de otimização de custo:
Banco de dados SQL do Azure sem servidor dimensiona, pausa e retoma automaticamente os recursos de computação com base em sua atividade de carga de trabalho, para que você pague apenas pelos recursos consumidos.
Use a política de ciclo de vida para mover dados entre camadas de acesso no armazenamento do Azure.
No armazenamento do Azure, se não houver acesso durante um período, mova os seus dados de uma camada de acesso mais frequente para uma mais esporádica. Você também pode mover dados de uma camada de acesso mais esporádica para uma camada de acesso aos arquivos.
Use o Assistente do Azure para identificar recursos subutilizados. Obtenha recomendações sobre como reconfigurar ou consolidar recursos para reduzir seus gastos.
Use a Calculadora de preços do Azure para estimar o custo do uso dos componentes Azure 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 em produção. Para obter mais informações, consulte Lista de verificação de revisão de design parade Excelência Operacional.
O Azure DevOps pode ser usado para reengenharia de aplicativos de mainframe no Azure durante todas as fases do desenvolvimento de software e da colaboração em equipe. O Azure DevOps também fornece estes serviços:
- Azure Boards. Planejamento ágil, acompanhamento de itens de trabalho, visualização e relatórios.
- Azure Pipelines. Uma plataforma de CI/CD (integração contínua/entrega contínua) independente de nuvem e linguagem com suporte para contêineres ou Kubernetes.
- Azure Repos. Repositórios Git privados hospedados na nuvem.
- Artefatos do Azure. Gerenciamento integrado de pacotes com suporte para feeds de pacotes Maven, npm, Python e NuGet de fontes públicas ou privadas.
- Planos de teste do Azure. Uma solução integrada de testes planejados e exploratórios.
Eficiência de desempenho
A Eficiência de Desempenho é a capacidade da sua carga de trabalho de dimensionar para atender às demandas colocadas nele pelos usuários de maneira eficiente. Para obter mais informações, consulte Lista de verificação de design parade Eficiência de Desempenho.
Se você estiver migrando vários grandes conjuntos de dados independentes, implante o cluster de migração de dados mLogica em várias máquinas virtuais para maximizar a velocidade de carregamento de dados.
Você pode carregar vários conjuntos de dados em paralelo do mainframe para o Armazenamento de Blobs.
O Banco de Dados de SQL do Azure sem servidor fornece uma opção de escalonamento automático com base na carga de trabalho. Outros bancos de dados do Azure podem ser escalados verticalmente e reduzidos usando a automação para atender às demandas de carga de trabalho. Para saber mais, confira Dimensionamento automático.
Colaboradores
Esse artigo é mantido pela Microsoft. Ele foi escrito originalmente pelos colaboradores a seguir.
Autor principal:
Sandip Khandelwal | Arquiteto Sênior de Engenharia
Para ver perfis não públicos do LinkedIn, entre no LinkedIn.
Próximas etapas
Revise os Guias de Migração de Banco de Dados do Azure.
Para obter mais informações, entre em contato com a Engenharia de dados do Azure – Modernização de mainframe & Midrange.
- Visão geral do Azure Monitor
- Introdução ao Armazenamento de Blobs do Azure
- mLogica LIBER*IRIS
- Início Rápido: Criar uma máquina virtual do Linux no portal do Azure
- Máquinas virtuais no Azure
- Bem-vindo(a) ao Azure Cosmos DB