A 500px migra do Jenkins para o Semaphore para melhorar a escalabilidade

  • ⛔️️ Problemas para manter e escalar o Jenkins
  • ⛔️ Recursos limitados de CI e tempo desperdiçado
  • ✅ Tempo de build 400% mais rápido
  • ✅ Processo de integração contínua que escala

Experimente o Semaphore

O desafio

Enquanto desenvolviam a plataforma 500px, os desenvolvedores precisavam de um processo para detectar e resolver problemas rapidamente. Eles queriam garantir que o código das interações-chave dos usuários, como galerias e o marketplace de fotos, estivesse coberto por testes automáticos.

Antes de migrar para o Semaphore, a 500px usava uma instância local do Jenkins para integração contínua. À medida que a plataforma crescia, o Jenkins mostrou-se uma solução subótima, gerando dificuldades técnicas. Manter o Jenkins e o software necessário era desafiador, e a manutenção da pilha de software CI não agregava vantagem competitiva.

Além disso, o Jenkins não escalava bem para as necessidades da 500px. Com milhões de usuários e uma grande base de código, a suíte de testes levava mais de uma hora para rodar. Com vários desenvolvedores trabalhando na mesma base, escalar o Jenkins para várias máquinas era demorado e difícil. Isso resultava em recursos limitados de CI e tempo desperdiçado pelos desenvolvedores, que aguardavam a conclusão dos testes.

A interface complexa do Jenkins também dificultava a adaptação de novos engenheiros, tornando-o inadequado para a equipe de engenharia da 500px, que precisava de mais eficiência com o aumento do time e da quantidade de testes.

A solução

A 500px superou as limitações de um sistema de integração contínua auto-hospedado ao migrar para a solução em nuvem do Semaphore. Sem a necessidade de manter uma infraestrutura de CI complexa, a equipe pôde focar no que realmente importa — desenvolver e aprimorar seu serviço.

Quando a 500px precisa de mais largura de banda para executar seus testes devido ao desenvolvimento de mais código ou à adição de novos desenvolvedores, ela obtém isso imediatamente no Semaphore.

Com a integração nativa ao Slack, o Semaphore mantém os desenvolvedores da 500px atualizados sobre o status dos builds em tempo real.

Com uma equipe distribuída em três cidades e dois fusos horários, ter um local central para testar todo o código-fonte e comunicar o status é um grande benefício para a colaboração entre os membros da equipe de engenharia.

Os resultados

Escalar rapidamente se provou ser a primeira e mais importante vantagem para a 500px.

Com escalabilidade sob demanda, uma interface fácil de usar e suporte técnico da equipe de engenharia, a 500px encontrou no Semaphore uma solução de integração contínua estável e rápida, melhorando seu processo de desenvolvimento geral.

Setor

Fotografia e Mercado Criativo

Star us on GitHub