A Superhuman reduziu o tempo de build de 22 para 8 minutos com o Semaphore
😔 Antes do Semaphore:
- ⛔️️ Ferramentas diferentes gerenciando o processo de CI
- ⛔️ Feedback lento e caro
😄 Após adotar o Semaphore:
- ✅ Apenas uma ferramenta para gerenciar todos os processos
- ✅ Um ciclo de feedback mais rápido e barato
Experimente o Semaphore
O desafio
A Superhuman se orgulha de ser o cliente de email mais rápido do mundo e quer aplicar esse valor de velocidade em todas as suas ferramentas internas. Antes do Semaphore, rodar testes e fazer deploy era muito lento. A equipe usava o Wercker para o backend (adquirido pela Oracle alguns anos atrás). O serviço de CI do frontend seguia o “modelo antigo” de cobrança por paralelismo máximo, e eles ainda usavam outro serviço de CI para os builds do cliente desktop.
“Na busca por substitutos, o Semaphore foi de longe o melhor (se não o único!) servidor de CI que atendeu a essas exigências.”

Conrad Irwin
CTO / Co-fundador da Superhuman
A Superhuman precisava de um serviço que:
- Fosse construído do zero para ser rápido.
- Suportasse a assinatura de código no macOS.
- Realizasse a cobrança pelo tempo real de uso, não pelo paralelismo máximo.
- Tivesse um alto nível de paralelismo máximo.
- Respondesse quando fizessem contato.

A solução
O backend da Superhuman é escrito em Go. Quando o código é enviado para qualquer branch, o Semaphore compila e executa os testes. Quando os testes passam na branch ‘master’ ou ‘staging’, o Semaphore constrói as imagens Docker, as carrega no Google Container Registry e, em seguida, as implementa gradualmente no cluster do Google Container Engine.
O frontend é escrito em JavaScript. Quando o código é enviado para qualquer branch, o Semaphore executa o Zen (um executor de testes criado por um dos engenheiros) para rodar todos os testes. O Zen compila o código, o carrega no S3 e inicia 600 instâncias do AWS Lambda para rodar os testes em paralelo (o worker do Semaphore coordena isso). Quando os testes passam nas branches ‘staging’ ou ‘production’, o Semaphore automaticamente cria um pacote e o carrega no Google Cloud Storage.

“O tempo para implantar uma nova versão no backend foi reduzido de cerca de 22 minutos para 8 minutos. O tempo para executar os testes do frontend na nossa solução anterior era de cerca de 17 minutos (não era nem para implantar, apenas para testar!).”

Conrad Irwin
CTO / Co-fundador da Superhuman
Os resultados
O Semaphore tem um desempenho significativamente melhor, as máquinas não estão sobrecarregadas e você pode rodar muitos builds em paralelo. Além disso, é muito mais barato do que o modelo antigo, que reservava capacidade e recursos para 10 jobs paralelos (o que é um desperdício 80% do tempo e insuficiente 10% do tempo).
- ✔️ Melhor desempenho
- ✔️ As máquinas não estão sobrecarregadas
- ✔️ Executar muitos builds em paralelo
- ✔️ Mais barato que o modelo antigo
“É muito mais rápido e pagamos ao Semaphore apenas pelo número de segundos de build que realmente usamos. Como passamos um tempo otimizando nossa velocidade de build, cada build custa cerca de 10 centavos.”

Conrad Irwin
CTO / Co-fundador da Superhuman
A Superhuman não é apenas mais um cliente de email. Eles recriaram a caixa de entrada do zero para tornar as pessoas excelentes no que fazem. A Superhuman é incrivelmente rápida e visualmente incrível.
superhuman.com
Setor
Busca de emprego e recrutamento
Stack Tecnológico
Go
Javascript
Docker
GKE
Aws Lambda
Resultados reais. Impacto real. 🎯📈