Uma CdN (Content Delivery Network, rede de entrega de conteúdo) é uma coleção de nodes distribuídos, chamados de servidores de borda, conectados aos mesmos servidores de origem e colocados locais na localização dos usuários. Se você estiver usando um CDN, o conteúdo do seu site será entregue ao usuário do servidor de borda mais próximo à sua localização. Sem um CDN, você está colocando estresse no servidor de origem toda vez que um usuário solicita algo. Se você tem muitos visitantes em seu site, isso atrapalharia seu servidor tornando-o mais lento para responder e ainda pior, ficar sem resposta para os usuários.
Como funciona um CDN
Pense no CDN como uma árvore cuja raiz é o servidor de origem e os servidores de borda são os nós da árvore. Quando o novo conteúdo é disponibilizado no servidor de origem, ele é distribuído e armazenado em cache em todos os servidores de borda. Agora, quando um usuário faz uma solicitação de DNS, ele é interrompido pelo CDN, e o conteúdo é servido a partir do servidor de borda mais próximo. Existem duas abordagens fundamentais para implementar uma estratégia de cache CDN:
Rede push. Quando qualquer novo conteúdo é carregado no site, o servidor de origem empurra esse novo conteúdo para o CDN. Em seguida, o CDN pega esse novo conteúdo e distribui em todos os seus servidores de borda para cachê-lo lá. Esta é essencialmente uma estratégia de pré-cache onde minimizamos um hit-and-miss quando a solicitação de um recurso é feita pela primeira vez na rede. O conteúdo armazenado em cache está disponível para o usuário a partir do servidor de borda para as solicitações subsequentes.
Rede de tração. Nesta estratégia, não há pré-cache. Quando qualquer recurso é solicitado pela primeira vez, o CDN vai para o servidor de origem, busca o conteúdo e o serve ao usuário. Esse conteúdo é então distribuído para todos os servidores de borda e colocado no cache em servidores de borda. Nesta estratégia ocorre um atropelamento e erro, aumentando o tempo de carga.
Qual das duas abordagens que você usa depende do seu caso de uso e do provedor de CDN que você está usando. O tipo de conteúdo também desempenha um papel importante aqui, mas uma abordagem mista tanto da estratégia push quanto pull é a melhor quando se trata de utilizar totalmente o poder e os benefícios de um CDN.
Conteúdo estático e dinâmico
Agora, nem todos os conteúdos do seu site são capazes de ser armazenados em cache, então vamos falar um pouco sobre os tipos de conteúdo antes de mergulhar fundo em uma melhor estratégia de pré-cache usando monitoramento sintético.
O conteúdo estático é basicamente qualquer arquivo armazenado em um servidor, por exemplo, imagens, vídeos, PDFs, arquivos HTML, arquivos CSS, arquivos JavaScript, etc. ele não muda ao longo do tempo, então uma cópia estática é armazenada em cache e servida a partir do servidor de borda mais próximo. Um navegador também pode armazenar o conteúdo estático até expirar e serve localmente a partir do computador.
O conteúdo dinâmico, no entanto, é gerado no lado do servidor em resposta à solicitação do usuário com base na localização, dispositivo, tempo, configurações pessoais, etc. Em certo momento, o conteúdo dinâmico não foi capaz de ser armazenado em cache, mas à medida que as tecnologias evoluíram, o conteúdo dinâmico também pode ser armazenado em cache e servido a partir do servidor de borda.
Há um ponto importante a ser observado aqui do ponto de vista de um negócio. Se você não pré-cachear os dados, os usuários iniciantes provavelmente enfrentarão um hit-and-miss, aumentando assim a latência e tendo uma resposta mais lenta. A cada segundo de atraso, a taxa de rejeição do seu site aumenta. 9,6% dos visitantes saltam quando o tempo de carga da página é de 2 segundos e 32,3% dos usuários saltam se for 7 segundos. Esse tipo de números pode resultar em uma queda significativa na receita.
Mais frequentemente, independentemente do tipo de conteúdo, o CDN tem uma expiração definida para limpar o conteúdo armazenado em cache e trazer novos conteúdos do servidor de origem. Estas opções de expiração podem ser as seguintes:
- Origem controlada
- Especificação TTL (tempo de vida)
- Nunca expire
- Não cache
Se os usuários de determinados locais não fizerem uma solicitação para um determinado conteúdo e o conteúdo expirar, então, dependendo da sua estratégia de expiração de cache, eles também podem enfrentar um cenário de hit-and-miss resultando em mais taxa de rejeição para o seu site. Com a implementação do CDN em vigor, temos três benefícios principais:
- Desempenho. Acelerando o desempenho do seu site reduzindo a latência e as cargas do servidor.
- disponibilidade. Tornando seus dados mais disponíveis para combater a falha do servidor e a baixa largura de banda.
- segurança. Aumentando a capacidade geral do servidor utilizando um CDN para evitar dDoS e outros ataques de rede sobre dados.
Assim, pré-cache de seus dados em servidores de borda usando uma estratégia de CDN eficiente lhe dará todos os tipos de vantagens. Mas a questão é, com sites interativos, conteúdo dinâmico e caminhos complexos do usuário, como você pré-armazena os dados? A resposta é o monitoramento sintético distribuído.
E o Pré-Metching? Pré-cache vs. Pré-travamento explicado
Ao pesquisar as melhores maneiras de monitorar ativos pré-cache, você pode ter se deparado com os termos “precaching” (sem hífen) e pré-travamento. O que levanta a questão — qual é a diferença entre esses termos (se houver), e como isso impacta a escolha de uma solução de monitoramento sintético?
Simplificando — não há diferença significativa entre esses termos. Além disso, nenhuma organização de padrões definiu esses termos separadamente.
No entanto, vale a pena notar que alguns usuários finais consideram o termo pré-busca mais frequente e com limite de tempo, pois a pré-busca é usada para recursos que serão necessários imediatamente, acessados apenas uma vez e podem ser descartados/excluídos após usá-los.
Por outro lado, muitos desses mesmos usuários finais acreditam que o termo pré-cache (às vezes escrito “pré-cache” sem hífen) é usado ao descrever ativos que serão acessados várias vezes e também armazenados por períodos mais longos.
Alguns softwares e empresas baseadas na Web definem esses termos de forma independente também, com base em suas próprias plataformas. Por exemplo, o Google usa o termo “precaching” (sem hífen), para se referir à maneira como o carregamento de ativos pode ser controlado em sua caixa de trabalho de aplicativo web.
Em última análise, a coisa mais importante a tirar é que não há diferença significativa entre os termos, e eles são tipicamente usados intercambiavelmente na comunidade de desenvolvimento web. No entanto, se você está procurando monitorar um tipo específico de aplicativo web, pode querer garantir que você entenda como esses termos são definidos ou usados dentro desse quadro específico.
Monitoramento Sintético
O monitoramento sintético é um mecanismo para monitorar seus sites e aplicativos simulando usuários em um ambiente interativo usando ferramentas e scripts. Essas ferramentas realizam a travessia de possíveis caminhos guiados e atividades de transação comercial 24 horas por dia. Ao implementar o monitoramento sintético para seus sites e aplicativos, você recebe informações importantes sobre o desempenho, como latência, acessibilidade, transações quebradas, etc. Existem muitas opções saaS de terceiros disponíveis, mas você gostaria de escolher uma com uma ampla gama de soluções de monitoramento. Normalmente, essas soluções têm configuração de clique e ir e o preparam em pouco tempo.
Por exemplo, a solução de monitoramento de aplicativos web do Dotcom-Monitor inclui uma ferramenta de scripting de ponto e clique chamada EveryStep Web Recorder. Basta navegar pelo seu site ou aplicativo como um de seus usuários faria para criar scripts que você pode usar para monitorar seus aplicativos web.
Borda CDN pré-cache serve com monitoramento sintético
Se você estiver usando um CDN, a configuração de monitoramento sintético para vários locais aproveitará o sistema distribuído para executar o monitoramento sintético em cada servidor de borda para simular usuários localizados. Assim, solicitar o conteúdo antes de qualquer usuário, pré-cache o conteúdo e minimizar o primeiro hit-and-miss e tempo de carregamento para quase todos os seus usuários. À medida que monitores sintéticos são configurados para realizar testes em intervalos ao redor do relógio, eles maximizam as chances de detectar novos conteúdos carregados antes que qualquer usuário possa. Assim, pré-cache do conteúdo com base na localização, hora e dispositivo e permitindo que os servidores de borda CDN sirvam o conteúdo de forma mais rápida e eficiente.
Vantagens para pré-cache de servidores de borda CDN
- Monitorando o tempo de atividade do site em diferentes usuários finais em vários locais.
- Pré-cache do conteúdo para acelerar o primeiro tempo de carga.
- Purgando e substituindo cache CDN expirado para lidar com o hit-and-miss frequente.
- Monitoramento de transações comerciais complexas e fluxo de processos.
- Detectando falhas de servidor e aplicativos e implementando um fail-safe.
- Detectar e corrigir problemas antes que eles afetem os usuários finais.
- Baseamento e benchmarking para estratégias de melhoria.
- Analise o UX da perspectiva do usuário final.
Se você está usando um CDN, mas não implementou monitoramento sintético, você pode querer ter um monitoramento sintético no local para que sua aplicação faça o melhor do mecanismo de entrega de conteúdo e rack na receita inconscientemente perdida.
Experimente a plataforma completa do Dotcom-Monitor gratuitamente.