Skip to content
Latchkey

Qual é o custo dos cold starts no CI? Os minutos antes do trabalho real

O custo do cold start é o tempo cobrado que cada job gasta provisionando, inicializando e se configurando antes de fazer qualquer trabalho útil.

Todo runner novo começa frio: ele inicializa, baixa imagens, restaura ou reconstrói dependências e configura o ambiente antes que sua primeira etapa real seja executada. Essa sobrecarga é cobrada pela tarifa completa por minuto e, como se repete em cada job, pode ser um dos maiores itens evitáveis da fatura do CI.

O que conta como cold start

O cold start abrange o provisionamento do runner, o boot do OS, o download da imagem, a configuração da toolchain e a instalação de dependências antes que seu build ou teste realmente comece. Em um runner efêmero hospedado, cada job paga essa sobrecarga do zero.

Como isso se acumula

Um cold start de 90 segundos em um job que roda 5.000 vezes por mês são 7.500 minutos - cerca de $60 na tarifa Linux de 2 núcleos - gastos antes de qualquer trabalho real. Multiplique por muitos pipelines e os cold starts se tornam uma fatia significativa da fatura.

Cache versus warm pools

O cache de dependências reduz a parte de instalação do cold start, mas não remove o provisionamento e o boot. Um warm pool mantém runners pré-inicializados prontos, para que os jobs pulem a maior parte da sequência de cold start inteiramente - atacando a parte que o cache não consegue.

Cold starts somados à instabilidade

Os cold starts também são uma fonte de instabilidade: downloads de imagens e chamadas de registry durante a configuração podem falhar de forma transitória, transformando um início lento em um job falho e uma re-execução cobrada. O custo do cold start então se acumula com o custo da re-execução.

Medindo isso

Compare o timestamp da sua primeira etapa significativa com o início do job. Essa diferença, multiplicada pela sua contagem de execuções e pela tarifa, é o seu custo mensal de cold start, geralmente maior do que as equipes esperam.

Eliminando o custo do cold start

Os warm pools são a correção direta. Os runners gerenciados da Latchkey mantêm um warm pool de runners pré-inicializados, para que os jobs comecem rápido sem pagar minutos repetidos de cold start, e a autocorreção recupera as falhas transitórias de configuração que os cold starts podem causar - tudo a cerca de 70% abaixo das tarifas hospedadas pelo GitHub.

Principais conclusões

  • O custo do cold start é o tempo de configuração cobrado antes do trabalho real começar.
  • Ele se repete em cada job, então se acumula ao longo de milhares de execuções.
  • O cache reduz o tempo de instalação; os warm pools removem a maior parte do cold start.

Guias relacionados