Skip to content
Latchkey

Qual É o Custo do Tempo de Fila do CI? Esperando por um Runner

O tempo de fila do CI é a espera entre um job ser disparado e um runner efetivamente o pegar - tempo que custa em produtividade mesmo quando não é diretamente faturado.

O tempo de fila é a parte do custo de CI que se esconde na produtividade em vez de na fatura. Quando os runners são escassos, os jobs esperam, os lançamentos travam e os desenvolvedores fazem troca de contexto. Em algumas plataformas você até paga pela espera. Entender o custo da fila completa o quadro do que o CI lento realmente custa.

O que causa a fila

O tempo de fila aparece quando há mais jobs do que runners disponíveis: limites de concorrência, uma frota self-hosted limitada ou atrasos de provisionamento em cold-start. O job fica na fila até que a capacidade se libere ou um novo runner inicialize.

O custo direto

Na maioria das plataformas hosted você não é faturado enquanto está na fila, mas em algumas configurações self-hosted ou reservadas a capacidade pela qual você espera já está custando dinheiro. De qualquer forma, capacidade reservada ociosa dimensionada para evitar filas é uma despesa real.

O custo indireto

O custo maior é humano. Um desenvolvedor esperando por um build na fila faz troca de contexto ou fica ocioso; um lançamento bloqueado atrás de uma fila é entregue mais tarde. Ao longo de uma equipe, o atraso induzido pela fila pode superar em muito qualquer faturamento direto.

O trade-off de capacidade

Você pode eliminar a fila superprovisionando runners, mas isso troca o custo de fila pelo custo ocioso. O objetivo é ter capacidade suficiente para manter as filas curtas sem pagar por uma frota grande que fica quase sempre sem uso.

Medindo o custo da fila

Acompanhe o tempo em fila por job e a fração de execuções que esperam. Multiplique o atraso de fila significativo pelo tempo do desenvolvedor e pelo impacto no lançamento para estimar o custo indireto que nunca aparece em uma fatura de CI.

Reduzindo o tempo de fila

Pools aquecidos gerenciados resolvem a fila sem desperdício ocioso. A Latchkey mantém um pool de runners pré-inicializados prontos para que os jobs comecem quase imediatamente, escalando a capacidade conforme a demanda - você evita tanto o custo de fila quanto o custo de frota ociosa, a cerca de 70% abaixo das tarifas do GitHub-hosted.

Principais conclusões

  • O tempo de fila é a espera antes de um job conseguir um runner.
  • O faturamento direto pela fila é raro; o custo real é a produtividade perdida.
  • Eliminar filas com superprovisionamento apenas troca isso por custo ocioso.

Guias relacionados