Skip to content
Latchkey

O Que É um Warm Pool? Runners Pré-Inicializados, Zero Espera

Um warm pool é uma pequena reserva de runners já inicializados e ociosos, para que quando um job chega ele comece imediatamente em vez de esperar por uma máquina provisionada do zero.

Runners efêmeros são limpos, mas lentos para iniciar - cada máquina nova precisa bootar, registrar e se preparar. Um warm pool esconde essa latência mantendo alguns runners prontos com antecedência, trocando um pouco de custo ocioso por muita velocidade.

O problema do cold start

Provisionar um runner novo leva tempo: lançar a instância, bootar o OS, iniciar o agente runner, registrar no GitHub. Em um caminho frio, isso pode ser de dezenas de segundos a minutos antes de o seu primeiro step sequer rodar.

Como um warm pool resolve isso

A plataforma mantém N runners pré-inicializados e registrados, esperando. Quando um job chega, ele pega um runner pronto e começa em cerca de um segundo. O pool então se reabastece em segundo plano para que o próximo job também seja rápido.

Dimensionando o pool

  • Pequeno demais: rajadas transbordam o pool e os jobs de overflow batem em cold starts.
  • Grande demais: você paga por máquinas ociosas que nunca são usadas.
  • Bem dimensionado: o pool cobre sua concorrência típica, com autoscaling para picos.

Warm pool vs runner persistente

Um warm pool dá a velocidade de uma máquina pronta sem a sujeira do reúso: os runners do pool ainda são efêmeros e de uso único. Você tem inícios rápidos e estado limpo ao mesmo tempo.

Warm pools na Latchkey

A Latchkey mantém warm pools para que seus jobs tipicamente comecem em cerca de um segundo, sem fila e sem imposto de cold start, enquanto cada runner permanece efêmero.

Principais conclusões

  • Um warm pool são runners pré-inicializados e ociosos prontos para pegar um job instantaneamente.
  • Ele esconde a latência de cold start de provisionar máquinas novas.
  • O tamanho do pool troca custo ocioso pela chance de cold starts por overflow.
  • A Latchkey usa warm pools para que os jobs comecem em cerca de um segundo.

Guias relacionados