Cloudflare K2: fluxos de eventos sem servidor
A Cloudflare introduziu o K2, um serviço de streaming de eventos sem servidor construído sobre object storage, posicionado como uma alternativa mais barata e totalmente gerenciada a sistemas no estilo Kafka e Pub/Sub para mover grandes volumes de dados. Comentadores contrastam o K2 com o Cloudflare Queues (ações com retries vs. logs de eventos de alto throughput), destacam as trocas entre menor custo e maior latência de ponta a ponta, e observam uma API compatível com Kafka planejada para facilitar a adoção. O lançamento é enquadrado em uma tendência mais ampla de infraestrutura “object-store-first”, ao mesmo tempo que levanta preocupações recorrentes sobre lock-in de fornecedor, preços de egress e o papel crescente da Cloudflare no ecossistema de cloud.
Propósito e Posicionamento
- K2 é apresentado como um primitivo de fluxo de eventos durável e sem servidor dentro da plataforma de desenvolvedores da Cloudflare.
- Diferenciado do Cloudflare Queues:
- Queues: “faça este trabalho” – retries por mensagem, tratamento de dead-letter, jobs com atraso e acompanhamento de tarefas individuais.
- K2: “isso aconteceu” – logs de eventos de alto volume, múltiplos consumidores independentes, replay, retenção de longo prazo, padrões semelhantes ao Kafka.
- Vários comentaristas veem isso como preenchendo uma lacuna “estilo Kafka” há muito ausente na stack da Cloudflare.
Arquitetura e Tendência de Object Storage
- Construído sobre object storage (Cloudflare R2) para obter armazenamento de baixo custo, durável e escalável.
- Encaixa-se em uma tendência mais ampla: muitos sistemas modernos (semelhantes a Kafka, registries, databases) estão sendo reconstruídos “em object stores no estilo S3”.
- Alguns argumentam que quase tudo que não precisa de latência inferior a 100 ms está migrando para object storage; outros consideram isso perverso, dado o quão rápido é o NVMe.
Comparações com Alternativas
- Comparado ao Kafka / MSK / Confluent: mais barato, totalmente sem servidor, sem clusters para gerenciar, mas com latência maior.
- Comparado ao Google Pub/Sub e AWS Kinesis: o principal diferencial percebido é o custo (especialmente para retenção longa) e a integração estreita com a Cloudflare / foco na edge.
- NATS JetStream e outros produtos semelhantes ao Kafka com backend em S3 (AutoMQ, WarpStream, tópicos Kafka sem disco) são mencionados como pertencentes a um espaço similar.
Preço e Desempenho
- A precificação básica publicada discutida: ~US$0,04/GB produzido, ~US$0,04/GB consumido, ~US$0,02/GB-mês de armazenamento.
- Alguns veem isso como atraente em comparação com Kafka gerenciado; outros observam que o fan-out pode ficar caro, já que cada consumidor paga por GB.
- Compensações de latência: comentaristas citam ~1s no p99 como esperado para streams apoiados por object storage; alguns relatos de teste mostram alguns segundos de ponta a ponta.
Semântica e API
- Entrega at-least-once com semânticas de acknowledgment/lease; suporte por stream para até 100 subscriptions, cada uma com seu próprio cursor e capacidade de replay.
- Casos de uso ordenados vs. não ordenados: a ordenação é tratada por agrupamento baseado em chave; o consumo não ordenado é mais simples.
- APIs compatíveis com Kafka estão planejadas para facilitar a portabilidade, embora a API própria do K2 seja intencionalmente mais simples do que a do Kafka.
Estratégia da Cloudflare e Preocupações
- Alguns elogiam a Cloudflare por construir rapidamente uma plataforma de cloud quase completa, com K2 e outros serviços formando um ecossistema atraente.
- Outros se preocupam com a velocidade de produto, demissões recentes e risco de concentração/monopólio de fornecedor.
- Há pedidos por ofertas de database mais fortes e melhorias no D1 para completar a plataforma.