- A web começou em um único computador
- Já se passaram 32 anos, mas ainda desenvolvemos como se tudo estivesse em um único computador
- Nos últimos anos, sites estáticos foram servidos perto dos usuários por meio de CDNs
- Agora a mesma coisa está acontecendo com webapps dinâmicos. Agora é possível fazer deploy em todo lugar
O que é Edge
- Quando as pessoas falam de "The Edge", isso significa que seu site ou app é implantado em vários servidores, próximos de cada usuário ao redor do mundo
- Quando alguém solicita seu site/app, é direcionado ao servidor mais próximo
- Esses servidores distribuídos podem executar código customizado para dar suporte a webapps dinâmicos, não apenas assets estáticos de sites
- Mover isso para servidores próximos também é uma tentativa de otimizar a latência
- Quanto mais o carregamento da página demora, maior a chance de o usuário ir embora
- Se você faz deploy em algo como o Heroku, ele vai para um data center da AWS na América do Norte, e na Europa ou em outras cidades o TTFB (Time to First Byte) fica mais lento
- Mas, ao testar o Deno.com hospedado na nossa Edge Network, o Deno Deploy, o TTFB é muito mais rápido
- O conceito de servidor foi apresentado pela primeira vez em um RFC de 1969
- A máquina NeXT no escritório de Tim Berners-Lee foi o primeiro servidor web. Mas a internet já estava em operação havia mais de 20 anos naquele momento
Armazenar conteúdo em cache perto do usuário
- A arquitetura de servidores funcionou bem por muito tempo, mas no fim dos anos 90, à medida que a web cresceu, começaram a surgir problemas
- A Akamai apresentou o primeiro CDN em 1998
- O CDN da Akamai armazenava conteúdo em cache em um sistema distribuído de servidores
- Os CDNs se tornaram uma parte importante da web moderna
Menos servidores, mais serverless
- Os servidores também têm problemas no lado oposto da "sobrecarga": subutilização
- Um servidor não pode simplesmente ser desligado; ele precisa ficar ligado 100% do tempo, e tudo isso custa dinheiro
- O serverless ameniza esse problema. Ele inicia só quando necessário e depois desliga novamente
- Mas "serverless" é um nome ruim. Não é que não existam servidores; eles ainda estão envolvidos
- Só não há um servidor dedicado sempre em execução
- O primeiro framework serverless amplamente usado foi o AWS Lambda
- O serverless tem duas vantagens
- Você paga apenas pelo que usar
- Não precisa se preocupar com o gerenciamento dos servidores. Sem planejamento, sem administração, sem manutenção
- A desvantagem é, em grande parte, a performance
- O problema do "Cold Start"
- E, como os servidores ainda são centralizados, continua existindo um round-trip longo
- Foi assim que chegamos ao momento atual
Livin' on the edge
- A beleza da Edge é que ela pega as vantagens do CDN (proximidade do usuário) e as do serverless (execução de funções) e as combina
- Em outras palavras, com Edge é possível executar código customizado perto do usuário. Isso traz muitos benefícios
Melhor performance
- Essa é a única coisa com a qual o usuário realmente se importa
- Se o site ou app roda em um servidor Edge próximo ao usuário, ele é mais rápido do que em um servidor central
- Mas os benefícios de performance não param por aí
- O processamento roda na Edge, e não no navegador do usuário
- O app exige menos recursos da máquina do usuário
- Como menos payload é enviado ao usuário, usa-se menos largura de banda
- Como as funções são executadas em um ambiente controlado, funções e APIs se comportam de forma consistente
Melhor segurança
- Ao mover o processamento do cliente/dispositivo para uma Edge serverless, você reduz a superfície de ataque do app
- Fica mais difícil sofrer um ataque DDoS
Melhor experiência para desenvolvedores
- Hoje, escrever código para Edge é mais complicado do que deveria
- A maior parte do problema vem da natureza híbrida do desenvolvimento para Edge
- Como muitos frameworks não foram desenvolvidos com Edge-First, o desenvolvedor precisa escolher se cada função ou página será executada na edge ou no navegador
- Mas novos frameworks, como o Fresh, simplificam isso com SSR e a arquitetura de Islands
- Usando Fresh com o Deno Deploy, é possível alcançar pontuação máxima no Lighthouse graças à otimização de latência
- A Edge é a próxima iteração da internet.
É o próximo passo para tornar a web mais rápida e um lugar mais seguro para usuários e desenvolvedores
3 comentários
No blog da Fastly, eles preveem que cerca de 70% da infraestrutura de computação dos data centers tradicionais vai migrar para a edge haha
https://www.youtube.com/watch?v=yOP5-3_WFus
Deno Deploy Beta 1
Deno Deploy Beta 2
Fresh - framework web de próxima geração