Modernização de mainframe e midrange com Aplicativos Lógicos do Azure
Este guia descreve como sua organização pode aumentar o valor dos negócios e a agilidade modernizando seus ambientes de mainframe e midrange usando os Aplicativos Lógicos do Azure. O mundo dos negócios atual está passando por uma era de hiperinovação e está em uma busca permanente para obter eficiências empresariais, redução de custos, crescimento e alinhamento de negócios. As organizações estão procurando maneiras de se modernizar, e uma estratégia eficaz é aumentar o valor dos negócios ao usar ativos herdados já existentes.
Para organizações com investimentos em sistemas mainframe e midrange, isso significa fazer o melhor uso das plataformas que ajudaram a levar o homem à Lua ou ajudaram a construir os mercados financeiros atuais e ampliar o seu valor usando a nuvem e a inteligência artificial. É nesse cenário que os Aplicativos Lógicos do Azure e suas funcionalidades nativas para integração com sistemas de mainframe e de midrange entram em jogo abrindo a porta do mundo da IA para os investimentos herdados. Entre outros recursos, os Aplicativos Lógicos do Azure incorporam os principais recursos do HOST Integration Server (HIS), que tem sido usado para integração de mainframe e midrange no núcleo dos clientes mais estratégicos da Microsoft ao longo de mais de 20 anos. Como resultado, os Aplicativos Lógicos do Azure tornaram-se um iPaaS (Plataforma de integração como serviço) para sistemas midrange e mainframe.
Quando os desenvolvedores corporativos criam fluxos de trabalho de integração com os Aplicativos Lógicos do Azure, eles podem entregar novos aplicativos mais rapidamente usando pouco ou nenhum código ou menos código personalizado. Os desenvolvedores que usam o Visual Studio podem ser mais produtivos do que aqueles que usam ferramentas e tecnologias de desenvolvimento de mainframe da IBM porque não exigem conhecimento sobre sistemas e infraestrutura de mainframe. Os Aplicativos Lógicos do Azure permitem que analistas de negócios e tomadores de decisão analisem e relatem mais rapidamente informações legadas vitais. Eles podem acessar diretamente os dados em fontes de dados de mainframe, o que elimina a necessidade de que os desenvolvedores de mainframe criem programas que extraiam e convertam estruturas complexas de mainframe.
Recursos nativos da nuvem para integração de sistemas de mainframe e midrange
Desde 1990, a Microsoft fornece integração com sistemas mainframe e midrange por meio do Microsoft Communications Server. A evolução do Microsoft Communications Server criou o Host Integration Server (HIS) em 2000. Enquanto o HIS começou como um Gateway SNA (System Network Architecture), o HIS se expandiu para incluir os armazenamentos de dados IBM (DB2, VSAM e Informix), os sistemas de transações IBM (CICS, IMS e IBM i) e o serviço de mensagens da IBM (MQ Series). Os clientes estratégicos da Microsoft usam essas tecnologias há mais de 20 anos.
Para permitir que os clientes que executam aplicativos e dados no Azure continuem usando essas tecnologias, os Aplicativos Lógicos do Azure e o Visual Studio incorporaram gradualmente esses recursos. Por exemplo, o Designer HIS para Aplicativos Lógicos executado no Visual Studio e a Ferramenta de Design 3270 ajudam você a criar artefatos de metadados exigidos pelos conectores internos que você usa para a integração de mainframe e midrange nos Aplicativos Lógicos do Azure. Esses conectores internos são executados usando os mesmos recursos de computação que os fluxos de trabalho do aplicativo lógico Standard. Esse design não só permite que você obtenha cenários de baixa latência, mas também estende seu alcance para atender a mais necessidades de recuperação de desastre e de alta disponibilidade do cliente.
Para obter mais informações sobre os recursos da Microsoft para integração de mainframe e midrange, continue nas seções a seguir.
Microsoft HIS Designer para Aplicativos Lógicos
Essa ferramenta cria artefatos de metadados do sistema de mainframe e midrange para os Aplicativos Lógicos do Azure e funciona com o Microsoft Visual Studio fornecendo um designer gráfico para que você possa criar, exibir, editar e mapear objetos de metadados para artefatos de mainframe. Os Aplicativos Lógicos do Azure usam esses mapas para espelhar os programas e dados em sistemas de mainframe e midrange. Para obter mais informações, consulte HIS Designer for Logic Apps.
Ferramenta de design do Microsoft 3270
Essa ferramenta registra telas, caminhos de navegação, métodos e parâmetros para as tarefas em seu aplicativo para que você possa adicionar e executar essas tarefas como ações do conector 3270. Enquanto o HIS Designer for Logic Apps tem como alvo sistemas e dados transacionais, o 3270 design Tool tem como alvo 3270 aplicativos. Para obter mais informações, consulte Ferramenta de design 3270.
Conectores de Aplicativos Lógicos do Azure para sistemas IBM de mainframe e midrange
As seções a seguir descrevem os conectores internos baseados em provedor de serviços que você pode usar para acessar e interagir com sistemas IBM de mainframe e midrange ao criar fluxos de trabalho padrão em Aplicativos Lógicos do Azure.
Observação
Embora alguns dos conectores a seguir estejam disponíveis como conectores "compartilhados" executados no Azure global, este guia se concentra nos conectores internos baseados em provedor de serviços, que estão disponíveis somente quando você cria fluxos de trabalho padrão nos Aplicativos Lógicos do Azure.
IBM 3270
Este conector de Aplicativos Lógicos do Azure para 3270 permite que fluxos de trabalho padrão acessem e executem aplicativos de mainframe IBM que você normalmente dirige navegando pelas telas do emulador 3270. O conector usa o fluxo TN3270. Para obter mais informações, consulte Integrar aplicativos controlados por tela 3270 em mainframes IBM com o Azure usando os Aplicativos Lógicos do Azure e o conector IBM 3270.
Sistema de Controle de Informações do Cliente IBM (CICS)
Esse conector de Aplicativos Lógicos do Azure para CICS fornece fluxos de trabalho Standard com a capacidade de interagir e integrar com programas CICS usando vários protocolos, como TCP/IP e HTTP. Se você precisar acessar ambientes CICS usando LU6.2, precisará usar o Host Integration Server (HIS). Para obter informações adicionais, consulte Integrar programas CICS em mainframes IBM com fluxos de trabalho padrão em Aplicativos Lógicos do Azure usando o conector IBM CICS.
IBM DB2
Este conector de Aplicativos Lógicos do Azure para DB2 permite conexões entre fluxos de trabalho padrão e bancos de dados DB2 que estão no local ou no Azure. O conector oferece aos profissionais de TI corporativos e desenvolvedores acesso direto a informações vitais armazenadas em sistemas de gerenciamento de banco de dados DB2. Para obter mais informações, consulte Acessar e gerenciar recursos do IBM DB2 usando o Aplicativos Lógicos do Azure.
Arquivos de host IBM
Este "conector" de Aplicativos Lógicos do Azure para Arquivos de Host fornece um wrapper fino em torno do recurso "Flat File Parser" no Host Integration Server. Esse "conector" offline fornece operações que analisam ou geram dados binários de e para arquivos do host. Essas operações exigem que esses dados venham de qualquer gatilho ou outra ação que produza dados binários. Para obter mais informações, consulte Analisar e gerar arquivos de host IBM usando o Aplicativos Lógicos do Azure.
IBM i
Esse conector de Aplicativos Lógicos do Azure para IBM i permite que fluxos de trabalho Standard interajam e se integrem com programas COBOL e RPG em execução em sistemas IBM i usando TCP/IP. Se você precisar acessar ambientes IBM usando LU6.2, terá que usar o Host Integration Server (HIS). Para saber mais informações, confira Integrar os programas COBOL e RPG de midranges da IBM aos fluxos de trabalho Standard nos Aplicativos Lógicos do Azure usando o conector IBM i.
IBM Sistema de Gerenciamento de Informações (IMS)
Este conector de Aplicativos Lógicos do Azure para IMS usa o componente IBM IMS Connect, que fornece acesso de alto desempenho de fluxos de trabalho padrão a transações IMS usando TCP/IP. Esse modelo usa a fila de mensagens do IMS para processar dados. Para obter informações adicionais, consulte Integrar programas IMS em mainframes IBM com fluxos de trabalho padrão em Aplicativos Lógicos do Azure usando o conector IBM IMS.
IBM MQ
Este conector de Aplicativos Lógicos do Azure para MQ permite conexões entre fluxos de trabalho Standard e servidores IBM MQ locais ou no Azure. A Microsoft também fornece recursos de integração do IBM MQ com o Host Integration Server e o BizTalk Server. Para obter mais informações, consulte Conectar a um servidor IBM MQ de um fluxo de trabalho nos Aplicativos Lógicos do Azure.
Desafios para modernização de sistemas de mainframe e midrange
Os sistemas mainframe e midrange podem hospedar vários ambientes que contêm programas, dados, arquivos e ferramentas. Ao longo dos anos, esses ambientes podem não ter sido refatorados ou foram deixados para crescer e atingir seus limites, apesar das atualizações de hardware. Esses ambientes também podem ter sido mantidos por vários desenvolvedores e administradores de TI, que seguiam diferentes padrões e técnicas de programação ou recrutaram outras partes para ajudar em tarefas que exigem experiência escassa no mercado. Juntamente com um pool de profissionais experientes, todos esses fatores criam um trabalho complexo e desafiador de modernização de ambientes de mainframe e midrange.
Embora a lista a seguir não seja abrangente, definir uma estratégia de modernização bem-sucedida inclui minimamente maneiras de lidar com as seguintes tarefas:
- Manter os atuais indicadores e objetivos de nível de serviço para seus ambientes.
- Gerencie a coexistência entre dados legados e dados migrados.
- Conduza DevOps em todos os ambientes durante a coexistência.
- Gerenciar interdependências de aplicativos.
- Definir o futuro do agendador e dos trabalhos do mainframe.
- Definir uma estratégia para substituir produtos comerciais off-the-shelf (COTS).
- Realizar atividades de testes híbridos funcionais e não funcionais.
- Manter dependências ou interfaces externas.
Com essas tarefas em mente, os clientes normalmente escolhem qualquer um dos seguintes caminhos para conduzir a modernização de sistemas de mainframe e midrange:
Big bang
Essa abordagem é amplamente baseada no modelo de entrega de software em cascata, mas com iterações em fases. A abordagem de “big bang” é mais adotada pelos clientes com pequenos sistemas de mainframe ou midrange e ambientes de baixa complexidade devido a um pequeno número de linhas de código, baixa densidade de aplicativos e sistemas herdados conhecidos ou linguagens de programação.
Ondas ágeis
Essa abordagem segue os princípios ágeis da engenharia de software. A abordagem de ondas do Ágil é mais adotada pelos clientes com sistemas de mainframe ou midrange maiores e ambientes de alta complexidade devido a um grande número de linhas de código, alta densidade de aplicativos, sistemas ou linguagens de programação menos conhecidos e um grande número de dependências e interfaces.
A escolha entre esses caminhos depende das necessidades e cenários da sua organização. Cada caminho tem benefícios e desvantagens a serem considerados. As seções a seguir fornecem mais informações sobre essas abordagens de modernização.
Big bang ou cachoeira
Uma migração big bang normalmente tem as seguintes fases:
Previsão: início
Planejamento: identifique e prepare os resultados finais do planejamento, como escopo, tempo e recursos.
Construção: começa depois que os entregáveis do planejamento são aprovados
Esta fase também espera que todo o trabalho para dependências tenha sido identificado e, em seguida, as atividades de migração possam começar. Várias iterações ocorrem para concluir o trabalho de migração.
Estabilização ou teste: começa quando o ambiente migrado, as dependências e os aplicativos são testados em relação às regiões de teste no ambiente de mainframe.
Deploy: depois que tudo for aprovado, a migração entra em produção.
As organizações que normalmente escolhem essa abordagem se concentram no tempo de bloqueio, no escopo de migração e nos recursos. Esse caminho parece uma escolha positiva, mas inclui os seguintes riscos:
As migrações podem levar meses ou até anos.
As implantações para produção são mais arriscadas.
A análise que você executa no início da jornada de migração ou durante o planejamento não é mais precisa porque essas informações geralmente estão desatualizadas.
As organizações normalmente se concentram em ter documentação abrangente para reduzir os riscos de entrega para a entrega.
No entanto, o tempo gasto no fornecimento de artefatos de planejamento causa exatamente o efeito oposto. Focar mais no planejamento do que na execução tende a gerar atrasos na execução, que causam aumento de custos no longo prazo.
Ondas ágeis
Uma abordagem ágil é orientada para resultados e focada na construção de software e não no planejamento de entregas. Os primeiros estágios de uma entrega ágil podem ser caóticos e complexos para as barreiras organizacionais que precisam ser interrompidas e alinhar a equipe de migração. No entanto, após a equipe de migração amadurecer ao longo de vários sprints de execução, a jornada se torna mais tranquila. O objetivo dessa abordagem é lançar frequentemente recursos para produção e fornecer valor comercial mais cedo do que com uma abordagem de “big bang”.
Uma migração de ondas ágeis normalmente tem os seguintes sprints:
Sprint zero (0)
- Defina a equipe, uma lista de pendências de trabalho inicial e as dependências principais.
- Identifique os recursos e um Produto Mínimo Viável (MVP) a ser entregue.
- Inicie a preparação do mainframe com um conjunto selecionado de itens de trabalho ou histórias de usuário para iniciar o trabalho.
Sprint 1, 2, ..., N
Cada sprint tem um objetivo em que a equipe mantém uma mentalidade de envio, o que significa que eles se concentram em completar as metas de migração e liberar entregas para a produção. A equipe pode usar um grupo de sprints para entregar um recurso específico ou uma onda de recursos. Cada recurso inclui fatias de cargas de trabalho de integração.
Elementos compartilhados, como trabalhos e interdependências, existem e têm impacto em todo o ambiente. Uma estratégia bem-sucedida se concentra em habilitar parcialmente os trabalhos, redesenhar aplicativos para modernização e deixar os sistemas com a maioria das interdependências até o final para primeiro reduzir a quantidade de trabalho de migração e, em seguida, concluir o escopo do esforço de modernização.
A Microsoft recomenda modernizar cargas de trabalho de mainframe e midrange seguindo um modelo iterativo baseado em ondas do Ágil, concentrando-se em investimentos na nova plataforma, ao mesmo tempo em que limita o crescimento dos sistemas herdados. Essa abordagem reduz consideravelmente os riscos de implementação preservando o valor comercial existente, ao mesmo tempo em que introduz o ambiente modernizado. Dessa forma, sua equipe também pode aproveitar as habilidades tecnológicas que ajudam sua empresa a ser mais competitiva. Esse cenário é onde os Aplicativos Lógicos do Azure podem ajudá-lo em seu percurso de modernização.
Padrões de modernização
Um bom design inclui fatores como consistência e coerência no design e na implantação de componentes, capacidade de manutenção para simplificar a administração e o desenvolvimento e reutilização que permite que outros aplicativos e cenários reutilizem componentes e subsistemas. Para aplicativos e serviços hospedados na nuvem, as decisões tomadas durante a fase de projeto e implementação têm um enorme impacto na qualidade e no custo total de propriedade.
O Centro de Arquitetura do Azure fornece padrões de design e implementação testados que descrevem o problema abordado, considerações para aplicar o padrão e um exemplo baseado no Microsoft Azure. Embora existam vários padrões de design e implementação, os dois padrões mais relevantes para a modernização do mainframe incluem os padrões "Camada Anticorrupção", "Strangler Fig"", "Saga" e "Coreografia".
Padrão da Camada Anticorrupção
Independentemente da abordagem de modernização selecionada, você precisa implementar uma "camada anticorrupção" usando os Aplicativos Lógicos do Azure. Esse serviço se torna a camada de fachada ou adaptador entre o sistema herdado de mainframe e o Azure. Para obter uma abordagem eficaz, identifique as cargas de trabalho de mainframe a serem integradas ou coexistentes como cargas de trabalho de integração de mainframe. Crie uma estratégia para cada carga de trabalho de integração, que é o conjunto de interfaces que você precisa habilitar para migrar um aplicativo de mainframe.
Para obter mais informações, consulte Camada anticorrupção.
Padrão de figueira estranguladora
Depois de implementar a camada anticorrupção, a modernização acontece progressivamente. Para essa fase, você precisa usar o padrão "Strangler Fig", onde você identifica cargas de trabalho ou recursos de mainframe que podem ser atualizados incrementalmente. Por exemplo, se você optar por modernizar um aplicativo CICS, precisará modernizar não apenas os programas CICS, mas provavelmente os aplicativos 3270 junto com suas dependências externas, dados e trabalhos correspondentes.
Eventualmente, depois de substituir todas as cargas de trabalho ou recursos no sistema de mainframe pelo novo sistema, você concluirá o processo de migração, o que significa que você pode desativar seu sistema legado.
Para obter mais informações, consulte Padrão Strangler Fig.
Padrões Saga e de Coreografia
As transações distribuídas como o protocolo 2PC (confirmação de duas fases) exigem que todos os participantes de uma transação confirmem ou revertam antes que a transação possa prosseguir. As arquiteturas híbridas de nuvem funcionam melhor seguindo um paradigma de consistência eventual em vez de um modelo de transação distribuída.
O padrão de design "Saga" é uma maneira de gerenciar a consistência de dados entre microsserviços em cenários de transação distribuída. Uma saga é uma sequência de transações que atualiza cada serviço e publica uma mensagem ou evento para disparar a próxima etapa de transação. Se uma etapa falhar, a saga executará transações compensatórias que contrariam as transações anteriores. Para obter mais informações, consulte Padrão Saga de transações distribuídas.
Nos Aplicativos Lógicos do Azure, os fluxos de trabalho podem atuar como coreógrafos para coordenar as sagas. As ações de fluxo de trabalho são atômicas, portanto, você pode reexecutá-las individualmente. O tipo de ação Escopo fornece a capacidade de executar um grupo de ações somente depois que outro grupo de ações tiver êxito ou falhar. Os Aplicativos Lógicos do Azure realizam transações de compensação no nível do escopo, enquanto a Grade de Eventos do Azure e o Barramento de Serviço do Azure fornecem o gerenciamento de eventos necessário para domínios específicos. Todos esses serviços, que compõem os Serviços de integração do Azure, fornecem o suporte exigido pelos clientes quando precisam de uma plataforma de integração confiável para cenários críticos de missão. Para obter mais informações, consulte Padrão de Coreografia.
Embora este artigo aborde vários padrões de modernização, soluções complexas exigem muito mais padrões e que você entenda claramente as metas de modernização da sua organização. Embora a tarefa de estender o valor dos ativos herdados seja desafiadora, essa opção é a melhor maneira de preservar o investimento nesses ativos e prolongar seu valor comercial.