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.”

— Ed Kelly, Diretor de Tecnologia da Strand

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.”

~ Gleam Community Webring ~

Navegando pela web descentralizada como em 1999.