Infraestrutura: edge computing
Edge computing roda uma função pequena perto do usuário a cada requisição, antes ou depois da resposta do cache. O curso mostra o que essa função consegue ler e mudar, e os limites dos runtimes de borda: JavaScript ou WebAssembly, milissegundos de CPU, nenhum banco e um armazenamento chave-valor que só fica consistente depois de um tempo. A escolha de idioma pelo cabeçalho Accept-Language serve de caso prático. O curso pesa o custo de ter lógica em dois lugares, compara a correção na borda com uma em Ruby e termina com um exercício de negociação de idioma.
O que você vai aprender
- ✓O que uma função de borda consegue ler, reescrever, redirecionar ou responder
- ✓Os limites dos runtimes de borda: linguagem, tempo de CPU, estado e partidas a frio
- ✓Por que uma URL com duas respostas corretas de idioma complica o cache na borda
- ✓O custo de uma regra implementada na borda e na origem ao mesmo tempo
- ✓Qual estado é seguro guardar na borda e qual pertence à origem
- ✓Como separar um defeito de produto de uma otimização de latência antes de escolher a correção
Movendo a decisão, não os bytes
O curso de nível Sênior "Infraestrutura: CDN global" traçou uma linha: uma rede de entrega de conteúdo move bytes, não computação. Edge computing é a tentativa de levar um pouco de computação para o outro lado dessa linha, e a pergunta interessante é quão pouco dá para mover e ainda ter o benefício.
Ler a aula completa grátis →Currículo
7 aulasMovendo a decisão, não os bytes
Edge computing deixa você escrever a pequena decisão que um CDN já toma perto dos usuários.
O que de fato roda numa borda
Runtimes de borda oferecem JavaScript ou WebAssembly, milissegundos de CPU, nenhum banco e armazenamento chave-valor com consistência atrasada.
A decisão de idioma que esta app toma
A aplicação ignorava o Accept-Language, e o idioma no cookie faz uma URL ter duas respostas corretas.
O custo de lógica em dois lugares
Duplicar uma regra na borda traz uma segunda linguagem, outro pipeline de deploy, outros logs e outra suíte de testes.
Estado na borda
O armazenamento de borda serve para flags e redirecionamentos, e preferências do usuário ficam na origem pela leitura das próprias escritas.
A correção mais barata primeiro
Adicionar o Accept-Language ao set_locale em Ruby corrige o defeito e deixa a latência para medições futuras.
Juntando tudo
Uma revisão do curso e o desafio de implementar negotiate_locale com parâmetro, sessão, Accept-Language com pesos e padrão.