CDN e Moodle

Você já deve ter visto serviços como o Akamai CDN, CloudFlare, Azion CDN e muitos outros, aonde uma camada entre o Servidor do Moodle e os alunos gera uma economia de processamento e assim ter um sistema mais confiável.

Em ambos o mais complicado é apenas gerar a rota diferente para alunos logados e alunos não logados e gerar rotas para todas as partes estáticas e dinâmicas do Moodle. Bom é que não são muitas.

Uma CDN bem configurada pode trazer mais de 80% de economia em servidor para seu Moodle.

Akamai CDN

Akamai é o maior do mundo no quesito CDN. No Brasil é seu suporte e vendas é pela Exceda e é um dos mais confiáveis e de maior qualidade.

Akamai é líder mundial e é responsável por quase 30% de toda internet consumida no Mundo. Para ter idéia, todas as suas fotos e vídeos do Facebook estão armazenadas com eles. Todo trafego do Youtube Live é com eles, e poderia citar milhares de outras sites.

Configurar as rotas na Akamai é um pouco chatinho porque existe muitas opcões. Mas funciona muito bem e o suporte da Exceda é bom nisso. É possível configurar rotas para entregar cursos para visitantes direto do cache e para logados fora do cache.

Desvantagem:

  • Maior custo entre os três.

Vantagem:

  • Reduzir custos no Data Center do Moodle;
  • Prevenção de perda de dados;
  • Evita ataque DDos;
  • Firewall fora do servidor do Moodle;
  • Pode cachear baseado em Cookies. Assim posso separar os logados dos deslogados e entregar cache diferente a ambos.

Update 27/02/2017

Enviei e-mail para a Akamai:

No Serviço de CDN da Akamai é possível não fazer cache caso haja um Cookie com valor XXX?
Ou seja, os alunos que fazem login no LMS recebem um COOKIE (Ex: "logado=sim") e para estes não é entregue nada do cache. Já quem não tem este COOKIE recebe o que esta no cache?

Akamai respondeu:

É possível sim. Só precisamos saber exatamente em que condições a regra deve ser aplicada, em que configuração, qual o conteúdo de URL(s) e o nome e valor do cookie.

Azion Application Acceleration

A Azion é Brasileira e como usam NGINX funciona muito bem. No Moodle é só adicionar um plug-in para conversar com a Azion e consegue-se uma performance 100%, separando inclusive os alunos logados dos alunos não logados e para quem possui acesso de Visitante liberado consegue 100% de cache com o Azion.

No NGINX é possível, inclusive, criar rotas específicas para vídeos e coloca-los direto no Moodle e entregar via CDN com peso zero ao Moodle. Nunca testei entregar multi-bitrate, mais não deve ser nada fora de desenvolvimento.

Desvantagem:

  • ...

Vantagem:

  • Engenheiros e suporte no Brasil;
  • Evita ataque DDos, e outros tipos de ataques que podem parar seu servidor Moodle;
  • Reduzir custos no Data Center do Moodle;
  • Pode cachear baseado em Cookies. Assim posso separar os logados dos deslogados e entregar cache diferente a ambos;

Update 27/02/2017

Liguei para a Azion, fiz mesma pergunta da Akamai, disseram que sim e me passaram o endereço azion.com.br/developers/documentacao/produtos/application-acceleration/ para ter os detalhes completos. E nele posso citar:

É isso mesmo que estou falando.

CloudFlare

PS: Não sou especialista em CloudFlare, mais pesquisei bastante antes de escrever este POST. Se tens alguma coisa que agrega valor, comente que será de muita valia.

Não consegui fazer funcionar como eu queria que funcionasse. Não possui forma de configurar rotas para alunos logados e visitantes. Apenas possui o Page Rules que é possível especificar partes de URL que podem ser cacheadas e não cacheadas.

Desvantagem:

  • Não tem como entregar cache separado para alunos Logados e visitantes;
  • Sem a separação, além da demora do servidor do Moodle processar, ainda tem o tempo do CloudFlare processar;
  • Não economiza quase nada de resursos do datacenter.

Vantagem:

  • Evita ataque DDos, e outros tipos de ataques que podem parar seu servidor Moodle;
  • É possível aumentar o cache dos assets (imagens, Javascript, CSS, etc) e evitar que sejam processados pelo Moodle em todas as requisições.

Update: 27/02/2017

Recebi este link support.cloudflare.com/hc/en-us/articles/202775670-How-Do-I-Tell-Cloudflare-What-to-Cache- e nele é descrito que cache depende do Moodle enviar corretamente o cabeçalho Cache-Control.

AWS

AWS não possui este tipo de serviço.

Fastly

Fastly não possui POP no Brasil e por isso se o seu Moodle estiver aqui hospedado só irá piorar as coisas. Então não vou escrever sobre eles.

E..

Escrevi sobre Akamai e Azion por conhece-los e ter contato direto com a equipe de suporte. Sobre o CloudFlare adicionei por ser um dos mais famosos hoje.

Se existe algum item que passou despercebido por mim, não esqueça de comentar aqui em baixo.

Fique por dentro de nossas novidades, ideias e atualizações