O que estamos fazendo na Squad de Backend | Portal Dev
Há cerca de dois meses atrás decidimos trabalhar em squads na Tecnologia. No momento a Tecnologia está dividida em 3: A Squad de Projetos, Squad do WES e Squad de Backend. Neste post vamos falar sobre o que a Squad de Backend está fazendo nas 4 sprints e meia que já se passaram desde que começamos neste novo modelo.
Squad de Backend: Paulo, Lucas, Gerhard e Henrique.
O PostgreSQL é um banco de dados relacional de código aberto, gratuito e com mais de 30 anos de desenvolvimento. É reconhecido por diversas empresas como um banco de dados robusto, confiável e rápido. Entendemos que permitir que nossos clientes tenham a opção de utilizar um banco de dados desta envergadura e gratuito irá mudar o jogo.
Duas pessoas da Squad de Backend estão dedicadas nesta tarefa e o desenvolvimento está a pleno vapor. Já temos o BEF, WES, Builder, Provider, Runner, BServer e BTL funcionando. Ainda faltam Workflow, BEF Code Generator, Integrator e diversos ajustes finos.
O sistema ERP já está iniciando a migração para este banco. Como é muito similar ao Oracle, acreditamos que seja um trabalho tranquilo.
Operação Curiosidade
Há alguns meses atrás entrevistamos diversos times para colher seus desejos, críticas e sugestões afim de melhorar a nossa plataforma. Chamamos este trabalho de Operação Curiosidade. Destas entrevistas criamos uma lista de itens e desta última já fizemos um grooming classificando por assunto e esforço vs. benefício.
Do que foi levantado na Operação Curiosidade já melhoramos o diagnóstico de problemas em Injeção de dependência, fizemos uma melhoria no Code Gen para gerar arquivos para implementação de regras de interface em C# (ScriptUI) e uma API para tradução de jargões e idiomas.
Da guilda de arquitetura estamos avaliando o gerenciador de pacote Sonatype Nexus Repository Manager. Através dele poderemos gerenciar os nossos pacotes (NuGet/Docker) liberados e controlar os pacotes de terceiros utilizados pelas equipes (Bloqueios de versão etc). Ainda estamos aprendendo tudo o que ele nos oferece para apresentá-lo no próximo encontro e decidir se seguimos com ele ou não.
Para a guilda de testes automatizados fizemos um tutorial de como implementar testes de interface utilizando o Selenium na plataforma da Tecnologia Benner. Esperamos que este tutorial ajude a desenvolver os skills necessários para a implementação deste tipo de teste automatizado.
Temos trabalhado duro para melhorar ainda mais a qualidade das ferramentas de Tecnologia, principalmente aquelas que são utilizadas diretamente pelos usuários. Já aceleramos a importação de conteúdo no Builder reduzindo drasticamente o tempo de atualização de sistemas nos clientes e corrigimos algumas instabilidades.
Atualmente estamos monitorando alguns clientes para investigar uma instabilidade de conexão com o Oracle via ADO.NET que impacta diretamente os usuários desktop.
BServer em container
O pleno suporte a container na plataforma da Tecnologia é assunto constante aqui. Afinal, é o jeito de levar nossa plataforma e nossos produtos para a nuvem. O WES, BTL e Workflow já estão rodando e o próximo é o serviço BServer. Além do uso em nuvem, o BServer containerizado irá trazer benefícios diretos para os clientes como deploy facilitado, elasticidade e alta disponibilidade do serviço em qualquer ambiente.
O desafio desta implementação é mudar totalmente a forma como o BServer se comporta em farm. Atualmente, no farm, o balanceamento de carga e a alta disponibilidade são controlados pela plataforma Benner, sem necessidade de balanceadores externos e com um número fixo de servidores. Em ambiente containerizado, além suportar um número variável de servidores (elasticidade) estas responsabilidades serão passadas para a infraestrutura DevOps (Swarm, K8s etc), ou seja, o BServer será simplificado, o que é uma ótima notícia. Além disto será necessário implementar um suporte via linha de comando para instalar e configurar o serviço.
Por último, precisaremos direcionar os agendamentos para o BTL. Assim deixamos o container do BServer leve e a execução de processos pesados fica apenas com os containers do BTL.
Tags: bserver, clientes, container, docker, nexus, nps, operação curiosidade, postgresql, qualidade, scriptui, selenium, Tecnologia, testes de interface, tutorial, ui tests