O Google já executava contêineres Linux em escala por uma década antes de os contêineres se tornarem moda. Seu sistema Borg geria centenas de milhares de jobs em clusters de até dezenas de milhares de máquinas, usando uma linguagem declarativa de especificação de jobs, além de reinício e reagendamento automáticos quando uma instância morria.

O Kubernetes, aberto como código-fonte em 2014, levou as lições do Borg para fora do Google: um armazenamento persistente compartilhado, uma API REST específica de domínio com versionamento e validação, e uma estrutura uniforme Spec/Status em cada objeto. O objetivo de design era tornar sistemas distribuídos complexos fáceis de implantar e gerenciar, mantendo os ganhos de utilização que os contêineres possibilitam.

Como os controladores apenas comparam o estado desejado com o estado observado e agem sobre a diferença, a plataforma é inerentemente autorrecuperável e extensível: um autoscaler apenas ajusta a contagem desejada de réplicas e nunca toca na maquinaria que a reconcilia. Essa única abstração se tornou o padrão da indústria.

Declare o estado desejado; um loop reconcilia a realidade

Especificações declarativas significam que o mesmo YAML funciona em qualquer cluster compatível, eliminando o custo da portabilidade

Uma API de objetos uniforme permite que usuários, componentes internos e automação impulsionem o mesmo sistema

O loop de controle transforma implantações, verificações de integridade e escalonamento em recursos de um único mecanismo, em vez de código sob medida

A abertura do código-fonte sob a CNCF deu a cada fornecedor um assento igualitário, então os gigantes da nuvem competiram em serviço, não em aprisionamento tecnológico

Ofereça um contrato declarativo em vez de scripts imperativos: os usuários dizem o que querem, a maquinaria é responsável pelo como. Esse contrato foi o que tornou o Kubernetes a abstração que toda nuvem pôde adotar.

O Kubernetes se tornou o padrão de fato para orquestração de contêineres; toda grande nuvem oferece uma versão gerenciada, e pesquisas da CNCF o colocam entre as plataformas mais amplamente utilizadas. O Borg continua sendo o sistema interno do Google, mas seu descendente público padronizou como a indústria implanta software.

CONFIRA AS EVIDÊNCIAS

As fontes

  1. Large-scale cluster management at Google with Borg (abstract) Google Research / EuroSys 2015 · research.google
  2. Borg, Omega, and Kubernetes ACM Queue · queue.acm.org
  3. Kubernetes Overview Kubernetes Documentation · kubernetes.io