Pinterest dá adeus ao Hadoop e abraça o Kubernetes para rodar Spark na AWS

Em uma jogada de mestre que sinaliza o futuro da engenharia de dados, o Pinterest anunciou a substituição de sua tradicional plataforma baseada em Hadoop. A rede social, conhecida por seu mural de inspirações visuais, decidiu migrar para um sistema nativo de Kubernetes chamado Moka, rodando a poderosa ferramenta de processamento de dados Spark diretamente no Amazon Elastic Kubernetes Service (EKS). A decisão, segundo um relatório detalhado pela InfoQ, não foi apenas uma troca de tecnologia, mas uma reestruturação estratégica que visa maior eficiência, segurança e, claro, uma bela economia nos custos de infraestrutura.

Aposentadoria Anunciada: Por que o Hadoop Ficou para Trás?

Durante anos, o ecossistema Hadoop foi o padrão de fato para processamento de Big Data. No entanto, o tempo passa e a tecnologia evolui. O Pinterest, em uma avaliação completa realizada em 2022, percebeu que a arquitetura legada, chamada internamente de Monarch, já não dialogava tão bem com as práticas modernas de infraestrutura. A empresa buscava uma solução que oferecesse mais flexibilidade e agilidade.

A escolha pelo Kubernetes não foi por acaso. A plataforma se destacou por vantagens claras: orquestração de contêineres e segurança como cidadãos de primeira classe, facilidade de implementação e uma enorme flexibilidade para rodar em diferentes tipos de instâncias, como ARM e x86. De acordo com os engenheiros do Pinterest, o isolamento superior fornecido por um sistema baseado em contêineres foi um fator determinante. Essa característica permitiu que a empresa eliminasse ambientes Hadoop dedicados e subutilizados, consolidando jobs com diferentes requisitos de segurança em um mesmo cluster Moka, otimizando o uso dos recursos.

Moka: A Nova Orquestra de Dados do Pinterest

Construir uma alternativa ao Hadoop não é uma tarefa simples. Como a própria equipe do Pinterest reconheceu, a plataforma antiga englobava uma vasta gama de funcionalidades. A solução foi desenvolver um novo ecossistema, o Moka, peça por peça. Nessa nova arquitetura, vários componentes trabalham em harmonia para garantir que tudo funcione de maneira fluida.

O processo começa com o Spinner, o sistema de orquestração do Pinterest baseado em Airflow, que quebra os fluxos de trabalho em jobs individuais. Esses jobs são enviados para o Archer, um novo serviço de submissão que atua como o grande maestro, traduzindo cada tarefa em um recurso personalizado do Kubernetes e enviando-o para o cluster EKS correto. O Archer cuida da fila, rastreia o status e se comunica com a API do Kubernetes, garantindo uma implantação confiável.

Para a execução nativa dos jobs Spark no Kubernetes, a escolha foi o Spark Operator. Ele permite uma definição declarativa das aplicações, simplificando os detalhes da submissão. E para gerenciar a fila e a alocação de recursos, o Pinterest adotou o Apache YuniKorn. Segundo a InfoQ, o YuniKorn oferece agendamento baseado em filas, cotas por aplicação e preempção, permitindo que a empresa isole recursos entre equipes e priorize jobs dinamicamente com base na criticidade para o negócio.

O Impacto no Bolso e na Eficiência

A migração para a plataforma Moka trouxe melhorias notáveis em custos e eficiência. A consolidação de cargas de trabalho em clusters compartilhados, graças ao isolamento via contêineres, foi um dos grandes ganhos, reduzindo a necessidade de manter múltiplos ambientes. Além disso, a plataforma foi projetada para tirar proveito de instâncias baseadas em ARM, que geralmente oferecem uma melhor relação custo-benefício, e utiliza um sistema de autoescalonamento oportunista, que aumenta a capacidade dos clusters durante os períodos de baixa demanda para aproveitar preços mais baixos.

A transição de armazenamento também foi fundamental. O antigo HDFS (Hadoop Distributed File System) deu lugar ao Amazon S3, uma solução de armazenamento de objetos mais moderna e escalável. Para manter o desempenho em alta escala, a equipe integrou o Apache Celeborn Remote Shuffle Service, garantindo que a performance não fosse comprometida com a mudança.

Uma Migração de Peso para um Futuro Cloud-Native

A jornada do Pinterest do Hadoop para o Kubernetes é um excelente exemplo da transformação digital em ação. A empresa não apenas trocou uma tecnologia por outra, mas repensou toda a sua filosofia de processamento de dados, abraçando uma abordagem mais flexível, escalável e econômica, totalmente alinhada ao paradigma cloud-native.

Ao criar a plataforma Moka e integrar ferramentas de ponta como YuniKorn e Spark Operator, o Pinterest demonstra uma capacidade de engenharia robusta e uma visão clara para o futuro. Para os usuários, isso se traduz em um serviço mais estável e eficiente. Para o mercado, é mais um sinal de que o Kubernetes continua a consolidar seu reinado como a base da infraestrutura moderna na nuvem, provando que até os gigantes da tecnologia precisam, de vez em quando, desapegar do passado para construir um futuro mais eficiente.