Figaro é um sistema muito grande, com milhões de linhas de código, milhares de tabelas e cerca de 25.000 objetos de programa. Historicamente, ele foi executado no IBM i em servidores Power, então a migração para o IBM Power Systems Virtual Server era natural. Mas a escolha de Cullen vai além de encontrar a combinação certa de servidor e sistema operacional.
Com o IBM Power Systems Virtual Server e a oferta de teste como serviço da CSI, Cullen e sua equipe têm todo o poder computacional de que precisam, quando precisam. “Com essa configuração, podemos solicitar um servidor virtual com a versão necessária do Figaro e o conjunto de dados apropriado, executar nossos testes nele e, em seguida, excluir o servidor virtual”, comenta Cullen.
A capacidade de acessar a versão correta do Figaro é fundamental. O cronograma atual de lançamentos da FNZ precisa de novas versões do software a cada trimestre, com correções a cada duas semanas. Para que os testes sejam eficientes e econômicos, a equipe de Cullen precisa conseguir criar uma versão precisa e atualizada do software conforme necessário. “Não queremos uma situação em que, para executar um teste, que pode demorar apenas 15 minutos para ser executado, tenhamos que instalar uma grande quantidade de correções para chegar ao ambiente de trabalho. Tudo precisa ser pré-construído”, diz ele.
Para isso, a equipe depende de uma abordagem em estilo Docker, que usa camadas para criar imagens. "Você tem um ponto de partida conhecido e adiciona camadas além dele. Pegamos o estoque de imagens do IBM Power e gradualmente colocamos camadas em mais e mais software de configuração até termos um ambiente totalmente funcional", explica Cullen.
Agora, a equipe de Cullen automatizou todo o processo de construção de imagens para manter tudo atualizado, usando um programa observador para identificar artefatos recém-publicados. “Digamos que queremos atualizar da versão 1.2 para 1.3 do nosso sistema. Quando enviamos a correção da versão 1.3 para o repositório de artefatos, o observador vê isso e ativa a versão anterior em uma máquina virtual, instala a correção da versão 1.3, salva os resultados e exclui a máquina virtual.”
Como resultado desse processo, a FNZ sempre tem um ambiente pronto para teste. "Basta encontramos a imagem certa, configurá-la, rodar os testes e pronto", explica Cullen.
Além disso, com a abordagem baseada no Docker, se algo for alterado nas camadas intermediárias, não será necessário reconstruir nenhuma das camadas adjacentes. "É bastante eficiente", observa Cullen.
A solução CSI utiliza também a tecnologia de gerenciamento de multinuvem IBM Cloud Pak®, que é executada no Red Hat® OpenShift® (link externo a ibm.com). Especificamente, os recursos de gerenciamento de automação da nuvem da oferta ajudam a FNZ a organizar, modelar e parametrizar as definições do sistema Terraform, enquanto os scripts de automação do Red Hat Ansible® (link externo a ibm.com) implementam totalmente o aplicativo.