27 pontos por xguru 2022-10-11 | 3 comentários | Compartilhar no WhatsApp
  • 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

 
cometkim 2022-10-17

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