Compartilhar via


Reospedar cargas de trabalho IMS em máquinas virtuais usando IMSql

Máquinas Virtuais do Azure
Rede Virtual do Azure
Conjuntos de Dimensionamento de Máquinas Virtuais do Microsoft Azure
Instância Gerenciada do Azure SQL

Essa arquitetura mostra como usar o IMSql da Raincode para reospedar sistemas IMS Database Manager (IMS DB) e IMS Transaction Manager (IMS TM) no .NET e no SQL Server da maneira mais simples: usando máquinas virtuais. Você pode recompilar aplicativos herdados para direcionar o .NET e interagir com o IMSql da mesma forma que eles interagem com o IMS em um mainframe. O IMSql faz a transição de aplicativos de mainframe para uma arquitetura nativa do Azure, preservando completamente a lógica de negócios.

Arquitetura

Arquitetura do IBM z/OS, antes da migração

Diagrama que mostra a arquitetura de mainframe antes da migração.

Baixe um Arquivo Visio dessa arquitetura.

Fluxo de dados

R. Os usuários se conectam via TCP/IP usando protocolos como TN3270 e HTTPS.

B. A entrada é feita no mainframe usando protocolos de comunicação padrão do mainframe. 

C. Os aplicativos recebem os dados. Esses aplicativos são sistemas em lote ou online. 

D. As linguagens COBOL, PL/I, Assembler ou outras compatíveis são executadas em um ambiente habilitado. 

E. Os sistemas de banco de dados, comumente sistemas hierárquicos/de rede e relacionais, armazenam os dados. 

F. Há suporte de serviços comuns, como execução de programas, operações de E/S, detecção de erros e proteção no ambiente. 

G. O middleware e os utilitários gerenciam serviços como armazenamento em fita, enfileiramento, saída e serviços Web no ambiente. 

H. Os sistemas operacionais são executados em partições. 

Eu. As partições executam cargas de trabalho separadas e segregam os tipos de trabalhos no ambiente. 

Arquitetura do Azure, após a migração

Diagrama que mostra a arquitetura IMSql após a migração para máquinas virtuais.

Baixe um Arquivo Visio dessa arquitetura.

Fluxo de dados

  1. Os emuladores de terminal IBM 3270 se conectam aos aplicativos IMS TM implantados no Azure inalterados via IMSql Terminal Server.
  2. Os processos em lote escritos em JCL são executados inalterados por meio de instâncias de contêiner transitórias do Azure que executam o interpretador JCL Raincode. Programas herdados compilados acessam o IMS DB usando APIs IMS padrão. O Raincode JCL pode armazenar seu catálogo em qualquer armazenamento baseado em arquivo.
  3. As exibições de leitura/gravação do SQL Server nos dados do IMS permitem que aplicativos modernos ou business intelligence (como o Power BI) se comuniquem diretamente com aplicativos IMS, abstraindo elementos de mainframe, como estruturas de dados e codificações de caractere.
  4. O Raincode Console fornece um ambiente de administração baseado na Web para o IMSql.
  5. O SQL Server Service Broker é o backbone de comunicações para componentes do IMSql.

Componentes

  • A Rede Virtual do Microsoft Azure é o bloco de construção fundamental de sua rede privada no Azure. A Rede Virtual permite que muitos tipos de recursos do Azure, como máquinas virtuais (VMs), se comuniquem entre si, com a internet e as redes locais com segurança aprimorada. Uma Rede Virtual é semelhante a uma rede tradicional que você opera em seu datacenter, mas ela oferece mais benefícios da infraestrutura do Azure, como escala, disponibilidade e isolamento.
  • Os Conjuntos de Dimensionamento de Máquinas Virtuais do Azure oferecem dimensionamento de VM automatizado e com balanceamento de carga que simplifica o gerenciamento dos seus aplicativos e aumenta a disponibilidade.
  • A Instância Gerenciada de SQL do Azure, parte do portfólio de serviços do SQL do Azure, é uma instância SQL gerenciada, altamente segura e sempre atualizada na nuvem.

Alternativas

  • Você pode usar o SQL Server em uma máquina virtual do Azure como alternativa à Instância Gerenciada de SQL. Recomendamos a Instância Gerenciada de SQL nessa arquitetura devido a benefícios como alta disponibilidade, integração perfeita com vários serviços do Azure e gerenciamento de manutenção e patches de segurança subjacentes.

  • Você pode usar uma arquitetura de VM única do Azure como alternativa aos Conjuntos de Dimensionamento de Máquinas Virtuais. Convém usar VMs únicas para cargas de trabalho que têm demandas constantes de carga e desempenho e não precisam de dimensionamento. Essa arquitetura usa Conjuntos de Dimensionamento de Máquinas Virtuais para processar cargas de trabalho IMS típicas.

Detalhes do cenário

Essa arquitetura mostra como reospedar no Azure e com uma conexão remota uma carga de trabalho de mainframe que tem recursos e funcionalidades críticos do IMS. Você não precisa converter ou modificar o aplicativo existente. A arquitetura usa o IMSql e o SQL do Azure.

  • Os compiladores Raincode geram código gerenciado totalmente thread-safe para .NET. Os assemblies .NET são carregados dinamicamente e chamados por servidores de processamento IMSql.
  • O IMSql é intrinsecamente não transformacional. Ele mantém o código fonte (COBOL, PL/I) como está. As chamadas CBLTDLI e PLITDLI específicas do IMS e as instruções EXEC DLI não são alteradas. Esse recurso garante a manutenção ideal do sistema resultante. Ele se estende para os dados do IMS DB: os dados são importados como estão, em massa, sem alterações, limpeza ou normalização.
  • O IMSql usa o SQL Server, que é robusto, versátil e escalável, como banco de dados, processador de transações e plataforma de execução.
  • O IMSql opera em três modos:
    • Online
    • Lote
    • Carregar e descarregar (para migração de dados ou para JCLs que produzem ou consomem arquivos sequenciais)
  • Em mainframes, descrições de banco de dados (DBDs) e blocos de especificação de programa (PSBs) são compilados para criar o banco de dados e a descrição do programa. Da mesma forma, no IMSql, DBDs e PSBs são compilados em uma representação XML. Essa representação permite que os programas com suporte para IMS determinem quais segmentos de banco de dados pertencem a eles. Ela também impulsiona a geração de vários artefatos do lado do servidor para IMSql, como o esquema de banco de dados e procedimentos armazenados.

Possíveis casos de uso

  • Modernize a infraestrutura e elimine os altos custos, as limitações e a rigidez associados ao IMS ou, de um modo mais geral, aos mainframes.
  • Reduza a dívida técnica implementando soluções nativas da nuvem e dando suporte a uma estratégia de DevOps.
  • Mova cargas de trabalho IMS para a nuvem, sem os efeitos colaterais de um redesenvolvimento completo.
  • Migre aplicativos comercialmente críticos do IMS enquanto mantém a continuidade com outros aplicativos locais.

Considerações

Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser usados para melhorar 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.

  • Essa arquitetura OLTP pode ser implantada em várias regiões e pode incorporar uma camada de dados de replicação geográfica.
  • Os serviços de banco de dados do Azure dão suporte à redundância de zona e podem fazer failover para um nó secundário durante interrupções ou para permitir atividades 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.

Essa solução utiliza um grupo de segurança de rede do Azure para gerenciar o tráfego de e para os recursos do Azure. Para saber mais, confira Grupos de segurança de rede.

Estas opções de segurança estão disponíveis nos serviços de banco de dados do Azure:

  • Criptografia de dados em repouso
  • Mascaramento de dados dinâmicos
  • Dados Always Encrypted

Para obter orientações gerais sobre como projetar soluções SQL altamente seguras, consulte Recomendações de segurança do Azure.

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.

  • O Azure fornece a otimização de custos por ser executado em VMs do Windows. Você pode desativar as VMs quando não estiverem sendo usadas e criar um script de agendamento para padrões de uso conhecidos. O Azure ajuda você a evitar custos desnecessários identificando o número certo de tipos de recursos, analisando gastos ao longo do tempo e dimensionando para atender às necessidades de negócios sem gastar demais.
  • A Instância Gerenciada de SQL fornece várias camadas de preços, como uso geral e comercialmente crítico, para otimizar os custos com base no uso e na importância para os negócios.
  • Use Reservas do Azure e Plano de economia do Azure para computação com contrato de um ou três anos e obtenha economias consideráveis com os preços de pagamento conforme o uso.

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

Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.

Autor principal:

Outro colaborador:

Para ver perfis não públicos do LinkedIn, entre no LinkedIn.

Próximas etapas

Para obter mais informações, entre em contato com legacy2azure@microsoft.com.

Consulte a arquitetura complementar:

Mais recursos relacionados: