Reddit Melhora Sua Infraestrutura com Kubernetes e DevOps

Descubra como o Reddit transformou sua infraestrutura com Kubernetes e DevOps, melhorando a eficiência operacional e reduzindo erros em sua gestão de clusters.

Após um colapso significativo em março de 2022, conhecido como o “Pi Day”, o Reddit percebeu a necessidade urgente de reformular sua gestão de infraestrutura. Esse incidente, que durou 314 minutos, destacou falhas críticas na atualização do Kubernetes, levando a equipe a buscar soluções mais eficientes e proativas.

A Necessidade de Mudança

Com o crescimento da plataforma, a equipe de engenharia de infraestrutura da Reddit enfrentava desafios crescentes. A empresa expandia sua pilha de servidores para melhorar a confiabilidade global, ao mesmo tempo em que se preparava para um IPO. Karan Thukral, engenheiro de software da Reddit, enfatiza que, à medida que as empresas crescem, é essencial desenvolver novas abstrações para manter a eficiência operacional.

A Abordagem da Reddit

Desenvolvimento de uma Nova Abstração de Plataforma

A equipe de infraestrutura começou a trabalhar em uma nova abstração de plataforma que tivesse como objetivo evitar a reação a incêndios e priorizar o planejamento. Em uma apresentação na KubeCon+CloudNativeCon, Thukral e seu colega Harvey Xia discutiram como essa nova abordagem permitiu que a equipe se concentrasse em problemas mais desafiadores com menos recursos.

Problemas com Namespaces

Anteriormente, a criação de namespaces no Kubernetes era um processo moroso e propenso a erros, pois dependia do conhecimento dos desenvolvedores em Helm e Kustomize. Isso resultava em configurações inconsistentes, atrasos significativos no processo de revisão de aplicativos e, em última instância, falhas na integração contínua. A falta de clareza sobre o uso de namespaces levou a uma acumulação de recursos não utilizados, impactando a eficiência.

Desafios na Gestão de Clusters

A equipe enfrentava também a dificuldade de gerenciar a criação e a manutenção de clusters. O processo para configurar um cluster era complexo e demorado, levando mais de 30 horas. Além disso, as atualizações eram arriscadas e a falta de um padrão claro para descomissionamento tornava o processo ainda mais complicado.

A Decisão por Controladores Kubernetes

Em vez de seguir o caminho tradicional de Infrastructure as Code (IaC), Reddit optou por desenvolver controladores baseados em Kubernetes. Essa decisão surgiu da dificuldade de representar lógicas de negócios complexas com ferramentas IaC convencionais. Os controladores Kubernetes permitiram que a equipe gerenciasse o estado desejado da infraestrutura de forma mais dinâmica e confiável.

Resultados e Benefícios

Atualmente, a equipe de infraestrutura do Reddit gasta menos tempo gerenciando clusters, utilizando APIs para controlar múltiplos clusters a partir de uma única interface. As operações tornaram-se mais escaláveis, com um tempo de configuração de novos clusters reduzido para cerca de duas horas e atualizações realizadas em uma hora.

Melhoria na Criação de Namespaces

Os desenvolvedores agora podem criar namespaces de forma simplificada usando um recurso personalizado chamado “Reddit Namespace”, eliminando a necessidade de dominar Helm ou Kustomize. Isso não só reduziu o tempo de configuração, mas também melhorou a segurança e a simplicidade da pilha de aplicativos.

Acelerando o Desenvolvimento

Com as novas ferramentas, a criação e o teste de controladores se tornaram mais rápidos e eficientes. A implementação do Achilles SDK simplificou ainda mais o processo, permitindo que os engenheiros se concentrassem mais na lógica de negócios do que em se tornar especialistas em Kubernetes.

Conclusão

A transformação da infraestrutura da Reddit demonstra como a adoção de práticas de DevOps e a utilização do Kubernetes podem levar a melhorias significativas na eficiência operacional. À medida que a empresa continua a evoluir, o foco em abstrações de plataforma e automação promete um futuro mais robusto e sustentável. Como sua empresa está se preparando para enfrentar desafios semelhantes? Compartilhe suas experiências e insights!

Source

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *