Developer Experience no Banco Pan

Gaspar Barancelli
OPANehtech
Published in
5 min readApr 29, 2024

O Developer Experience (DX) é um termo que se refere à experiência do desenvolvedor ao trabalhar com ferramentas e tecnologias de desenvolvimento de software. O objetivo do DX é tornar o processo de desenvolvimento mais eficiente, produtivo e agradável para os desenvolvedores.

Uma das maneiras de melhorar o DX é através da implementação de uma plataforma interna de desenvolvimento de software (IDP — Internal Developer Platform). Os IDPs são uma parte importante da experiência do desenvolvedor, fornecendo uma plataforma centralizada para os desenvolvedores trabalharem, melhorando a colaboração e reduzindo o tempo de lançamento de novos recursos e aplicativos. Eles estão se tornando cada vez mais populares entre as empresas de tecnologia, pois ajudam a melhorar a produtividade dos desenvolvedores, permitindo que eles se concentrem no desenvolvimento de aplicativos em vez de lidar com a complexidade da infraestrutura subjacente.

O Banco Pan entende a importância de melhorar a experiência do desenvolvedor e vem investindo na criação de seu próprio IDP, chamado de Blackbird. Essa plataforma interna de desenvolvimento de software tem sido fundamental para aprimorar a experiência do desenvolvedor no Banco Pan e impulsionar a inovação tecnológica na empresa.

O Blackbird foi desenvolvido em 2022, após ouvir as necessidades dos times de desenvolvimento. Desde a sua primeira versão, a plataforma entregou a feature que permite aos desenvolvedores criar novos projetos com base em templates. Com essa funcionalidade, um repositório Git é criado automaticamente, além da implantação do serviço em um cluster Kubernetes e a configuração do gateway, entre outras tarefas que agilizam o desenvolvimento de novos serviços. Essa primeira versão do Blackbird foi muito bem recebida pelos desenvolvedores do Banco Pan, que perceberam uma melhora significativa em sua produtividade e eficiência.

Desde então, o Blackbird tem sido amplamente adotado pelos desenvolvedores do Banco Pan, resultando na criação de mais de 1000 serviços utilizando a plataforma. Esses serviços abrangem uma variedade de aplicações e recursos, desde microserviços até aplicações de grande escala. Através do Blackbird, os desenvolvedores têm a capacidade de criar, implantar e gerenciar esses serviços de forma eficiente, permitindo um ciclo de desenvolvimento mais rápido e ágil.

Ao longo de sua trajetória, o Blackbird tem passado por constantes aprimoramentos para atender às necessidades dos desenvolvedores e proporcionar uma experiência cada vez mais aprimorada. Uma das funcionalidades mais valorizadas pelos usuários é o catálogo de serviços, que oferece informações detalhadas sobre documentações, contratos, recursos provisionados, vulnerabilidades e uma variedade de outros dados relevantes. Essa funcionalidade tem se mostrado essencial para garantir a qualidade e a segurança das aplicações desenvolvidas no Banco Pan.

Outra feature importante é a funcionalidade interna chamada de Tech Products. Por meio de pipelines, o Blackbird orquestra o provisionamento de recursos de infraestrutura na nuvem, utilizando Infra as Code com Terraform e integrando-se ao ServiceNow, e outras ferramentas do banco. Os Tech Products automatizam o processo de provisionamento de recursos, como criação de bancos de dados RDS, S3, SQS, DynamoDB, Elastic Cache, ECR, Secret Manager, IRSA, dentre outros.

Com a funcionalidade de Tech Products, os desenvolvedores agora têm acesso a recursos de infraestrutura provisionados em menos de 10 minutos, em comparação com as semanas que levava anteriormente. Antes, os times de Engenharia de Software precisavam abrir diversas tarefas, passando por várias áreas para terem seu recurso criado. Nesse processo os times precisavam atuar manualmente, envolvendo tarefas que não poderiam ser efetuadas de forma paralela, o que aumentava o tempo de espera para a liberação do recurso. Cada time envolvido nesse processo tinha seu próprio SLA (Service Level Agreement) para cumprir, o que tornava o processo ainda mais complexo e demorado. Com a utilização dos Tech Products, todo o processo é automatizado e realizado de forma rápida e segura, sem intervenção manual.

Ao longo do uso do Blackbird, mais de 1200 Tech Products foram executados em diferentes ambientes, incluindo desenvolvimento, homologação e produção. Esses Tech Products têm desempenhado um papel fundamental no provisionamento ágil e consistente de recursos de infraestrutura em todas as etapas do ciclo de vida das aplicações. Com a execução desses Tech Products, os desenvolvedores do Banco Pan têm a tranquilidade de que os recursos necessários serão provisionados corretamente, permitindo que eles se concentrem no desenvolvimento de aplicativos sem se preocupar com a complexidade da infraestrutura subjacente. Essa funcionalidade tem sido essencial para agilizar o processo de desenvolvimento e garantir a entrega de aplicações de alta qualidade.

O Blackbird também é integrado com nossas ferramentas de qualidade e segurança, fornecendo insights de qualidade de código e vulnerabilidades das aplicações e containers. Essa integração permite que os desenvolvedores e o time de segurança identifiquem possíveis problemas de segurança e qualidade em tempo real, corrigindo-os antes que afetem os usuários finais. Essa funcionalidade é essencial para garantir a segurança e qualidade das aplicações no Banco Pan.

Além disso, o Blackbird oferece um catálogo de eventos integrado ao Kafka, sendo ele instalado em modo self-host ou em cluster (Ex: MSK ou Confluent). Por meio do Blackbird os desenvolvedores podem provisionar tópicos, visualizar informações detalhadas, consumidores, schema registry e ACLs. Essa funcionalidade permite o gerenciamento eficiente de eventos e garante a escalabilidade das aplicações.

O Blackbird vai além de uma plataforma interna de desenvolvimento de software. Além dos desenvolvedores, o time de operação e segurança
também utilizam o Blackbird para administrar clusters Kubernetes. A plataforma disponibiliza features semelhantes a ferramentas como Lens e Komodor, permitindo a visualização e administração centralizada de clusters Kubernetes.

Atualmente, mais de 70 clusters Kubernetes estão conectados ao Blackbird, permitindo que o time de operação e segurança gerencie e monitore esses clusters de forma centralizada. Essa funcionalidade tem sido essencial para garantir a estabilidade e a segurança das aplicações em execução nos clusters Kubernetes. Com o Blackbird, o time de operação e segurança pode monitorar o desempenho dos clusters, identificar possíveis problemas e tomar medidas proativas para garantir a disponibilidade e a confiabilidade das aplicações.

Essas são apenas algumas das features do Blackbird. Estamos trabalhando continuamente para evoluir a plataforma e oferecer novas funcionalidades que atendam às necessidades dos desenvolvedores, operação e segurança do Banco Pan. Com o Blackbird, estamos transformando a forma como as aplicações são desenvolvidas, operadas e protegidas no Banco Pan, garantindo uma experiência cada vez melhor para nossos usuários finais. Estamos comprometidos em fornecer uma Developer Experience excepcional, impulsionando a inovação e o sucesso no Banco Pan.

--

--