Cloudfront x Cloudflare x GoCache: um comparativo de latência

Quando se trata de plataformas de CDN, um dos atributos mais importantes é a latência de rede. Afinal, é para esse propósito que as CDNs surgiram: encurtar a distância entre o conteúdo (e mais recentemente, processamento) e os visitantes de uma aplicação web, tornado a experiência mais rápida.

Encurtar a distância entre conteúdo e visitante não é uma metáfora. Uma CDN consiste de uma rede de servidores em diferentes data centers, distribuídos geograficamente. Quando um visitante se conecta a um website que usa esta tecnologia, ele se comunica com o servidor mais próximo desta rede.

Latência no Brasil

Para comparar a latência entre Cloudfront, Cloudflare e GoCache, vamos usar uma ferramenta de monitoramento de performance de usuários reais anonimizados chamada PerfOps. O projeto consiste na inserção de um arquivo estático em diversos sites e na coleta do tempo de resposta do servidor (TTFB) a partir da API Resource Timing dos navegadores mais modernos. Nela, os principais provedores de CDN, cloud e DNS são monitorados. O gráfico abaixo compara a mediana entre as soluções em questão, o que significa dizer que 50% dos usuários apresentam tempos de resposta abaixo dos valores do gráfico.

Mediana do tempo de resposta do servidor

Você pode perceber no gráfico acima que quando se trata de latência no Brasil, a GoCache sai na frente. Uma justificativa está na presença da GoCache em 4 regiões do país. São 8 pontos de presença, sendo 3 em São Paulo, e os outros no Rio de Janeiro, Curitiba, Salvador, Fortaleza e Manaus. Enquanto isso, a CDN da AWS, o Cloudfront, possui apenas 2 PoPs, sendo um em São Paulo e o outro no Rio de Janeiro, e a Cloudflare possui 5 PoPs distribuídos entre em São Paulo, Rio de Janeiro, Curitiba, Porto Alegre e Fortaleza, contabilizando um total de 5.

Você pode estranhar a Cloudflare apresentar o pior desempenho comparado com as outras CDNs, mesmo com uma quantidade razoável de PoPs no Brasil, mas isso pode ser explicado por sua posição estratégica. A estratégia de freemium e preços fixos potencialmente entra em choque com os altos custos de banda da internet brasileira, obrigando-a a limitar sua capacidade no país. E essa capacidade acaba sendo priorizada para seus clientes Enterprise, através dos ranges de IP priorizados, em detrimento dos outros planos. Dessa forma, se um visitante acessa um site atendido por um plano abaixo do Enterprise, pode ser direcionado para um PoP mais distante para evitar congestionamentos, inclusive podendo ser para fora do Brasil.

Explicação sobre os range de IPs priorizados

Por usar uma amostra de todos usuários de alguns sites, o PerfOps pode carregar vieses dessa audiência. Um exemplo de viés acontece se a maior parte da audiência destes sites estiver localizada na região sudeste, o que provavelmente ocorre e faz com que as medianas tendam a ficar mais próximas, pois a maioria das soluções possuem PoPs nesta região. Isso pode explicar a proximidade entre a GoCache e o Cloudfront, que tende a ser menor quando comparamos nas regiões Nordeste e Norte. Você pode visualizar isso comparando o tempo de ping (latência de rede) em centenas de provedores de internet no Brasil para as duas CDNs, através da ferramenta ISPTools (links: http://www.isptools.com.br/ping#287!0!www.gocache.com.br e http://www.isptools.com.br/ping#548!0!aws.amazon.com). E você pode esperar um desempenho ainda melhor em breve, pois lançaremos um PoP na região Centro-Oeste. Fique atento!

De toda forma, para reforçar a veracidade dessas informações, sugiro que você mesmo faça o teste, que pode ser realizado através de soluções de RUM, como New Relic e App Dynamics, ou você mesmo pode fazer um esquema de coleta e análise destes dados. Aproveite também para experimentar a flexibilidade na configuração, a implantação em tempo real das configurações e o suporte usando os 7 dias gratuitos para teste que você tem direito em nossa plataforma!