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 é 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.
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.
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.
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.
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.
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 não possui este tipo de serviço.
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.
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.