Uma tarefa por EC2: a Netflix troca densidade por previsibilidade onde importa
O novo modo do Titus mantém a operação com a plataforma e reserva hosts dedicados a cargas sensíveis, com custos de partida e ocupação.
A Netflix acrescentou ao Titus um modo com uma tarefa por instância EC2 dimensionada para ela, mantendo a propriedade e a atualização do host com a equipe de plataforma.[8] As equipes de aplicação preservam a API e o fluxo de implantação existentes.[8] Os primeiros casos incluem processamento contínuo com estado e alto volume, sensível à interferência de outros containers.[8]
O que muda para quem desenvolve
No cenário descrito, controles como cgroups e isolamento de I/O não eliminavam disputas por cache de último nível e largura de banda de memória.[8] A Netflix também observou interferência associada a um lock global do mecanismo HTB de tráfego, especialmente com muitos pacotes pequenos.[8] O problema não se resumia a reservar mais CPU no manifesto.
A decisão de arquitetura foi preservar a interface da plataforma e mudar a unidade de isolamento por baixo dela. Essa separação me parece mais interessante que o uso de uma máquina dedicada em si: a aplicação não precisa assumir a manutenção do host para obter outra política de execução.
O objetivo principal relatado é isolamento de desempenho entre equipes confiáveis, não uma fronteira contra execução hostil.[8] Portanto, não use o caso como prova de que um requisito de segurança foi atendido apenas por separar tarefas.
Como aplicar
Antes de dedicar máquinas, escolha uma carga cuja latência ou recuperação esteja prejudicada e formule uma hipótese de contenção. Compare o mesmo workload em um pool compartilhado e em um pool dedicado de homologação, mantendo demanda e configuração da aplicação tão próximas quanto possível.
Registre latência P99, throughput, tempo de recuperação, tempo de partida e custo efetivo. Se a variabilidade continuar, investigue dependências externas e comportamento da própria aplicação antes de expandir o isolamento. O experimento deve poder refutar a hipótese inicial.
Se a comparação justificar a mudança, proponha critérios de elegibilidade: duração, tamanho, sensibilidade a interrupção e impacto no negócio. Acrescente política de atualização do host e responsabilidade por incidentes. Dedicação seletiva precisa de regras para não se tornar o padrão por conveniência.
Cuidados e limites
Na implementação da Netflix, taints, anti-afinidade e prioridade não preemptível ajudam a manter uma tarefa por nó, enquanto a desfragmentação fica desativada.[8] A contrapartida é que uma instância nova leva dezenas de segundos antes mesmo do download da imagem, e serviços fixos pesam proporcionalmente mais em máquinas pequenas.[8]
A matéria não publica resultados numéricos dos testes comparativos de throughput e P99.[8] Também relata restrições específicas nas alternativas avaliadas, como microVMs e gVisor.[8] Não transforme decisões daquele ambiente em ranking universal. O ponto é comprar previsibilidade onde ela tem valor mensurável, sem pagar por isolamento indiscriminado.
Fonte
[8] Fonte: InfoQ