Por que ninguém quer mais gerenciar Kubernetes

Disponibilidade de opções de Kubernetes fez com que mais e mais empresas se esquivassem de gerenciar seus próprios clusters

Author Photo
3:23 pm - 15 de abril de 2021

Gerenciar Kubernetes é difícil, e muitas organizações estão começando a perceber que podem se concentrar melhor em outros problemas de engenharia ainda não resolvidos se entregarem uma grande parte de suas responsabilidades de orquestração de contêineres para provedores de serviços gerenciados.

Hoje, as opções de Kubernetes gerenciadas mais populares – às vezes chamadas de Kubernetes as a service (KaaS) – são Amazon Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS) e Google Kubernetes Engine (GKE). Cada provedor de nuvem oferece cada vez mais versões gerenciadas desses serviços, como o altamente opinativo GKE Autopilot e o sem servidor EKS Fargate, desde o primeiro lançamento por volta de 2018. Existem outras opções, como Rancher, Red Hat OpenShift e VMware Tanzu, mas os três grandes fornecedores de nuvem dominam essa área.

Os fornecedores de nuvem têm se esforçado para encontrar o equilíbrio certo entre permitir que os clientes controlem e integrem o que precisam e abstrair tarefas complicadas de escalonamento automático, atualização, configuração e gerenciamento de cluster. O amadurecimento desses serviços gerenciados levou muitas organizações à percepção de que gerenciar seus próprios clusters Kubernetes é um trabalho desgastante e não diferenciador que é cada vez mais desnecessário.

“Pessoas indo até os binários de código aberto e escrevendo suas próprias ferramentas é um exemplo bastante extremo, e há muito poucos motivos para fazer isso hoje, a menos que você esteja usando o Kubernetes de uma forma realmente única”, disse Joe Beda, Cofundador e Engenheiro Principal do Kubernetes na VMware Tanzu.

“Sempre há exceções para organizações com grande capacidade de engenharia e operações para executar o Kubernetes, mas ficou claro para a maioria dos clientes que isso se tornou uma tarefa difícil”, disse Deepak Singh, Vice-Presidente de Serviços de Computação da Amazon Web Services. “O desafio de escalar o Kubernetes, a complexidade de gerenciar o plano de controle, a camada de API, o banco de dados – isso não é para os fracos de coração”.

Brendan Burns, Vice-Presidente Corporativo de Computação do Azure e ex-Engenheiro-Chefe do Kubernetes na Google, vê esse apetite recém-descoberto por serviços Kubernetes gerenciados como sendo impulsionado pelos dois fatores de melhor funcionalidade empresarial – especificamente recursos como suporte de rede privada e recursos de gerenciamento de políticas consistentes – e os impulsionadores de negócios mais amplos em direção a maior agilidade e velocidade.

O que mudou com os serviços gerenciados?

Stephen O’Grady, Cofundador da RedMonk, empresa de analistas com foco no desenvolvedor, vê um padrão semelhante acontecendo com o Kubernetes hoje, como ocorria anteriormente com bancos de dados e CRM, onde nenhum administrador entregaria suas joias da coroa a um provedor gerenciado – até que o fizessem.

“Quando as empresas consideram algo estratégico, a tendência inicial é administrar por si mesmas”, disse ele. “Então, eles percebem com o tempo, à medida que se aclimatam, que não apenas não está lhes dando nenhuma vantagem competitiva, mas é mais provável que os fornecedores possam administrá-lo melhor do que eles. Todas as empresas estão seguindo esse caminho? Ainda não, mas o apetite e a direção da viagem parecem claros”.

Ihor Dvoretskyi, um desenvolvedor defensor da Cloud Native Computing Foundation (CNCF), está vendo essa tendência se manifestar em uma ampla variedade de usuários do Kubernetes. “Hoje em dia, podemos ver clientes maiores em ambientes regulamentados usando serviços gerenciados com mais intensidade do que antes”, disse ele.

Veja o exemplo da gigante de dados financeiros Bloomberg. Em 2019, Andrey Rybka, Chefe de Infraestrutura de Computação, disse: “Você realmente precisa ter uma equipe de especialistas que esteja em contato com o Kubernetes upstream e com o CNCF e com todo o ecossistema para ter esse conhecimento interno. Você não pode simplesmente confiar em um fornecedor e precisa entender todas as complexidades em torno disso”.

Avance para hoje. A Bloomberg agora tem cargas de trabalho em produção com os três principais serviços Kubernetes gerenciados. O que mudou?

“Os provedores de nuvem têm feito um grande esforço para melhorar a qualidade do serviço em torno de suas ofertas do Kubernetes”, disse Rybka. “Até agora, a linha de tendência tem sido muito boa em relação ao amadurecimento dos serviços gerenciados”.

Também se trata de usar a ferramenta certa para o trabalho específico. A Bloomberg ainda executa cerca de 80% de suas cargas de trabalho do Kubernetes no local e investiu pesadamente no desenvolvimento de habilidades internas para gerenciar de forma confiável esse ambiente e uma plataforma de desenvolvedor interna em cima dele. Para cargas de trabalho adequadas à nuvem, no entanto, “dependemos das ofertas gerenciadas do Kubernetes, porque não podemos fazer um trabalho melhor”, disse ele.

O crescente apetite por Kubernetes gerenciados

Para onde quer que você olhe, os números refletem essa mudança do Kubernetes autogerenciado de código aberto para distribuições gerenciadas.

Na última pesquisa CNCF Cloud Native, 26% dos entrevistados usam serviços Kubernetes gerenciados, ante 23% no ano anterior e alcançando rapidamente as instalações locais, 31%. Esses entrevistados sendo membros do CNCF podem desviar esse número para organizações autogerenciadas que tradicionalmente mexeriam com seus próprios clusters Kubernetes. Portanto, o uso real de Kubernetes gerenciados pode ser maior do que indica a pesquisa CNCF.

O relatório “2021 State of Cloud”, da Flexera, mostra que 51% dos entrevistados usam opções de contêiner gerenciado AWS, que inclui o Amazon EKS e o serviço ECS non-Kubernetes da Amazon. O Kubernetes autogerenciado está em 48%, logo acima do serviço Kubernetes gerenciado do Azure (AKS), com 43%, e do Google (GKE), com 31%.

De acordo com o relatório de contêiner mais recente do Datadog, cerca de 90% das organizações que executam Kubernetes no Google Cloud contam com o GKE, e o AKS está se tornando rapidamente a norma para usuários do Kubernetes no Azure, com dois terços dos entrevistados o adotando. Enquanto isso, o EKS da Amazon aumentou 10% com relação ao ano anterior e continua subindo de forma constante.

Especificamente na AWS, Singh diz que “poucos clientes que começam na AWS hoje não começam no EKS, e um grande número de clientes que executavam seus próprios Kubernetes agora executam no EKS, porque [executá-lo sozinhos] simplesmente não vale a pena”. Por exemplo, o mecanismo de metabusca de voo Skyscanner recentemente deixou de autogerenciar seu Kubernetes em favor do EKS, disse ele.

Por que escolher um serviço Kubernetes gerenciado?

A falta de experiência interna, garantindo a segurança e realmente gerenciando ambientes em contêineres estavam entre os desafios do Kubernetes mais citados entre os entrevistados da pesquisa Flexera.

Em organizações com menos de 1.000 funcionários e onde é mais difícil obter conhecimento nativo da nuvem, o Kubernetes gerenciado é ainda mais popular, mostrou a pesquisa Flexera. As opções gerenciadas pela AWS são de longe a forma mais comum de gerenciar contêineres, com 52%, com Kubernetes autogerenciado em 37%, gerenciado pelo Azure em 35% e gerenciado por GKE em 23%.

O Dvoretskyi da CNCF cita a sobrecarga de gerenciamento e o consumo de tempo e recursos como os principais motivadores para a adoção do Kubernetes gerenciado. “Se eles podem ser satisfeitos por um serviço gerenciado, é uma escolha óbvia não reinventar a roda”, disse ele.

Para a empresa global de tecnologia de viagens Amadeus, os serviços gerenciados do Kubernetes cumprem sua promessa de gerenciamento simplificado. A Amadeus tem mudado constantemente para o Kubernetes como sua infraestrutura subjacente desde 2017.

“Dá menos trabalho, vamos ser claros. Ele é operado para nós e isso é importante porque temos o desafio de ter todas as pessoas de que precisamos para administrar [o Kubernetes]”, disse Sylvain Roy, Vice-Presidente Sênior de Plataformas de Tecnologia e Engenharia da empresa. Hoje, a Amadeus executa cerca de um quarto de todas as cargas de trabalho em um cluster Kubernetes, seja no local ou na nuvem privada ou pública, principalmente por meio da plataforma OpenShift da Red Hat.

“O fator número um é o custo total de propriedade: quanto custará e de quantas pessoas precisamos para operá-lo em comparação com nossa própria configuração?”, disse Roy sobre considerar uma carga de trabalho para Kubernetes gerenciado.

A Amadeus ainda não moveu nenhuma carga de trabalho para um serviço gerenciado, mas após um novo acordo com a Microsoft, está testando o AKS e outros serviços gerenciados “onde e quando fizer sentido”.

Por enquanto, isso não inclui os aplicativos principais. Mas para “as ferramentas e aplicativos que não são essenciais para o que fazemos, e para casos de uso de nicho menores, usar algo como AKS faz sentido”, disse Roy.

A questão da confiança nos fornecedores de serviço do Kubernetes

Para muitas organizações, a decisão de usar um serviço Kubernetes gerenciado se resume à confiança, como os fornecedores reconhecem.

“Houve um medo quando o Kubernetes foi lançado, de que era uma bait-and-switch, uma apropriação de terras de fornecedores para tirar de comunidades abertas e que se transformaria em núcleo aberto. Demorou cinco, seis anos quase para refutar isso”, disse Kelsey Hightower, Engenheiro-Chefe da Google Cloud.

Da mesma forma, Singh da AWS disse que é importante para alguns clientes que o EKS permaneça próximo à distribuição de código aberto do Kubernetes, “sem nenhum vodu estranho acontecendo lá que criaria diferenças”. A AWS recentemente abriu o código-fonte de sua EKS Distro no GitHub como uma forma de provar isso.

Beda, da VMware, admite que “é difícil ter essa conversa sem falar sobre aprisionamento” e recomenda que qualquer pessoa que esteja tomando essas decisões de compra avalie os riscos de forma adequada. “Qual a probabilidade de você se mudar? Se você fizer isso, qual será o custo de fazer isso? Quanto reescrita de código você precisará fazer e quanto retreinamento? Qualquer pessoa que fizer esses investimentos precisa entender os requisitos, riscos e compensações para eles”, disse ele.

Por sua vez, o CNCF executa o Programa de Conformidade do Kubernetes Certificado, que garante a interoperabilidade de uma instalação para a outra, independentemente de quem seja o fornecedor certificado.

Por que nem todo mundo está no trem do Kubernetes gerenciado?

Em empresas grandes e complexas como a Bloomberg e a Amadeus, algumas cargas de trabalho legadas ou altamente confidenciais simplesmente terão que permanecer no local, onde os clusters do Kubernetes em que são executados provavelmente permanecerão autogerenciados por algum tempo.

“Aqueles que querem autogerenciar peças vão se preocupar com o plano de dados; eles precisam personalizar ou se especializar em certas áreas. Eles não se importam com um plano de controle gerenciado”, disse Hightower, da Google.

Singh da AWS vê dois tipos de clientes que ainda não aderiram ao movimento do Kubernetes gerenciado: aqueles que ele define como “construtores” e aqueles com dependências profundamente entrelaçadas. Para a classe builder, “nosso foco é reconhecê-los e gastar tempo para fornecer Kubernetes básicos na AWS”, com projetos como o autoescalador de código aberto Karpenter, um exemplo.

“A segunda classe é alguém que não executa Kubernetes puro, e eles fizeram bifurcações e mudanças e escolheram dependências onde um plano de controle gerenciado que eles não podem acessar se torna um problema. Eles construíram um Franken-Kubernetes e leva algum tempo para voltar ao Kubernetes básico”, disse ele.

Para organizações que já fizeram grandes investimentos no desenvolvimento e contratação das habilidades necessárias para ajustar seus próprios clusters Kubernetes, essas habilidades não serão desperdiçadas apenas porque você adota alguns serviços gerenciados quando apropriado, disse Dvoretskyi, da CNCF.

“Essas habilidades definitivamente não são inúteis”, disse Dvoretskyi. “Mesmo se você estiver usando Kubernetes totalmente gerenciado e escrevendo apenas alguns aplicativos em cima do cluster existente, saber como ele funciona nos bastidores ajuda a criá-los com mais eficiência”.

Neste estágio do ciclo de vida do Kubernetes como uma tecnologia corporativa central, todos os sinais apontam para a existência de cada vez menos razões convincentes para se aprofundar com sua própria configuração do Kubernetes.

“Talvez você o veja como um investimento existente que ninguém deseja cancelar como um custo irrecuperável ainda, ou que haja preocupações organizacionais conservadoras sobre um conjunto de cargas de trabalho ou o negócio”, disse O’Grady. “Ou há receio de ter uma parte da sua infraestrutura, que é percebida como estratégica, que saia do seu controle. Mas quando você vê seus colegas fazendo isso, essa apreensão vai embora e você verá mais pessoas percebendo os benefícios”.

Tags:

Newsletter de tecnologia para você

Os melhores conteúdos do IT Forum na sua caixa de entrada.