A Gyazo otimiza as cargas em suas plataformas de compartilhamento de capturas de tela com o balanceamento de carga da Cloudflare.
A Gyazo, utilizando uma infraestrutura baseada em nuvem, permite que os usuários façam capturas de tela rapidamente e as compartilhem com facilidade por meio de links criados instantaneamente. Com milhões de usuários ativos, a Gyazo é a maior e mais rápida ferramenta de criação de capturas de tela e GIF de tela do mundo.
O desafio da Gyazo: otimizar a carga para a base global de usuários
Inicialmente, todos os servidores da Gyazo estavam sediados nos Estados Unidos. A empresa usava uma CDN (rede de distribuição de conteúdo) para distribuir seu conteúdo aos usuários. Os usuários da Gyazo estão distribuídos aproximadamente da seguinte forma: 45% na Europa, 15% na Ásia e 40% nos Estados Unidos. Por isso, a estratégia funcionou bem para usuários nos EUA, mas os usuários fora dos EUA tinham tempos de carga excessivos. “Isso se deve ao fato de que as CDNs são ótimas em distribuir conteúdo”, explicou Isshu Rakusai, CEO da Nota, a fabricante da Gyazo, “mas não são boas para carregar conteúdo. Alguns dos nossos usuários (na Austrália, por exemplo) estavam tendo tempos de carga superiores a 30 segundos para carregar apenas uma pequena captura de tela”. Essa latência de carga acontecia porque o conteúdo do usuário da Gyazo citado no exemplo da Austrália, era roteado pelo Sul da Ásia, passando pelo Oceano Pacífico até chegar a um dos servidores da Gyazo nos Estados Unidos para, em seguida, voltar pelo mesmo caminho.
Para combater esse problema, a Gyazo construiu sua própria rede de servidores de borda de carga em todo o mundo, mas isso gerou um novo problema: esses servidores de borda tinham picos de tráfego e o desempenho piorava nesses momentos.
A solução da Gyazo: balanceamento de carga global com failover
A Gyazo viu o programa Early Access da Cloudflare para balanceamento de carga e achou que ele poderia fornecer a funcionalidade complementar necessária para aperfeiçoar a solução de propriedade exclusiva. Agora, o balanceamento de carga global da Cloudflare envia o tráfego de usuários da Gyazio de forma inteligente para o servidor de carga mais próximo e mais saudável. Isso garante que os usuários tenham as velocidades de carga mais rápidas possíveis e que os servidores não fiquem sobrecarregados.
Além disso, ao distribuir o tráfego e manter a integridade do servidor, o balanceamento de carga garante que os usuários da Gyazo não terão o desempenho prejudicado experimentado inicialmente. Com a funcionalidade de Failover do balanceamento de carga, os usuários da Gyazo também são redirecionados rapidamente quando um servidor fica inativo. Assim, nem percebem que um servidor falhou. “O Failover também foi muito útil para nós”, explicou Rakusai. “Com nosso provedor de DNS anterior, criamos um truque rápido para fazer Failover com base em DNS, mas a configuração era complicada e as mudanças levavam horas para se propagar totalmente”.
O balanceamento de carga global melhora a latência internacional que os usuários estavam experimentando
O Failover e os Health Checks proporcionam uma experiência contínua aos usuários da Gyazo, mesmo em caso de falha no servidor
“A Cloudflare permite que nos concentremos mais em nosso próprio desenvolvimento. Às vezes, usávamos metade dos nossos recursos de engenharia para a manutenção da rede. Além disso, quando as coisas estavam devagar, todos na organização (como marketing e suporte ao cliente) ficavam sabendo e o trabalho deles também ficava mais lento. Agora, todos podem se concentrar nos usuários.”
Isshu Rakusai
CEO at Nota Inc. Criador da Gyazo