Pular para o conteúdo

Arquitetura real · Sênior

ML de bot management da Cloudflare

Arquitetura real em produção. Pontos centrais: inferência na borda e camadas de heurística + ML.

17 min de leitura · Conteúdo revisado em 23 de outubro de 2026

Resposta curta

Arquitetura real em produção. Pontos centrais: inferência na borda e camadas de heurística + ML. Um bot é um programa autônomo que imita ou substitui o comportamento de uma pessoa. A Cloudflare separa os bots úteis, como os de buscadores, dos maliciosos, como os de credential stuffing, de raspagem por terceiros e de spam.

01 · CONTEXTO

Bot bom, bot mau e o problema de classificar cada requisição

Um bot é um programa autônomo que imita ou substitui o comportamento de uma pessoa. A Cloudflare separa os bots úteis, como os de buscadores, dos maliciosos, como os de credential stuffing, de raspagem por terceiros e de spam. Gerenciar bots, nessa definição, é bloquear o tráfego indesejado sem impedir que os bots úteis acessem o site.

Dois requisitos de produto dão o tom do desenho. O primeiro é a precisão: quase nenhum visitante humano deve ser tomado por bot. O segundo é a recuperabilidade: se uma previsão errada acontecer, a pessoa ainda precisa conseguir acessar o site e os bots bons precisam passar.

  1. O diagrama mostra o caminho mais simples: o visitante chega à borda e a borda encaminha a requisição à origem.

    Diagrama da arquitetura: Bot Management: ponto de partida
    CLVisitantepessoa ou programa
    EDGBorda
    CPOrigem do site
  2. A pergunta do desenho está neste trecho: em que ponto do caminho classificar o visitante antes que a origem o atenda.

    Diagrama da arquitetura: Bot Management: ponto de partida
    CLVisitante
    EDGBorda
    CPOrigem do site

02 · REQUISITOS

O que a plataforma precisava cumprir

Além dos requisitos de produto, a engenharia montou uma lista de exigências obrigatórias. A tabela resume as que a fonte destaca entre as mais críticas.

RequisitoO que a fonte pede
EscalaCalcular o score em cada requisição, mesmo acima de 10 milhões por segundo
LatênciaNão atrasar o processamento em mais de 100 microssegundos e não exigir hardware adicional
ConfigurabilidadeEscolher quais detecções valem para qual tráfego, até por domínio, datacenter ou servidor
SegurançaNenhuma informação sensível de um cliente alimenta modelos que protegem outro
ExplicabilidadeExplicar e ajustar as previsões de forma intuitiva

03 · O SCORE

Uma nota como contrato entre detecção e cliente

A resposta ao problema foi um conceito único, o score: um número de 0 a 100 que indica a probabilidade de a requisição ter vindo de uma pessoa (nota alta) ou de um programa automatizado (nota baixa).

O score virou um campo das regras de firewall. Cada cliente ajusta o limiar conforme sua sensibilidade a falsos positivos e falsos negativos, e a Cloudflare pode ampliar as detecções por baixo dos panos sem que o cliente mude alguma configuração.

  1. A requisição do visitante passa pelo módulo de Bot Management, que roda em cada máquina da borda.

    Diagrama da arquitetura: Bot Management: visão da plataforma
    CLVisitante
    EDGMódulo de Bot Managementdetecção na borda
    NWRegras de firewall
    CPOrigem do site
    QPipelines de dados
    NWClickHouse
    CPServiços centrais de bots
  2. Quando o módulo produz os campos necessários, entre eles o score, o firewall assume a mitigação.

    Diagrama da arquitetura: Bot Management: visão da plataforma
    CLVisitante
    EDGMódulo de Bot Management
    NWRegras de firewallmitigação
    CPOrigem do site
    QPipelines de dados
    NWClickHouse
    CPServiços centrais de bots
  3. Com base no score e no limiar configurado, o firewall bloqueia, desafia ou registra as requisições suspeitas e encaminha as legítimas à origem.

    Diagrama da arquitetura: Bot Management: visão da plataforma
    CLVisitante
    EDGMódulo de Bot Management
    NWRegras de firewall
    CPOrigem do site
    QPipelines de dados
    NWClickHouse
    CPServiços centrais de bots
  4. O módulo também registra pelos pipelines de dados os detalhes de cada detecção no ClickHouse.

    Diagrama da arquitetura: Bot Management: visão da plataforma
    CLVisitante
    EDGMódulo de Bot Management
    NWRegras de firewall
    CPOrigem do site
    QPipelines de dados
    NWClickHouselogs de detecção
    CPServiços centrais de bots
  5. Os serviços centrais processam os dados recebidos dos datacenters de borda.

    Diagrama da arquitetura: Bot Management: visão da plataforma
    CLVisitante
    EDGMódulo de Bot Management
    NWRegras de firewall
    CPOrigem do site
    QPipelines de dados
    NWClickHouse
    CPServiços centrais de bots

Quem quer mais flexibilidade sobre o que fazer com o score pode usar o Cloudflare Workers, além das ações do firewall.

04 · DETECÇÃO EM CAMADAS

Vários mecanismos, um único score

A plataforma combina cinco mecanismos de detecção complementares, cada um com o próprio score, num score único enviado ao firewall. A maioria roda em toda requisição e alguns são ativados por cliente.

Nem todo problema pede aprendizado de máquina. A fonte observa que, em certos casos, os modelos tendem a render menos do que heurísticas básicas, e que às vezes um único atributo da requisição entrega o bot. As heurísticas ainda alimentam o aprendizado: as requisições que elas classificam são usadas para treinar os modelos.

MecanismoO que a fonte diz
Aprendizado de máquinaToma a maior parte das decisões sobre o score
HeurísticasQualquer correspondência atribui o menor score possível, 1
Análise comportamentalAprendizado não supervisionado, que não usa rótulos de bots conhecidos
Bots verificadosValidadores confirmam a identidade de bots bons agrupando conjuntos de IPs, e o cliente decide se libera todos os bots bons ou restringe partes do site
Fingerprint de JavaScriptDesafio injetado na página na borda; estava em beta privado
  1. A requisição chega ao módulo e seus atributos são extraídos e transformados para alimentar os mecanismos de detecção.

    Diagrama da arquitetura: Bot Management: camadas de detecção
    CLRequisição
    CPExtração de atributosatributos
    CPFeatures entre requisições
    CPMotor de heurísticas
    CPModelos de ML
    CPAnálise comportamental
    CPBots verificados
    CPDesafio de JavaScript
    CPCombinação dos scores
    NWRegras de firewall
  2. Os modelos de aprendizado de máquina recebem atributos da requisição e atributos entre requisições entregues pela plataforma Gagarin.

    Diagrama da arquitetura: Bot Management: camadas de detecção
    CLRequisição
    CPExtração de atributos
    CPFeatures entre requisições
    CPMotor de heurísticas
    CPModelos de MLmodelos
    CPAnálise comportamental
    CPBots verificados
    CPDesafio de JavaScript
    CPCombinação dos scores
    NWRegras de firewall
  3. O motor de heurísticas aplica regras simples; qualquer correspondência atribui o menor score possível, e as requisições que ele classifica servem para treinar os modelos.

    Diagrama da arquitetura: Bot Management: camadas de detecção
    CLRequisição
    CPExtração de atributos
    CPFeatures entre requisições
    CPMotor de heurísticasregras simples
    CPModelos de ML
    CPAnálise comportamental
    CPBots verificados
    CPDesafio de JavaScript
    CPCombinação dos scores
    NWRegras de firewall
  4. Os demais mecanismos completam o conjunto: a análise comportamental, não supervisionada; a validação de bots bons por agrupamento de IPs; e o desafio de JavaScript injetado na página pela borda.

    Diagrama da arquitetura: Bot Management: camadas de detecção
    CLRequisição
    CPExtração de atributos
    CPFeatures entre requisições
    CPMotor de heurísticas
    CPModelos de ML
    CPAnálise comportamentalnão supervisionado
    CPBots verificadosbots bons
    CPDesafio de JavaScriptdesafio no cliente
    CPCombinação dos scores
    NWRegras de firewall
  5. Os scores dos mecanismos são combinados no score único que segue para o firewall.

    Diagrama da arquitetura: Bot Management: camadas de detecção
    CLRequisição
    CPExtração de atributos
    CPFeatures entre requisições
    CPMotor de heurísticas
    CPModelos de ML
    CPAnálise comportamental
    CPBots verificados
    CPDesafio de JavaScript
    CPCombinação dos scoresscore único
    NWRegras de firewall

05 · INFERÊNCIA NA BORDA

Velocidade, modo shadow e implantação de modelos

O núcleo da detecção por aprendizado de máquina é o CatBoost, biblioteca de gradient boosting sobre árvores de decisão. Segundo a fonte, aplicar qualquer um dos modelos leva menos de 50 microssegundos, e centenas de heurísticas rodam em pouco menos de 20 microssegundos. A maior parte da lógica de negócio da borda é escrita em Lua (LuaJIT), e a API em C e Rust da biblioteca oferece a interface FFI compatível para aplicar os modelos.

Vários modelos CatBoost rodam em modo shadow em toda requisição de toda máquina, e um deles roda em modo ativo, influenciando o score final. Os resultados e atributos de toda detecção por ML são registrados no ClickHouse para análise e melhoria dos modelos.

Novos modelos entram em produção em questão de segundos pelo Quicksilver, o banco de configuração, e o mesmo mecanismo define qual versão de modelo roda em modo ativo para um cliente específico.

  1. O módulo na borda aplica vários modelos a cada requisição: um ativo e os demais em modo shadow.

    Diagrama da arquitetura: Bot Management: modelos na borda
    DBQuicksilver
    EDGMódulo de Bot Management
    CPModelo ativoativo
    CPModelos em shadowshadow
    NWRegras de firewall
    QPipelines de dados
    NWClickHouse
    CPAnálise e melhoria de modelos
  2. Só o modelo ativo influencia o score final que segue para o firewall.

    Diagrama da arquitetura: Bot Management: modelos na borda
    DBQuicksilver
    EDGMódulo de Bot Management
    CPModelo ativoinfluencia o score
    CPModelos em shadow
    NWRegras de firewall
    QPipelines de dados
    NWClickHouse
    CPAnálise e melhoria de modelos
  3. Os resultados e atributos das detecções por ML são registrados no ClickHouse.

    Diagrama da arquitetura: Bot Management: modelos na borda
    DBQuicksilver
    EDGMódulo de Bot Management
    CPModelo ativo
    CPModelos em shadow
    NWRegras de firewall
    QPipelines de dados
    NWClickHouseresultados de ML
    CPAnálise e melhoria de modelos
  4. Esses registros servem à análise e à melhoria dos modelos.

    Diagrama da arquitetura: Bot Management: modelos na borda
    DBQuicksilver
    EDGMódulo de Bot Management
    CPModelo ativo
    CPModelos em shadow
    NWRegras de firewall
    QPipelines de dados
    NWClickHouse
    CPAnálise e melhoria de modelosmelhoria
  5. Novos modelos chegam à borda pelo Quicksilver em segundos, e a mesma configuração escolhe a versão ativa de cada cliente.

    Diagrama da arquitetura: Bot Management: modelos na borda
    DBQuicksilverimplantação
    EDGMódulo de Bot Management
    CPModelo ativo
    CPModelos em shadow
    NWRegras de firewall
    QPipelines de dados
    NWClickHouse
    CPAnálise e melhoria de modelos

06 · LEITURA CRÍTICA

O que levar para a entrevista

Os números da fonte são da época da publicação do texto. A Cloudflare dizia cobrir mais de 26 milhões de propriedades na internet, processar em média 11 milhões de requisições por segundo, com picos acima de 14 milhões, e examinar mais de 250 atributos de cada requisição.

Calcular o score em toda requisição e para todos os clientes tem benefícios que a fonte lista: avaliar como a proteção funcionaria para um cliente antes de ativar o modo ativo e manter um ciclo de feedback que melhora os mecanismos de detecção.

Perguntas frequentes

O que é ML de bot management da Cloudflare?

Arquitetura real em produção. Pontos centrais: inferência na borda e camadas de heurística + ML.

O que o design de ML de bot management da Cloudflare cobre?

Ele está organizado nestas seções: Bot bom, bot mau e o problema de classificar cada requisição, O que a plataforma precisava cumprir, Uma nota como contrato entre detecção e cliente, Vários mecanismos, um único score, Velocidade, modo shadow e implantação de modelos e O que levar para a entrevista.

Quanto tempo leva ML de bot management da Cloudflare e qual é o nível?

Leva cerca de 17 minutos para ler e tem nível Sênior.

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.