Gleam em Produção
Como a agência Strand adotou Gleam para sistemas financeiros críticos.
A Strand é uma agência de marketing sediada em Londres, Reino Unido. A empresa é especializada em redação publicitária e criação de conteúdo para muitas das maiores empresas de tecnologia empresarial do mundo, executando programas de marketing que produzem centenas de white papers, estudos de caso, postagens de blog e artigos todos os anos.
01. Desafio
Por muitos anos, a Strand utilizou um sistema de gerenciamento de projetos personalizado para dar suporte aos aspectos operacionais de seus negócios — criação de projetos, acompanhamento de atividades e gerenciamento de documentos. No entanto, gerenciar os aspectos financeiros do gerenciamento de projetos sempre foi um processo mais manual, com o uso de planilhas para garantir que o trabalho faturável fosse atribuído aos pedidos de compra e faturas corretos.
“Pouco antes da pandemia, decidimos criar um novo sistema de gestão financeira. Acabou sendo uma decisão muito oportuna. Quando tivemos que migrar para o trabalho remoto, o fato de todos poderem acompanhar seu trabalho faturável em um sistema centralizado nos ajudou a manter o negócio nos trilhos.”
O novo sistema rapidamente se tornou parte integrante do fluxo de trabalho diário da Strand, e os usuários começaram a solicitar novos recursos. À medida que o aplicativo se tornava gradualmente maior e mais complexo, a pequena equipe de desenvolvimento da empresa queria garantir que o sistema permanecesse confiável, sustentável e escalável.
“Quase por acidente, o que lançamos como protótipo se tornou um aplicativo crítico para os negócios”, diz Ed Kelly. “Nossos recursos de desenvolvimento são limitados, então nossa principal prioridade era garantir que o sistema funcionasse para sempre, sem precisar de manutenção constante. Ao mesmo tempo, queríamos manter a base de código simples e acessível, para que fosse fácil para os desenvolvedores voltarem a usá-la quando precisassem fazer alguma alteração. O desafio para nós era construir e manter esse sistema crítico para os negócios de forma econômica, com nossa equipe de desenvolvimento enxuta.”
02. Solução
Como uma pequena empresa, a Strand não tem medo de inovar. "Temos sistemas escritos em linguagens de programação tradicionais, como Python e JavaScript, mas nossa estratégia é escolher a melhor ferramenta para o trabalho, não apenas a mais popular", explica Ed Kelly. "O Gleam atendeu perfeitamente às nossas necessidades."
Os recursos do Gleam que atraíram Strand foram sua robustez e facilidade de manutenção, sua combinação de recursos de linguagem modernos com acesso a um amplo ecossistema de bibliotecas testadas em campo e de nível de produção, e seu forte foco na experiência do desenvolvedor.
Segurança e Confiabilidade
“Gleam é uma linguagem segura. Em termos gerais, se você escrever um programa em Gleam puro, ele certamente não travará. E nos casos em que você precisa interagir com código escrito em outras linguagens menos seguras, há uma segunda camada de proteção fornecida pela plataforma de tempo de execução do Gleam, a BEAM.”
O BEAM garante que aplicações divididas em processos leves possam falhar e ser reiniciadas automaticamente sem afetar o restante do sistema, algo crucial para os serviços externos da Strand.
Modernidade e Pragmatismo
O Gleam foi projetado para ser simples. "Ele nos dá acesso a recursos de linguagens acadêmicas, mas acessíveis", diz Kelly. "A linguagem é pequena — aprende-se em uma tarde — e há foco em ter apenas uma maneira de fazer as coisas."
Eles também aproveitam o vasto ecossistema de bibliotecas da Erlang e Elixir construídas ao longo de 40 anos, priorizando o pragmatismo.
Experiência do Desenvolvedor
"As ferramentas do Gleam são inigualáveis. Formatação, sugestões, preenchimento e mensagens de erro amigáveis vêm no pacote." Ele nota que para IA gerando código, Gleam é ideal por permitir verificação rápida e feedback instantâneo pelo compilador.
Adoção Incremental
A introdução foi gradual. "Começamos com a integração da API de taxas de câmbio. Ficamos tão satisfeitos que reescrevemos outros serviços e agora substituímos todo o backend de banco de dados por Gleam."
03. Resultados
Dois anos depois, a equipe está muito feliz. A linguagem amadureceu e se tornou uma escolha sólida para produção. O código se mostrou extremamente sólido: "Não tivemos falhas relacionadas ao Gleam e a BEAM manteve tudo funcionando. Corrigimos problemas sem os usuários notarem."
“Adotar uma nova linguagem é sempre uma aposta, mas o Gleam valeu a pena. A abordagem de segurança e tolerância a falhas nos proporcionou um sistema que funciona de forma confiável, sem supervisão constante. Para uma equipe enxuta, essa confiança vale ouro.”