Pular para o conteúdo

Arquitetura real · Pleno

Netflix Metaflow

Arquitetura real em produção. Pontos centrais: orquestração de workflows de ML e versionamento.

15 min de leitura · Fonte: Netflix · Conteúdo revisado em 23 de outubro de 2026

Resposta curta

Arquitetura real em produção. Pontos centrais: orquestração de workflows de ML e versionamento. O Netflix aplica ciência de dados em centenas de casos de uso. Quando a equipe de infraestrutura de machine learning perguntou aos cientistas qual era a coisa mais difícil do trabalho, esperava ouvir sobre dados e modelos em grande escala.

01 · CONTEXTO

Por que um framework centrado no cientista de dados

O Netflix aplica ciência de dados em centenas de casos de uso. Quando a equipe de infraestrutura de machine learning perguntou aos cientistas qual era a coisa mais difícil do trabalho, esperava ouvir sobre dados e modelos em grande escala.

O que ouviu foram histórias de projetos em que levar a primeira versão à produção demorou surpreendentemente, principalmente por razões banais de engenharia de software. Também ouviu sobre dificuldades com acesso a dados e processamento básico, e participou de reuniões em que cientistas discutiam com stakeholders como versionar modelos sem impactar a produção.

A conclusão da equipe foi que quase tudo o que os cientistas queriam fazer já era tecnicamente possível, mas nada era fácil o bastante. O trabalho passou a ser tornar operações comuns tão fáceis que o cientista nem perceba que eram difíceis.

Os cientistas querem controlar as entradas do modelo e a lógica de engenharia de features, e poucos têm opinião forte sobre o data warehouse, a plataforma de computação ou o agendador de workflows. Eles também querem escrever Python idiomático.

02 · MODELO DE PROGRAMAÇÃO

Um DAG de passos em Python comum

No Metaflow o cientista estrutura o workflow de dados como um grafo acíclico dirigido de passos, e cada passo pode ser código Python arbitrário. No exemplo hipotético do post, o fluxo treina duas versões de um modelo em paralelo e escolhe a de maior pontuação.

O post reconhece que Airflow e Luigi também executam DAGs de código Python arbitrário, e diz que o diferencial está em muitos detalhes cuidadosamente desenhados. Um deles: dados e modelos são variáveis de instância Python comuns, que funcionam mesmo em plataforma distribuída graças ao armazenamento de artefatos endereçado por conteúdo embutido. Em muitos outros frameworks, carregar e guardar artefatos fica a cargo do usuário.

  1. O cientista escreve o fluxo como código Python, com liberdade para usar Python idiomático.

    Diagrama da arquitetura: Metaflow: do código ao artefato
    CLCientista de dadosescreve o fluxo
    CPFluxo Metaflowfluxo em Python
    DBArmazenamento de artefatos
    CLNotebook
  2. O fluxo é um grafo acíclico dirigido de passos, e cada passo é código arbitrário.

    Diagrama da arquitetura: Metaflow: do código ao artefato
    CLCientista de dados
    CPFluxo MetaflowDAG de passos
    DBArmazenamento de artefatos
    CLNotebook
  3. Dados e modelos aparecem como variáveis de instância Python comuns e continuam funcionando em plataforma distribuída graças ao armazenamento de artefatos endereçado por conteúdo.

    Diagrama da arquitetura: Metaflow: do código ao artefato
    CLCientista de dados
    CPFluxo Metaflow
    DBArmazenamento de artefatosartefatos por conteúdo
    CLNotebook
  4. Para inspecionar resultados, o cientista usa um notebook que busca artefatos do Metaflow, em vez de uma interface única para todos.

    Diagrama da arquitetura: Metaflow: do código ao artefato
    CLCientista de dados
    CPFluxo Metaflow
    DBArmazenamento de artefatos
    CLNotebooklê artefatos

03 · VERSIONAMENTO E REPRODUTIBILIDADE

O que a plataforma resolve sozinha

O Metaflow vem com a capacidade de fazer snapshot automático de todo o código e dados na Amazon S3, o que dá versionamento e rastreio de experimentos sem intervenção do usuário. Para o ambiente de execução, o decorador @conda o congela, com boas garantias de reprodutibilidade tanto local quanto na nuvem.

PreocupaçãoComo o post descreve o tratamento
Estado entre passosVariáveis de instância Python comuns, guardadas no armazenamento de artefatos endereçado por conteúdo.
Versionamento e experimentosSnapshot automático de todo o código e dados na Amazon S3, sem intervenção do usuário.
DependênciasO decorador @conda congela o ambiente de execução.
ComputaçãoIntegração com o AWS Batch, ativada com uma única linha: @batch.
Carga de dadosCliente S3 embutido que carrega dados a até 10Gbps.

04 · DO PROTÓTIPO À PRODUÇÃO

Do laptop ao agendador

O Metaflow permite desenvolver e testar código rapidamente no laptop, com uma experiência de desenvolvimento local de primeira classe, e a Netflix incentiva levar os workflows à produção o quanto antes. Rodar cedo com dados atualizados é descrito como forma muito eficaz de expor bugs e problemas do modelo.

  1. O cientista desenvolve e testa o código localmente, no próprio computador, com a experiência de desenvolvimento local de primeira classe do Metaflow.

    Diagrama da arquitetura: Metaflow: do laptop à produção
    CLCientista de dadosdev local
    CPFluxo Metaflow
    CPComputação gerenciada em contêineres
    DBArmazenamento de objetos da AWS
    CPAgendador de DAG em produção
    DBTabela de resultados
    CPMicrosserviço de inferência
    CLDashboard
  2. Para processamento pesado, o fluxo usa a computação gerenciada em contêineres da AWS, ativada com uma única linha de código.

    Diagrama da arquitetura: Metaflow: do laptop à produção
    CLCientista de dados
    CPFluxo Metaflow
    CPComputação gerenciada em contêinerescomputação elástica
    DBArmazenamento de objetos da AWS
    CPAgendador de DAG em produção
    DBTabela de resultados
    CPMicrosserviço de inferência
    CLDashboard
  3. O Metaflow faz snapshot de código e dados no armazenamento de objetos da AWS, o que dá versionamento sem intervenção do usuário.

    Diagrama da arquitetura: Metaflow: do laptop à produção
    CLCientista de dados
    CPFluxo Metaflow
    CPComputação gerenciada em contêineres
    DBArmazenamento de objetos da AWSsnapshot
    CPAgendador de DAG em produção
    DBTabela de resultados
    CPMicrosserviço de inferência
    CLDashboard
  4. Na Netflix, produção é um agendador de DAG centralizado e altamente disponível, o Meson, para onde o usuário exporta a execução com um único comando.

    Diagrama da arquitetura: Metaflow: do laptop à produção
    CLCientista de dados
    CPFluxo Metaflow
    CPComputação gerenciada em contêineres
    DBArmazenamento de objetos da AWS
    CPAgendador de DAG em produçãoagendador de DAG
    DBTabela de resultados
    CPMicrosserviço de inferência
    CLDashboard
  5. Os resultados costumam ser gravados numa tabela consumida por um dashboard, e às vezes o modelo vira um microsserviço para inferência em tempo real.

    Diagrama da arquitetura: Metaflow: do laptop à produção
    CLCientista de dados
    CPFluxo Metaflow
    CPComputação gerenciada em contêineres
    DBArmazenamento de objetos da AWS
    CPAgendador de DAG em produção
    DBTabela de resultadostabela
    CPMicrosserviço de inferênciainferência
    CLDashboardconsome

Também é comum encadear workflows, de modo que o resultado de um seja consumido por outro. Como o Meson não é código aberto, a equipe trabalhava numa integração parecida com o AWS Step Functions, e alguns desses modos de consumo ainda não estavam disponíveis na versão de código aberto.

05 · ESCALA E LIÇÕES

Escala dos dados e perguntas para treinar

O data warehouse da Netflix tem centenas de petabytes. Um workflow típico do Metaflow toca só uma pequena fração dele, mas ainda pode processar terabytes.

Perguntas frequentes

O que é Netflix Metaflow?

Arquitetura real em produção. Pontos centrais: orquestração de workflows de ML e versionamento.

O que o design de Netflix Metaflow cobre?

Ele está organizado nestas seções: Por que um framework centrado no cientista de dados, Um DAG de passos em Python comum, O que a plataforma resolve sozinha, Do laptop ao agendador e Escala dos dados e perguntas para treinar.

Quanto tempo leva Netflix Metaflow e qual é o nível?

Leva cerca de 15 minutos para ler e tem nível Pleno.

Agora projete você mesmo

Rode este caso como uma entrevista na escola de System Design: você toma as decisões, o tutor as questiona e você vê a nota do seu desenho.