27 ポイント 投稿者 xguru 2022-10-11 | 3件のコメント | WhatsAppで共有
  • Webは1台のコンピューターから始まった
  • 32年が経った今も、私たちはまだ1台のコンピューターであるかのように開発している
  • ここ数年、静的サイトはCDNを通じてユーザーに近い場所から配信されてきた
  • いまや動的なWebアプリにも同じことが起きている。あらゆる場所にデプロイできるようになった

Edgeとは何か

  • 人々が「The Edge」と言うとき、それはあなたのサイトやアプリが世界中の各ユーザーに近い複数のサーバーへデプロイされることを意味する
  • 誰かがあなたのサイト/アプリをリクエストすると、最も近いサーバーへ案内される
  • この分散されたサーバー群は、静的サイトのアセットだけでなく、動的なWebアプリを支えるカスタムコードも実行できる
  • このように近くのサーバーへ移すことは、レイテンシ最適化の試みでもある
  • ページの読み込みが長くなるほど、ユーザーが離脱する確率は高くなる
  • Herokuのような場所にデプロイすると北米のAWSデータセンターに配置されるため、ヨーロッパや他の都市ではTTFB(Time to First Byte)が遅くなる
  • しかし、私たちのEdge NetworkであるDeno DeployでホストされたDeno.comをテストすると、TTFBははるかに速い
  • Serverというコンセプトは1969年のRFCで初めて紹介された
  • ティム・バーナーズ=リーのオフィスにあったNeXTマシンが最初のWebサーバーだった。しかしインターネットはその時点ですでに20年以上運用されていた

コンテンツをユーザーの近くにキャッシュする

  • サーバーアーキテクチャは長い間うまく機能していたが、90年代後半からWebが拡大するにつれて問題が起こり始めた
  • Akamaiが1998年に初めてCDNを導入した
  • AkamaiのCDNは、サーバーの分散システム上でコンテンツをキャッシュした
  • CDNはモダンWebの重要な構成要素になってきた

Less servers, more serverless

  • サーバーは「オーバーロード」の反対側でも問題がある: 活用不足
  • サーバーは電源を切れず、100%の時間ずっと稼働していなければならず、その分すべてコストがかかる
  • サーバーレスはこの問題を和らげる。必要なときだけ起動し、また停止する
  • しかし「サーバーレス」は誤った名前だ。サーバーが存在しないわけではなく、依然として関わっている
  • 常時稼働する専用サーバーがないだけだ
  • 広く使われた最初のサーバーレスフレームワークはAWS Lambda
  • サーバーレスの利点は2つ
    • 使った分だけ料金を支払う
    • サーバー管理を気にする必要がない。計画も、管理も、メンテナンスも不要
  • 欠点は主に性能だ
    • 「Cold Start」の問題
    • そして依然としてサーバーは集中化されているため、長いRound-Tripがある
  • そして現在に至った

Livin's on the edge

  • Edgeの美しさは、CDNの利点(ユーザーに近いこと)とServerlessの利点(関数を実行できること)を組み合わせた点にある
  • つまりEdgeでは、ユーザーに近い場所でカスタムコードを実行できる。これには多くの利点がある

より良いパフォーマンス

  • これこそがユーザーが気にする唯一のことだ
  • サイトやアプリがユーザーに近いEdgeサーバーで動けば、中央サーバーより速い
  • しかしパフォーマンス上の利点はそこで終わらない
  • ComputeはユーザーのブラウザーではなくEdgeで実行される
    • アプリはユーザーのマシン上で必要とするリソースが少なくて済む
    • ユーザーへ渡されるペイロードが少ないため、使用する帯域幅も小さくて済む
    • 関数は制御された環境で実行されるため、関数やAPIが一貫して動作する

より良いセキュリティ

  • 計算処理をクライアント/デバイスからサーバーレスEdgeへ移すことで、アプリの攻撃対象領域を減らせる
  • DDoS攻撃もしにくくなる

より良い開発者体験

  • 現在はEdge向けコードを書くことが必要以上に厄介だ
  • 問題の多くは、Edge開発のハイブリッドな性質に起因している
  • 多くのフレームワークはEdge-Firstで開発されていないため、開発者は各関数やページがEdgeで実行されるのか、ブラウザーで実行されるのかを選ばなければならない
  • しかしFreshのような新しいフレームワークは、SSRとIslandsアーキテクチャによってこれを簡素化している
  • FreshをDeno Deployと組み合わせれば、レイテンシ最適化によってLighthouse Scoreで満点を取ることも可能だ
  • Edgeはインターネットの次のイテレーションだ
    Webをより速くする次の段階であり、ユーザーと開発者のためにより安全な場所でもある

3件のコメント

 
cometkim 2022-10-17

Fastlyのブログでは、既存のデータセンター向けコンピューティングインフラの約70%がエッジへ移行すると予測していましたね(笑)