Menu English version
Blog Infra como Código

Case de sucesso: A transformação da ABN AMRO com as soluções da Sonatype

Entenda como as ferramentas da Hashicorp impactaram a produtividade de milhares de profissionais da Sonatype

O ABN AMRO atende bancos privados como principais clientes, com foco principal na Holanda. A corporação tem mais de 300 anos de história e, atualmente, conta com 22.000 funcionários internos, 5.000 profissionais de TI e mais de 300 equipes ágeis.

O grupo interno de IT Tooling & Software Development do ABN AMRO é responsável por selecionar, implementar e integrar as ferramentas dentro do banco, com foco na qualidade do software e no suporte a equipes ágeis. Seu principal trabalho é realizar a implementação de pipelines de integração contínua/entrega contínua (CI / CD) como parte importante desse suporte. O Nexus Repository e o Nexus Lifecycle estão incluídos no pipeline de CI / CD utilizado.

As equipes de desenvolvimento usam o Nexus Repository como uma única fonte para armazenar componentes. O Nexus Lifecycle é usado para automatizar processos de segurança e para gerenciar o consumo e o uso de componentes de código aberto.

“Com o Lifecycle, podemos ajudar os programadores a tomar as decisões certas e tornar seu software mais seguro. É por isso que escolhemos o Nexus Lifecycle”. Stefan Simenon, Chefe do Centro de Desenvolvimento de Software e de Ferramentas

 

O desafio

O sistema de desenvolvimento do ABN AMRO era organizado “em cascata” antes de fazer a transição para uma cultura de DevOps. Demorou um tempo considerável para colocar o software em um novo ambiente e disponibilizá-lo para os seus clientes finais. Foi realizada uma análise para determinar quanto tempo seria necessário para implementar um programa muito simples pela metodologia anterior e o resultado foi um tempo estimado de 5 a 6 meses. Tal demora, segundo a equipe de TI, acontecia principalmente devido a vários processos manuais de aprovação de atividades.

A segurança do software era gerenciada por meio de procedimentos manuais. As verificações de qualidade de código, baseadas na legislação seguida pelo time de desenvolvimento eram concluídas após a produção do código.

As principais preocupações eram os processos manuais de aprovação e a dificuldade de colocar novos componentes no repositório local de componentes open source. Como os pedidos para adicionar novos componentes eram frequentemente realizados quando o desenvolvimento já estava avançado, o problema era agravado pelo longo processo de aprovação da empresa.

O gargalo dos processos em cascata dificultou a capacidade da empresa de fornecer soluções oportunas para seus clientes. Uma transformação cultural dentro da organização foi necessária para acelerar a entrega de software e melhorar a qualidade do código produzido.

 

A solução

O ABN AMRO escolheu desenvolver uma iniciativa de CI / CD, onde vários pipelines de ferramentas foram criados. Além disso, foi criado um projeto para focar nos aspectos culturais e de gerenciamento de mudanças: a transição foi formalizada durante a reorganização no banco. Os objetivos eram gastar menos tempo no gerenciamento de projeto, ter menos sobrecarga do time, definir novas funções ágeis, ter equipes ágeis pré-financiadas e desenvolver um maior foco na entrega de software.

Stefan Simenon é o profissional responsável por integrar as ferramentas dentro do banco. Suas atividades incluem supervisionar a qualidade do software e proteger a codificação, ao mesmo tempo em que oferece suporte a equipes ágeis no banco para implementar o CI / CD. O pipeline básico incluiu Jenkins, BitBucket, Maven, SonarQube e Nexus Repository. Conforme as equipes começaram a trabalhar com o pipeline, a gerência sênior viu os benefícios da mudança e incentivou a expansão do projeto para outras equipes de desenvolvimento.

O Nexus Lifecycle foi usado para realizar o monitoramento e o rastreamento de software de código aberto. O Fortify para analisar a qualidade de código de segurança e o JIRA para gerenciamento de backlog. Assim, a supervisão foi essencial para garantir o uso correto de ferramentas e pipelines.

 

Nexus Repository

O ABN AMRO usa o Nexus Repository como um espaço para armazenamento dos artefatos binários. Um arquivo que pode ter o deploy realizado no Nexus é o fim do processo de CI (acionado pelo Jenkins) e o início do processo de CD (acionado pelo XL Release). O Nexus atua como o repositório básico para todos os componentes, como os pacotes COTS que entram no ABN AMRO.

“O Nexus está sendo usado como uma integração entre os processos de CI e de CD”, explica Simenon. “Produzimos todo o processo de CI como um arquivo para deploy e o armazenamos no Nexus. Nos esforçamos para padronizar nossos processos de desenvolvimento o máximo possível e o Nexus Repository é essencial para que isso aconteça. ”

 

Nexus Lifecycle

Nos times envolvidos, foram realizadas discussões extensas sobre como realizar o monitoramento e o rastreamento de componentes de código aberto. “Queríamos soluções rápidas, mas também queríamos soluções seguras. Não precisávamos procurar muito: com o Nexus Lifecycle, podemos ajudar os programadores a tomar as decisões certas e a tornar seus softwares mais seguros. É por isso que escolhemos o Lifecycle”, diz Simenon.

Além disso, o ABN AMRO está implementando novas políticas de segurança para melhorar a qualidade do código e a conscientização do time a respeito do tema. O Nexus Lifecycle é usado para verificar se os desenvolvedores estão usando bibliotecas de código aberto seguras, em oposição às bibliotecas “ilegais”. Ele monitora e verifica se as pessoas estão atualizando suas bibliotecas e usando as versões mais apropriadas, enquanto exibe as consequências dessas escolhas para o projeto.

“Atualmente, implementamos um conjunto de build breakers baseados no SonarQube, Fortify e Nexus Lifecycle. Por causa disso, vemos um aumento da conscientização de qualidade e menos discussões inúteis sobre o assunto. No começo, costumava haver resistência na organização contra o uso dos build breakers, mas atualmente isso não acontece mais. Sem os conjuntos de ferramentas, incluindo os pipelines Nexus Lifecycle e CI, nunca teríamos sido capazes de melhorar a qualidade do software produzido”, explicou Simenon.

 

Resultados alcançados

Com o uso das soluções Nexus, foram alcançados os seguintes resultados:

 

Velocidade:
A velocidade de deploy aumentou em 2x
Diminuição do tempo de deploy: eram realizados quatro lançamentos para produção por ano; com o pipeline automatizado, os deploys são feitos a cada duas semanas
Um número maior de equipes é capaz de entregar software para produção em apenas 1 sprint
Os prazos de realização de testes estão diminuindo

 

Qualidade, segurança e estabilidade
A qualidade e a segurança do software melhoraram significativamente
Ambientes de teste se tornaram mais estáveis ​​devido aos rollbacks automatizados

 

Conclusão

Simenon tem orgulho do que foi realizado no ABN AMRO. “Estamos muito mais focados em fornecer software em vez de gerenciar procedimentos em torno do código. Nosso objetivo é criar um ambiente de trabalho ideal para nossa comunidade de desenvolvimento. O uso das melhores ferramentas e interações com especialistas ajuda nesse aspecto. Estamos muito felizes com as ferramentas fornecidas pela Sonatype e apreciamos a cooperação entre nossas equipes.”

 

Conheça o Sonatype Nexus

A automatização da aplicação de políticas de código aberto é cada vez mais relevante para o trabalho das equipes DevOps.  Além disso, a ferramenta precisa ser confiável o suficiente para que você possa automatizar e escalar o seu programa de governança e controle de componentes de código aberto com confiança e segurança.

O Nexus é o repositório de componentes mais popular do mundo, com mais de 120 mil usuários/instalações em empresas de diversos países. A Instruct é parceira oficial da Sonatype para a realização de projetos e consultorias estratégicas com o Nexus no país. Para saber mais, clique aqui.

Post produzido em parceria com a Sonatype.