Editar

Compartilhar via


Implementar o Azure DevOps para aplicativos mainframe que usam IBM Z e Cloud Modernization Stack

Azure DevOps
Azure Repos
Azure Pipelines
Azure Boards
Azure Test Plans

Este artigo pode ajudar você a começar com a criação de pipelines do Azure DevOps que executem DBBs (Dependency Based Builds) da IBM baseados em Git no z/OS. Embora o Azure DevOps seja usado principalmente por aplicativos distribuídos, muitas organizações estão procurando soluções consolidadas que se integrem aos modernos fluxos de trabalho de desenvolvimento de mainframe da IBM.

Red Hat é marca registrada da respectiva empresa. Nenhum endosso é implícito pelo uso dessa marca.

Arquitetura

Diagrama que mostra uma arquitetura para integrar o Azure DevOps em aplicativos IBM z/OS.

Baixe um Arquivo Visio dessa arquitetura.

Workflow

  1. O código-fonte do aplicativo do z/OS é migrado para um sistema de gerenciamento de código-fonte (SCM) baseado em Git.
  2. O Azure Boards simplifica a criação, a atribuição, o monitoramento do status e o acompanhamento do andamento dos itens de trabalho.
  3. O Wazi Code simplifica o desenvolvimento de aplicativos de mainframe.
  4. O Wazi Analyze é usado para análise de código e resolução de dependências.
  5. O teste de unidade das alterações de código pode ser feito manualmente em um ambiente Wazi Sandbox de propriedade do desenvolvedor. 
  6. As alterações no código são confirmadas de volta no repositório Git a partir do IDE baseado na Web.
  7. As alterações no código enviadas para o repositório disparam uma compilação via Azure Pipelines.  
  8. Compilações automatizadas, implantações e testes são executados em um ambiente z/OS conteinerizado dentro do Wazi Sandbox.
  9. No Azure Artifacts, as compilações bem-sucedidas são sistematicamente armazenadas para fornecer um repositório centralizado de artefatos com controle de versão.
  10. Os cenários de liberação para produção seguem um processo típico de automação de liberação baseado em Git, que começa com a ramificação/marcação dos commits do Git a serem usados na produção. 
  11. Quando a automação é acionada nas ramificações ou marcações de liberação, ela inicia a implantação de produção com base nas diretrizes de gerenciamento de alterações e no processo de aprovação nos ambientes z/OS locais de seu datacenter.

Componentes

  • O Azure DevOps fornece serviços de desenvolvedor para ajudar as equipes a planejar o trabalho, colaborar no desenvolvimento do código e compilar e implantar aplicativos. Os desenvolvedores podem trabalhar na nuvem, usando os Azure DevOps Services, ou no local, usando o Azure DevOps Server.
  • O IBM Z and Cloud Modernization Stack fornece acesso altamente seguro a dados e aplicativos de mainframe via APIs. Ele fornece ferramentas padrão do setor que podem ajudar você a implementar DevOps e tem suporte para linguagens modernas.
  • Os componentes do Wazi disponíveis no IBM Z and Cloud Modernization Stack permitem analisar, desenvolver e testar aplicativos de mainframe isoladamente.
  • O Red Hat OpenShift Container Platform reúne serviços para reduzir os conflitos relacionados a desenvolvimento, modernização, implantação, execução e gerenciamento de aplicativos. Desenvolvido no Kubernetes, ele oferece uma experiência consistente em arquiteturas de nuvem pública, locais, de nuvem híbrida e de borda.
  • A Rede Virtual do Microsoft Azure é o bloco de construção fundamental de sua rede privada no Azure. Ele oferece conexões de segurança aprimorada que permitem aos recursos do Azure, como as máquinas virtuais do Azure, se comunicar entre si, com a Internet e as redes locais. A Rede Virtual é semelhante a uma rede tradicional que você opera no datacenter, mas traz os benefícios extras da infraestrutura do Azure, como escala, disponibilidade e isolamento.
  • O Azure ExpressRoute permite estender as redes locais para o Microsoft Cloud por meio de uma conexão privada que é facilitada por um provedor de conectividade. Você pode usar o ExpressRoute para estabelecer conexões com serviços do Microsoft Cloud, como o Azure e o Office 365.

Alternativas

Você pode usar o Gateway de VPN do Azure para conectar redes locais ao Azure pela Internet pública usando uma conexão criptografada de segurança aprimorada. O Gateway de VPN pode fornecer uma opção econômica para organizações que não precisam da alta largura de banda e da baixa latência do ExpressRoute.

Detalhes do cenário

O Azure DevOps pode ajudar você a desenvolver e modernizar seus aplicativos z/OS que usam o IBM Z and Cloud Modernization Stack. Isso pode aumentar a agilidade e permitir que os desenvolvedores trabalhem de maneira mais rápida e mais produtiva. É possível modificar programas existentes em COBOL, PL/I, Java ou assembler usando qualquer IDE.

Azure DevOps

O Azure DevOps fornece serviços de desenvolvedor para ajudar as equipes a planejar o trabalho, colaborar no desenvolvimento do código e compilar e implantar aplicativos. Os desenvolvedores podem trabalhar na nuvem, usando os Azure DevOps Services, ou no local, usando o Azure DevOps Server. (Anteriormente, o Azure DevOps Services era conhecido como Visual Studio Team Services.)

O Azure DevOps fornece recursos integrados que você pode acessar por meio do seu navegador web ou do cliente de IDE. Você pode usar um ou mais dos seguintes serviços, dependendo das suas necessidades de negócios:

  • O Azure Repos fornece repositórios Git ou o Controle de Versão do Team Foundation para controle do código-fonte.
  • O Azure Pipelines fornece serviços de compilação e lançamento para viabilizar a integração contínua e a entrega contínua (CI/CD) de seus aplicativos.
  • O Azure Boards fornece um conjunto de ferramentas Agile para facilitar o planejamento e o controle do trabalho, de defeitos no código e de problemas usando os métodos Kanban e Scrum.
  • O Azure Test Plans fornece ferramentas para testar seus aplicativos, incluindo testes manuais/exploratórios e testes contínuos.
  • O Azure Artifacts permite que as equipes compartilhem pacotes Maven, npm e NuGet de fontes públicas e privadas e integrem o compartilhamento de pacotes a pipelines de CI/CD. Utilizando o Azure Artifacts para gerenciar arquivos COBOL, você pode garantir que todos os desenvolvedores da organização tenham acesso às versões corretas dos arquivos e de suas dependências.

IBM Z and Cloud Modernization Stack com Azure DevOps

O repositório de código baseado em Git do Azure DevOps e os pipelines do Azure baseados em agente podem se integrar a soluções IBM DBB no IBM zSystems para processos de desenvolvimento e compilação de aplicativos de mainframe. O DBB, disponível por meio do componente Wazi Code do IBM Z and Cloud Modernization Stack, complementa o Azure DevOps fornecendo recursos inteligentes de compilação, link e edição. A combinação permite que os desenvolvedores que trabalham em aplicativos grandes e complexos desenvolvam, compilem e entreguem com agilidade.

Você pode usar o Azure Boards, que é independente da plataforma, para gerenciar sprints baseados em mainframe. O Azure DevOps executa pipelines de CI que podem construir e implantar aplicativos de mainframe executados em lote ou no modo online, com ou sem Db2 e MQ.

Ao integrar o IBM UrbanCode Deploy a pipelines do Azure, você pode obter um pipeline de CI/CD abrangente para plataformas locais, na nuvem ou híbridas que engloba aplicativos z/OS. O IBM Z and Cloud Modernization Stack, baseado na plataforma Red Hat OpenShift, inclui vários recursos para modernizar aplicativos de mainframe. Para fins de desenvolvimento e teste, o IBM Wazi inclui o Wazi Code (IDEs, DBB), o Wazi Analyze e o Wazi Sandbox, que juntos oferecem aos desenvolvedores de mainframe uma experiência nativa de nuvem que não requer a instalação de aplicativos.

Estes são alguns outros benefícios do uso do Azure DevOps junto com o IBM Z and Cloud Modernization Stack.

  • O Wazi Code fornece um IDE no navegador que você pode usar para desenvolver, compilar e depurar aplicativos COBOL, PL/I, Assembler, Java, Rexx e JCL. Com essa abordagem, é possível modificar aplicativos de mainframe facilmente e tirar proveito de linguagens de programação como Python, Node.js e Go, que podem ser executadas no IBM z/OS. Essa abordagem permite que você se adapte facilmente a novas linguagens e, ao mesmo tempo, tenha a flexibilidade de trabalhar com os IDEs de sua preferência.
  • O DevOps para zSystems, integrado às soluções de Azure DevOps, abrange os serviços do Azure e os ambientes z/OS para orquestrar o desenvolvimento, a integração e a implantação de aplicativos no IBM zSystems e no Azure.
  • Os processos e as ferramentas de desenvolvimento do IBM zSystems não estão mais isolados. A adoção do Azure DevOps e a adaptação ao IBM DBB combinam repositórios de mainframe em um único repositório de código-fonte em pilhas de tecnologia e um processo integrado de gerenciamento e aprovação de alterações com coordenação de auditoria e relatórios em toda a empresa.
  • Com as soluções do Azure e da IBM, as organizações se libertam das restrições e dos custos crescentes das ferramentas herdadas para se concentrar no gerenciamento eficaz de projetos. A IBM e o Azure aceleram as transformações para a nuvem híbrida para que você possa entregar soluções com rapidez e eficiência.

Possíveis casos de uso

  • Implemente um pipeline de CI/CD de ponta a ponta para plataformas locais, na nuvem ou híbridas que incluem aplicativos z/OS.
  • Permita que as equipes de mainframe trabalhem em paralelo com as equipes de desenvolvimento distribuídas, implementem um único padrão e usem ferramentas comuns para DevOps e SDLC em toda a empresa.
  • Propicie uma experiência de desenvolvedor consistente e familiar para aplicativos z/OS, junto com uma infraestrutura flexível de desenvolvimento e teste no Azure.
  • Acelere o desenvolvimento de aplicativos e os ciclos de vida de desenvolvimento de aplicativos de mainframe.

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.

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 de confiabilidade.

  • O Azure DevOps fornece pipelines de CI/CD que permitem automatizar a compilação, o teste e a implantação de aplicativos. Esses pipelines podem ajudar você a garantir que seu aplicativo esteja sempre atualizado e seja confiável.
  • O Azure DevOps fornece ferramentas de colaboração que permitem à sua equipe trabalhar em conjunto e de maneira eficaz.
  • O RedHat OpenShift Container Platform tem recursos de implantação automatizada que podem ajudar a garantir que os aplicativos sejam implantados de modo consistente e confiável.
  • Usar uma abordagem padrão e consistente para compilar, testar e implantar aplicativos no Azure e no IBM zSystems pode ajudar os desenvolvedores a diminuir os riscos associados às alterações no código.
  • O Azure DevOps e o IBM Z and Cloud Modernization Stack permitem a modernização de aplicativos com posicionamento de carga de trabalho que cumpre a finalidade desejada nos ambientes, o que reduz o risco envolvido em cenários de migração completa.

Segurança

A segurança fornece garantias contra ataques deliberados e o abuso de seus dados e sistemas valiosos. Para saber mais, confira Visão geral do pilar de segurança.

  • O Azure DevOps permite controlar o acesso a recursos e dados usando o controle de acesso baseado em função (RBAC). O RBAC ajuda a garantir que somente os usuários autorizados possam acessar recursos. Para obter mais informações, consulte Práticas recomendadas de segurança.
  • O Azure DevOps integra-se ao Microsoft Defender para Nuvem, que fornece mais informações e recomendações de segurança que podem ajudar você a identificar possíveis problemas de segurança e tomar as medidas para resolvê-los.
  • Você pode aprimorar e estender suas práticas atuais de DevSecOps aproveitando os recursos de segurança do IBM zSystems. Desse modo, você pode efetivamente reduzir os riscos para a empresa, ajudar a proteger os dados de aplicativos e ajudar a garantir a segurança de seus sistemas em longo prazo.

Otimização de custo

A otimização de custos consiste em reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, confira Visão geral do pilar de otimização de custo.

  • O Azure DevOps tem recursos de automação que ajudam a reduzir o tempo e o esforço exigidos por tarefas manuais. Automatizando tarefas, você consegue otimizar custos e melhorar a eficiência.
  • O Azure DevOps integra-se a outros serviços do Azure, como o Azure Monitor e o Assistente do Azure. Essa integração pode ajudar você a otimizar custos por meio de insights sobre o uso de recursos e de recomendações para otimização de custos. Use a calculadora de preços do Azure para estimar o custo da implantação de sua solução.
  • O IBM Z and Cloud Modernization Stack e o Azure DevOps diminuem a necessidade de ferramentas z/SO personalizadas, permitindo que as organizações implementem o mesmo conjunto de ferramentas e práticas de CI/CD que o restante da empresa.

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 de excelência operacional.

  • O Azure DevOps é uma plataforma poderosa que fornece um conjunto completo de ferramentas para gerenciar todo o ciclo de vida de desenvolvimento de software. De maneira geral, usando o Azure DevOps, você consegue alcançar a excelência operacional melhorando a colaboração, automatizando as principais tarefas, monitorando o desempenho e simplificando o processo de desenvolvimento e implantação de software.
  • O Wazi Sandbox, um ambiente z/OS pessoal, pode ser provisionado no Azure com todos os recursos z/OS necessários (IMS e CICS, por exemplo) que permitem aos desenvolvedores trabalhar isoladamente, executar as compilações iniciais e realizar os testes iniciais para verificar as alterações no código.

Eficiência de desempenho

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 de excelência operacional.

  • Você pode garantir o desempenho e a estabilidade de ambientes multilocatários de teste de integração usando instâncias isoladas do Wazi Sandbox para executar operações de compilação e teste no início no ciclo de vida de desenvolvimento de software.
  • O Azure DevOps pode ajudar você a melhorar a eficiência de desempenho de várias maneiras. Ele fornece um pipeline de CI/CD robusto que pode ajudar a automatizar o processo de compilação, teste e implantação. Esse pipeline ajuda a reduzir o tempo necessário para implantar novos recursos e correções de bugs, melhorar a qualidade do aplicativo e diminuir o risco de erros durante a implantação.

Colaboradores

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

Principais autores:

Outros colaboradores:

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

Próximas etapas

Para obter mais informações, entre em contato com a Engenharia de Migrações Herdadas.

Também recomendamos estes recursos: