Cloudflare como infraestrutura completa
Passei muito tempo achando que Cloudflare era só DNS com proteção DDoS. Até descobrir que é basicamente infraestrutura completa pra aplicação.
Hoje meu setup padrão pra clientes é Cloudflare do início ao fim. DNS, proxy, CDN, storage, functions, email. Tudo lá. Reduz bastante a necessidade de integrar vários serviços.
DNS e proxy: a base
Todo site começa aqui. Você aponta seu domínio pra Cloudflare e pronto. Eles ficam entre seu servidor e o cliente. Isso automaticamente ativa o cache global deles.
Você ativa Full mode e seus certificados SSL são gerenciados automaticamente. Gratuito. Isso sozinho já justifica usar Cloudflare.
Eles têm servidores em praticamente todos os continentes. Seu site fica servido de um data center perto do usuário. Latência cai significativamente. Não é marketing, é realmente perceptível em speed tests.
R2: seu S3, mas barato
R2 é storage de objetos. Compatível com S3. Funciona pra guardar qualquer arquivo: imagens, PDFs, videos.
Aqui está o ponto: zero egress charges. Amazon S3 cobra caro (R$ 0,09 por GB saindo) quando você faz download dos arquivos. Cloudflare R2 não cobra saída. Você paga R$ 0,015 por GB armazenado e R$ 4,50 por milhão de requisições.
Um site de clínica com 500 imagens de tratamentos? Uns 200MB. Custa R$ 3 mensais em storage. Download é grátis. Compare com S3 que cobraria R$ 20+ em egress.
Setup é simples. Você cria um bucket, coloca suas imagens lá e usa URL publica. Pode colocar atrás de CDN Cloudflare ou não. Eu sempre coloco porque é cache extra.
Fiz upload de imagens de antes-depois de pacientes pra um cliente que pagava R$ 50/mês só em S3. Migrei pra R2, agora paga R$ 5. Ele achou que eu era milagre.
Workers: edge functions integradas
Workers é a forma de Cloudflare rodar código no edge. Você escreve JavaScript (ou TypeScript), faz deploy direto. Executa em qualquer lugar do mundo.
Pra que serve? Validação de formulário antes de chamar seu servidor. Rewrite de URL. Autenticação. Redireccionamento dinâmico. Você coloca lógica perto do usuário, não no servidor.
Preço é R$ 0,50 por milhão de requisições. Pra efeito comparativo, você pode rodar 2 milhões de requests por mês e gastar R$ 1.
Código fica versionado no Git. Deploy é um comando. Eu uso pra pequenas validações e redirecionamentos. Funciona.
Integra perfeito com R2. Você faz upload de arquivo via Worker, valida tamanho/tipo, salva em R2. Tudo em um lugar.
Durable Objects: estado persistente
Durable Objects é pra quando você precisa de estado persistente no edge. Tipo uma sessão, um contador, uma fila.
Um exemplo real: cliente tem form de agendamento. Precisa guardar quantas consultas foram marcadas hoje. Com Durable Objects você coloca isso direto no edge perto do usuário. Latência é zero.
Preço é R$ 0,20 por milhão de requisições pra ler/escrever + custo de storage. É caro comparado com Workers simples. Só use quando realmente precisa de estado.
Email Routing: SMTP sem custo
Cloudflare Email Routing permite você receber emails no seu domínio sem ter que gerenciar um servidor de email.
Você tira qualquer serviço de email (cara ou barato, não importa) e aponta direto pro seu servidor de email preferido. Eu redireciono pra Gmail. Inbox separada, mas organizado.
Detalhe: é grátis.
Um setup real que uso
Pra um site de clínica:
- Domínio aponta pra Cloudflare
- Pages ou outro lugar como seu real host
- R2 pra armazenar imagens de antes-depois
- Worker que valida form de agendamento
- Durable Object que guarda fila de espera
- Email Routing pra receber contatos
Custo mensal? Talvez R$ 5-10 em R2 dependendo de volume. Tudo mais é grátis ou praticamente.
Integrar tudo era uma dor se tivesse que combinar 6 serviços diferentes. Aqui tudo fica em um lugar. Uma interface. Uma conta pra cobrar.
Os problemas
Cloudflare é poderosa mas é também confusa. Documentação é enorme. Se você não sabe o que tá fazendo pode cometer erros de segurança.
Outra coisa: a interface muda constantemente. Coisas se movem. Você aprende um lugar e mês que vem tá em outro.
Suporte free tier é lento. Mas pra maioria dos problemas a comunidade responde bem rápido no Discord deles.
Segurança é sólida. Mas você precisa entender rate limiting, WAF rules, DDoS protection. Não é colocar e esquecer.
Vale a pena?
Depende do seu projeto. Pra site estático ou dinâmico simples, sim. Cloudflare Pages é grátis e rápido. Pra algo que precisa mais customização de infraestrutura, talvez você queira Vercel ou outra coisa.
Eu gosto porque economizo dinheiro do cliente, centralizo infraestrutura e aprendo algo novo. No começo achei confuso. Depois virou rotina.
Se você quer aprender infraestrutura moderna sem gastar dinheiro e sem complexidade de AWS, Cloudflare é o melhor começo. Sério.
Analytics Engine: observabilidade integrada
Tem mais uma feature que merece menção: Analytics Engine.
Você pode fazer requisições aos Workers e logar eventos customizados. Tipo, paciente completou agendamento? Manda evento pro Analytics Engine. Consulta depois com ClickHouse-like queries.
Preço é R$ 0,50 por milhão de eventos.
Não é revolucionário, mas é útil quando você quer analytics sem setup de Datadog ou similar.
Limites que importam
Cloudflare tem limites. Precisa saber disso:
R2: R$ 0,015 por GB/mês de storage é barato, mas 50GB é um limite normal pra free tier.
Workers: você pode fazer requests pra qualquer lugar, mas tem timeout de 30 segundos no free tier (suficiente pra 99% dos casos).
Durable Objects: limite de escrita é 1.000 por segundo por instance. Se seu app fica mais agressivo, precisa escalar.
Page Rules: free tier tem 3 rules. Depois disso, começa a pagar.
Maioria desses limites você não bate. Mas saber que existem evita surpresa depois.
Quando Cloudflare NÃO é a solução
Cloudflare é ótimo pra maioria. Mas tem casos onde não é:
Se você precisa de GPU computing (machine learning, heavy image processing), Cloudflare não tem.
Se você precisa de database SQL tradicional com transações ACID complexas, Workers não é a solução. KV é key-value, não é relacional.
Se você tá em um regime de compliance muito strict (healthcare, finance), precisa de auditoria mais rigorosa que Cloudflare oferece.
Nesses casos, volta pro Vercel + Supabase ou AWS.
Segurança: não é set-and-forget
Um último ponto importante: Cloudflare é poderosa em segurança, mas precisa de setup.
WAF (Web Application Firewall) tem rules prontas, mas você precisa tunar. Rate limiting precisa ser configurado. DDoS protection é automática mas você pode adicionar regras.
Se você coloca Cloudflare mas não configura nada, você tá usando 10% das features.
Minha dica: passa 2-3 horas estudando WAF rules, rate limiting, browser integrity check. Depois fica seguro mesmo.
- Migrar imagens pra R2
- Criar primeiro Worker com lógica de validação
- Testar Email Routing com meu domínio
- Ler documentação de Durable Objects e Analytics
- Configurar WAF rules básicas
- Orçar setup Cloudflare pra próximo cliente
Leia também: Deploy além da Vercel | Edge computing na prática | Otimização de imagens web
Cloudflare é sua melhor amiga se você aprende a falar o idioma dela.