O que e CDN?
E uma rede de servidores distribuídos que entrega conteúdo do ponto mais próximo do usuário.
CDN, ou Content Delivery Network, e uma rede geograficamente distribuída de servidores que armazena cópias de conteúdo e os entrega ao usuário a partir do servidor mais próximo de sua localização fisica. Sem CDN, um usuário no Japao acessando um site hospedado em São Paulo enfrenta latência de 300ms ou mais apenas pela distância fisica. Com CDN, o mesmo usuário recebe o conteúdo de um servidor em Toquio, com latência de 5ms. Além de reduzir latência, o CDN descarga o servidor de origem de uma parcela enorme do tráfego, um arquivo de imagem servido 10 milhões de vezes por dia pelo edge server do CDN nunca precisa ir ao servidor de origem. CDN e uma das formas mais custo-eficientes de melhorar performance e escalabilidade.
Como funcionam os edge servers
Servidores de borda ao redor do mundo cacheiam e entregam conteúdo localmente.
A infraestrutura de um CDN e composta por pontos de presença (PoPs) distribuídos em dezenas ou centenas de cidades ao redor do mundo. Cada PoP tem um ou mais edge servers, que são servidores de alta disponibilidade e capacidade de storage que armazenam em cache o conteúdo previamente solicitado. Quando um usuário faz uma requisição, o DNS do CDN resolve o dominio para o IP do edge server mais próximo geograficamente ou com menor latência real. Se o edge server tem o conteúdo em cache (cache hit), entrega diretamente sem consultar o servidor de origem. Se não tem (cache miss), busca do servidor de origem, armazena em cache e entrega ao usuário. As próximas requisições para o mesmo conteúdo do mesmo edge server serao cache hits. Cloudflare tem mais de 300 PoPs; Akamai tem mais de 4000.
Push vs Pull CDN
Push: você envia o conteúdo para o CDN. Pull: o CDN busca do servidor de origem quando necessário.
Existem dois modelos de operação para CDNs. No modelo Pull (o mais comum), você não precisa fazer nada especial: quando o primeiro usuário em uma regiao solicita um arquivo, o edge server vai ao servidor de origem buscalo, o armazena em cache e entrega. Todas as requisições subsequentes para aquele arquivo na mesma regiao são servidas diretamente do cache. O servidor de origem só e consultado no primeiro acesso (cache miss) ou quando o cache expira. No modelo Push, você ativamente faz upload do conteúdo para o CDN antes que usuários o solicitem. E ideal para conteúdo grande e previsível como releases de software, videos de streaming ou arquivos de backup. Requer mais gestão operacional mas garante que o conteúdo esteja pre-aquecido no cache antes do primeiro acesso.
Cache invalidation
Invalidar conteúdo desatualizado nos edge servers e um dos problemas mais complexos em CDN.
Phil Karlton tem uma citação famosa: "Ha apenas dois problemas difíceis em ciência da computação: invalidação de cache e nomear coisas". Em CDNs, cache invalidation e particularmente desafiador porque o conteúdo esta distribuído em centenas de edge servers ao redor do mundo. A abordagem mais simples e TTL (Time To Live): cada arquivo tem um tempo de vida configurado no header Cache-Control. Após o TTL expirar, o edge server busca uma nova versão do servidor de origem. Para invalidação imediata, CDNs como Cloudflare e AWS CloudFront oferecem purge por URL ou por prefixo de path. A estrategia mais robusta para assets estaticos e versionamento por hash no nome do arquivo (main.a3f2bc.js): o arquivo nunca muda, entao pode ter TTL infinito, e quando o conteúdo muda o hash muda e o nome do arquivo e diferente.
CDN para assets estaticos
Imagens, CSS, JavaScript e fontes são os casos de uso clássicos de CDN.
O caso de uso original e mais direto do CDN e a entrega de assets estaticos: imagens, arquivos CSS, JavaScript, fontes, videos e documentos. Esses arquivos raramente mudam e podem ser cacheados por longos períodos. Com CDN, um site que tem usuários em todo o Brasil tem latência consistente independentemente de onde o usuário esta, pois recebe os assets do edge server mais próximo. Para maximizar o beneficio, e boa prática separar o dominio de assets (static.empresa.com) do dominio da aplicação (empresa.com), configurar headers Cache-Control agressivos (max-age=31536000 para arquivos com hash no nome), habilitar compressão Gzip e Brotli no edge e usar formatos modernos de imagem como WebP e AVIF. Essas práticas combinadas com CDN são o que gera pontuações altas no Google PageSpeed e Core Web Vitals.
CDN para APIs e edge computing
CDNs modernos podem cachear respostas de API e executar lógica no edge.
CDNs modernos evoluiram muito além de servir arquivos estaticos. Cloudflare Workers e AWS Lambda@Edge permitem executar código JavaScript ou WebAssembly diretamente nos edge servers, com latência sub-millisegundo por estar fisicamente próximo do usuário. Isso permite: cache inteligente de respostas de API (GET /produtos pode ser cacheado por 60 segundos no edge), autenticação e autorização no edge antes de chegar ao servidor de origem, transformação de respostas (resize de imagens, conversão de formato), A/B testing com distribuição de tráfego no edge e geolocation-based routing. CDNs podem cachear respostas de API com Vary por headers de autorização, permitindo cache por usuário autenticado. Essa capacidade de edge computing esta transformando os CDNs em plataformas de computação distribuída.
Impacto em SEO e Core Web Vitals
CDN melhora LCP e TTFB, métricas que afetam diretamente o ranking no Google.
CDN tem impacto direto nas Core Web Vitals do Google, que influenciam o ranking nos resultados de busca. LCP (Largest Contentful Paint) mede quanto tempo leva para o maior elemento visível da página ser renderizado. Se esse elemento e uma imagem servida sem CDN de um servidor distante, o LCP pode ser de 3 a 5 segundos para usuários distantes. Com CDN, cai para sub-segundo. TTFB (Time to First Byte) mede o tempo entre a requisição e o primeiro byte de resposta. Com CDN cacheando o HTML ou a resposta da API, o TTFB cai dramaticamente. FID e INP medem interatividade e são afetados por tempo de carregamento de JavaScript, CDN com HTTP/2 e HTTP/3 entrega múltiplos assets em paralelo, reducando o tempo total de carregamento de scripts. Investir em CDN e investir simultaneamente em performance de usuário e em SEO.
Segurança via CDN
CDN adiciona camadas de proteção contra DDoS, bots e injeções.
CDNs modernos oferecem features de segurança significativas além da entrega de conteúdo. Mitigação de DDoS: Cloudflare, por exemplo, absorve ataques de centenas de gigabits por segundo na sua rede distribuída antes que o tráfego chegue ao servidor de origem. WAF (Web Application Firewall) no edge inspeciona o tráfego e bloqueia requisições maliciosas baseado em regras conhecidas (OWASP Top 10). Proteção contra bots identifica e bloqueia scrapers, crawlers maliciosos e ataques de credential stuffing antes que atinjam a aplicação. Rate limiting no edge permite bloquear IPs abusivos globalmente com latência mínima. Certificados SSL gerenciados automaticamente com renovação via CDN eliminam a necessidade de gerenciar certificados no servidor de origem. Essas features transformam o CDN em uma primeira linha de defesa robusta.
Como escolher um CDN
Cobertura geografica, preço e features técnicas guiam a decisão.
A escolha do CDN depende de vários fatores. Cobertura geografica: onde estão seus usuários? Cloudflare tem mais de 300 PoPs incluindo cobertura robusta na America Latina. Akamai tem mais de 4000 PoPs com presença em cidades menores. AWS CloudFront tem cobertura excelente para quem ja usa AWS. Preço: Cloudflare tem um tier gratuito generoso que cobre a maioria dos casos de pequenas e mídias empresas. AWS CloudFront e pago por GB transferido e requisição. Akamai e voltado para enterprise. Features técnicas: Cloudflare Workers para edge computing, suporte a HTTP/3 e QUIC, WAF integrado, analytics de tráfego. Para a maioria das startups e empresas de medio porte, Cloudflare oferece a melhor relação custo-beneficio com tier gratuito robusto e features enterprise no plano pago.
Resumo final
CDN e um dos investimentos de maior retorno em performance e disponibilidade.
CDN transformou a internet moderna. De uma rede onde a latência dependia completamente da distância fisica para os servidores, CDN criou uma infraestrutura distribuída que entrega conteúdo da borda da rede, próxima de cada usuário. Para qualquer site ou aplicação com usuários distribuídos geograficamente, CDN e um investimento de alto retorno: melhora latência, reduz carga no servidor de origem, melhora Core Web Vitals, adiciona segurança e aumenta a disponibilidade. Com Cloudflare oferecendo um tier gratuito robusto, não há justificativa para não usar CDN mesmo em projetos iniciais. E a evolução para edge computing com Cloudflare Workers e AWS Lambda@Edge esta expandindo o paradigma muito além de cache de arquivos, levando processamento para onde o usuário esta.
Tutoriais em Video
Latency Numbers Programmer Should Know, ByteByteGo
System Design 101, roadmap.sh
Scaling up to your first 10 million users, AWS re:Invent 2019
CS75 Scalability Harvard Web Development, David Malan
How We've Scaled Dropbox, Stanford
System Design for Beginners Course, freeCodeCamp
Conceitos-chave
CDN
Rede de servidores distribuídos geograficamente que entrega conteúdo ao usuário do servidor mais próximo, reduz latência e descarga o servidor de origem
Edge servers
Servidores de borda ao redor do mundo que cacheiam conteúdo, usuário acessa o mais próximo geograficamente
Cache invalidation
Estrategias para invalidar conteúdo desatualizado nos edge servers, TTL, event-driven purge, versioned URLs
Push vs Pull CDN
Push: operador faz upload do conteúdo para CDN; Pull: CDN busca do servidor de origem na primeira requisição e cacheia
CDN para APIs
CDNs como Cloudflare podem cachear respostas de API e fazer edge computing com Workers/Functions
Providers
Cloudflare, AWS CloudFront, Akamai, Fastly, Google Cloud CDN, escolha impacta cobertura geografica e preço
No Instagram
@bytebytego
Reels
@bytebytego
No Facebook
No X (Twitter)
O que devs dizem
Ativamos o Cloudflare no nosso e-commerce e em 24 horas o LCP medio caiu de 4.2 segundos para 1.1 segundo. O tráfego do servidor de origem caiu 85% porque o Cloudflare passou a servir quase tudo do cache. E a melhoria de performance mais rápida que ja implementei sem mudar uma linha de código.
Usamos Cloudflare Workers para cachear as respostas do endpoint de listagem de produtos com TTL de 30 segundos. Esse endpoint era responsável por 60% da carga do nosso banco de dados. Depois do edge cache, a carga no banco caiu para quase zero nos horários de pico. Economizamos muito em infraestrutura.
O WAF do Cloudflare bloqueou um ataque de credential stuffing de 3 milhões de tentativas em 6 horas sem que precisassemos fazer nada. A feature de bot protection detectou o padrão automaticamente e bloqueou. Antes teriamos derreado o servidor de autenticação.