CloudStream: como a Netflix reduziu 99% do tempo de deploy de dados

A Netflix transformou seu pipeline de dados offline para online com o CloudStream, reduzindo o tempo de implantação em 99% e os custos em 70%. Arquitetura baseada em abstrações, confiança e framework de captura, conversão e deploy.

R

Diagrama da arquitetura CloudStream com fluxo de dados offline para online, destacando as fases de captura, conversão e implantação.
Diagrama da arquitetura CloudStream com fluxo de dados offline para online, destacando as fases de captura, conversão e implantação.

A Netflix desenvolveu o CloudStream, um framework que agiliza a transferência de grandes volumes de dados de sistemas offline para online, resultando em deploys 99% mais rápidos e economia de 70% nos custos de infraestrutura. A chave está em uma arquitetura modular de captura, conversão e implantação, apoiada em abstrações de banco de dados e no uso inteligente de formatos como RocksDB SSTables.

  • Confiança como moeda: segurança, observabilidade e validação orientaram cada decisão técnica.
  • Abstração é um superpoder: a camada key-value isolou aplicações de mudanças disruptivas no banco de dados.
  • Padrões de acesso destravam inovação: tratar dados imutáveis como arquivos offline eliminou contenção e reduziu custos.
  • Prova de conceito vale mais que 100 reuniões: POCs e Pathfinders converteram céticos e aceleraram a adoção.
  • Framework CCD: captura, conversão e implantação modularizam o pipeline e permitem rollbacks instantâneos.

O desafio de mover terabytes em minutos

Times de ML e recomendações da Netflix geravam datasets offline várias vezes ao dia. A abordagem tradicional usava jobs Spark para inserir registros individualmente no Cassandra. Isso causava contenção, degradava a performance das aplicações online e levava dias para concluir cargas de terabytes, mesmo com clusters caríssimos. A lentidão impedia a evolução rápida dos modelos e comprometia a acurácia dos dados.

Era um problema crítico de negócio. Para resolvê-lo, a plataforma de dados adotou uma filosofia: confiança é moeda. Toda solução precisava garantir segurança, observabilidade e validação. Essa mentalidade guiou a arquitetura que veremos a seguir.

Leia também: como planejar uma migração de dados em larga escala sem downtime.

Abstração como fundação: a camada key-value da Netflix

As aplicações na Netflix não acessam bancos de dados diretamente. Uma camada de indireção chamada abstrações isola os times de detalhes tecnológicos, provisionamento e mudanças de protocolo. Hoje, apenas 16% dos clusters Cassandra são acessados diretamente; o restante passa por abstrações que processam cerca de 70 milhões de QPS.

Entre elas, a abstração key-value (KV) funciona como um HashMap distribuído: uma chave externa (ID) mapeia para um mapa ordenado de pares chave-valor (itens). Servidores stateless conectam-se ao plano de controle, obtêm namespaces e executam consultas em nome dos clientes. Recursos como chunking, hedging baseado em SLO e caching local tornam a operação transparente para as aplicações.

A adoção em massa da KV surgiu de uma crise: o Cassandra anunciou a descontinuação do protocolo Thrift. Em vez de cada time migrar seu código, a Plataforma de Dados convenceu a maioria a migrar uma única vez para a interface KV, prometendo que futuras mudanças seriam absorvidas pela abstração. A migração inicial focou na API, sem mover dados, permitindo testes imediatos e rollback fácil – um processo de porta de duas vias que gerou confiança.

Entenda mais sobre abstrações: por que times de engenharia estão adotando camadas de abstração sobre bancos de dados.

CloudStream: arquitetura para dados offline-para-online

Ao analisar os dashboards dos times, a equipe identificou dois padrões de acesso: mutável (aplicações leem e escrevem, e o job batch complementa dados) e imutável (somente leitura após carga). O segundo caso, comum em sinais de ads, rankings e embeddings, não precisava de consenso do Cassandra. Bastava servir arquivos otimizados para leitura.

Assim nasceu a ideia do CloudStream: gerar datasets offline como RocksDB SSTables, armazená-los no S3 e carregá-los diretamente em nós KV dedicados, sem passar pelo Cassandra. Isso removeu a contenção do caminho online e permitiu carga à velocidade máxima de rede e disco. O framework foi desenhado em três fases desacopladas: captura, conversão e implantação.

Para provar o conceito, um POC funcional convenceu os céticos. Ele implementava a API KV sobre nós que hospedavam os arquivos RocksDB, com um coordenador de roteamento. O POC foi tão rápido e barato que se tornou a base do primeiro Pathfinder.

Conheça os formatos de armazenamento: RocksDB vs Cassandra, quando usar cada um para dados imutáveis.

Pathfinders: acelerando a produção com protótipos estratégicos

Um Pathfinder é um software que você intencionalmente planeja substituir. Ele desbloqueia casos de negócio críticos para stakeholders dispostos a assumir algum risco, enquanto permite ao time de plataforma descobrir incógnitas desconhecidas. No caso da Netflix, um time com prazo urgente topou adotar o POC como Pathfinder.

O cliente high-level da KV foi estendido com um feature flag que permitia chavear entre o backend tradicional, o Pathfinder e a futura implementação de produção. Assim, o time de aplicação não precisou alterar código quando o produto final ficou pronto. O Pathfinder operou em produção por meses, validando benchmarks de latência, throughput e tempo de deploy (27 minutos no POC, 40 minutos na versão final, ainda muito abaixo dos dias anteriores).

Essa estratégia simbiótica gerou aprendizado real e pavimentou a evolução da arquitetura KV de stateless para stateful.

De stateless para stateful: a transformação do key-value

Nos servidores KV tradicionais, todas as instâncias são iguais: recebem uma requisição, consultam o banco e respondem. Para o CloudStream, cada nó precisava hospedar um subconjunto específico de dados, tornando-se stateful. Isso exigiu novos componentes de controle: Partition Group Manager (leases exclusivos), Central Routing Manager (mapeamento de partições) e Cluster Routing Layer (cache de roteamento).

O pipeline de deploy também foi estendido para suportar implantações de dados. Agora, após a captura e conversão, os arquivos são carregados no S3. Um novo conjunto de nós é provisionado, cada um baixa sua partição específica e faz bootstrap. Antes de promover para produção, uma fase de staging permite que os times validem o dataset com um aplicativo validador, simulando tráfego real e comparando resultados. Só após a validação bem-sucedida o roteamento é atualizado, drenando o tráfego do dataset antigo para o novo em segundos. O antigo permanece ativo para rollback instantâneo até que a confiança seja plena.

Esse processo eliminou o “efeito dente de serra”, em que a versão antiga e a nova coexistiam por horas, dificultando a detecção de problemas.

Generalizando a arquitetura: captura, conversão, implantação (CCD)

O sucesso do CloudStream permitiu formalizar o framework captura, conversão e implantação (CCD), um padrão modular e repetível. Captura cria um artefato imutável do dataset no S3, representando o estado exato no momento da captura. Conversão transforma o artefato em um formato otimizado para o target (RocksDB SSTables, Cassandra SSTables em testes). Implantação orquestra a transferência dos artefatos para os nós de dados, provisiona infraestrutura, carrega os arquivos e gerencia a troca de tráfego de forma determinística.

Por ser desacoplado, equipes de movimento de dados, KV e UX podem trabalhar em paralelo. Além disso, os artefatos versionados tornam trivial o rollback para qualquer versão anterior, uma capacidade que antes não existia.

Resultados: redução de 99% no tempo e 70% nos custos

Um caso concreto: o maior cliente da plataforma, que precisava evoluir datasets várias vezes ao dia, viu o tempo de deploy cair de dias para 40 minutos, com economia de custos na casa dos 70%. Outro time conseguiu reduzir cargas para menos de 10 minutos e alcançar 90% de economia operacional. Um terceiro construiu uma plataforma de ML que agora atende dezenas de times, provando que o CloudStream é um acelerador de inovação.

O futuro: dados mutáveis e migração entre datastores

O próximo passo é estender o CCD para datasets mutáveis. A fase de captura permanece igual, mas a conversão agora gera Cassandra SSTables (usando o Apache Cassandra Analytics). O deploy insere esses arquivos em um cluster Cassandra ativo, com orquestração que gerencia compactação e resolução de conflitos. O time já tem um protótipo funcional e está realizando testes intensivos.

Além disso, a capacidade de ler e escrever SSTables abre portas para migrações entre datastores sem downtime. Por exemplo, migrar do Cassandra para o DynamoDB se as relações custo/performance assim indicarem. Tudo isso protegido pela camada de abstrações, sem que as aplicações precisem de qualquer alteração.

Lições para times de engenharia

Confiança é a moeda: segurança, observabilidade e validação são os pilares que sustentam qualquer mudança arquitetural de grande escala.

Abstrações criam superpoderes: invista em camadas de indireção para isolar aplicações e viabilizar migrações transparentes.

Padrões de acesso são fontes de inovação: entenda profundamente como os dados são lidos e escritos; a imutabilidade pode simplificar drasticamente a arquitetura.

POCs e Pathfinders desbloqueiam o impossível: um protótipo rápido convence céticos e gera aprendizado real antes do produto final.

O framework CCD é replicável: modularize o pipeline de dados em captura, conversão e implantação para ganhar flexibilidade, velocidade e capacidade de rollback.

Comparação entre a abordagem tradicional de carga batch e o CloudStream
MétricaAbordagem TradicionalCloudStream
Tempo de implantaçãoDias< 40 minutos
Custo de infraestruturaMilhões de dólares/ano70% menor
RollbackLento, baseado em logsInstantâneo (troca de nós)
Impacto no onlineAlto (contenção, vizinho ruidoso)Desacoplado, sem contenção
Validação pré-produçãoInexistente ou ad-hocFase de staging dedicada

Arraste para o lado para ver toda a tabela.

Perguntas Frequentes (FAQ)

O que é o CloudStream da Netflix?

É um framework interno da Netflix para mover grandes volumes de dados de sistemas offline (data warehouse) para sistemas online (serviços de produção). Ele utiliza um padrão de captura, conversão e implantação que reduz drasticamente o tempo e o custo de atualização de datasets.

Como funciona a abstração key-value da Netflix?

A abstração KV oferece uma interface de HashMap distribuído: uma chave externa mapeia para um mapa ordenado de pares chave-valor. Ela isola as aplicações dos detalhes do banco de dados, gerencia chunking, caching e balanceamento de carga, e permite trocar a tecnologia subjacente (Cassandra, DynamoDB, etc.) sem impacto para o desenvolvedor.

O que são Pathfinders e como aceleraram a implantação?

Pathfinders são versões intencionalmente temporárias de um software, usadas para aprender com um stakeholder disposto a assumir riscos. Eles permitem colocar uma solução em produção rapidamente, coletar métricas reais e refinar a arquitetura definitiva sem comprometer prazos de negócio.

Quais foram os principais benefícios da nova arquitetura?

Redução de 99% no tempo de implantação (de dias para menos de 40 minutos), corte de 70% nos custos de infraestrutura, eliminação da contenção entre cargas batch e tráfego online, rollback instantâneo e validação pré-produção dedicada.

Como a Netflix aplica o padrão captura, conversão e implantação?

O padrão CCD separa o pipeline em três estágios desacoplados: captura cria um artefato imutável no S3; conversão transforma o artefato em formato otimizado (RocksDB SSTables, por exemplo); implantação gerencia o provisionamento de nós, carga dos arquivos e troca de tráfego. Isso permite que times diferentes trabalhem em paralelo e facilita rollbacks determinísticos.

Fonte: Infoq — https://www.infoq.com/presentations/netflix-data-offline-online

R

Sobre o autor

Editor-chefe

Usuário técnico criado para escrever conteúdos da redação.

Ver perfil

Perguntas frequentes

O que é o CloudStream da Netflix? +

É um framework interno da Netflix para mover grandes volumes de dados de sistemas offline (data warehouse) para sistemas online (serviços de produção). Ele utiliza um padrão de captura, conversão e implantação que reduz drasticamente o tempo e o custo de atualização de datasets.

Como funciona a abstração key-value da Netflix? +

A abstração KV oferece uma interface de HashMap distribuído: uma chave externa mapeia para um mapa ordenado de pares chave-valor. Ela isola as aplicações dos detalhes do banco de dados, gerencia chunking, caching e balanceamento de carga, e permite trocar a tecnologia subjacente (Cassandra, DynamoDB, etc.) sem impacto para o desenvolvedor.

O que são Pathfinders e como aceleraram a implantação? +

Pathfinders são versões intencionalmente temporárias de um software, usadas para aprender com um stakeholder disposto a assumir riscos. Eles permitem colocar uma solução em produção rapidamente, coletar métricas reais e refinar a arquitetura definitiva sem comprometer prazos de negócio.

Quais foram os principais benefícios da nova arquitetura? +

Redução de 99% no tempo de implantação (de dias para menos de 40 minutos), corte de 70% nos custos de infraestrutura, eliminação da contenção entre cargas batch e tráfego online, rollback instantâneo e validação pré-produção dedicada.

Como a Netflix aplica o padrão captura, conversão e implantação? +

O padrão CCD separa o pipeline em três estágios desacoplados: captura cria um artefato imutável no S3; conversão transforma o artefato em formato otimizado (RocksDB SSTables, por exemplo); implantação gerencia o provisionamento de nós, carga dos arquivos e troca de tráfego. Isso permite que times diferentes trabalhem em paralelo e facilita rollbacks determinísticos.

Mais em Infraestrutura

Newsletter

Receba os destaques no seu e-mail

Cadastre-se e acompanhe as novidades em primeira mão.