- 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件のコメント
Fastlyのブログでは、既存のデータセンター向けコンピューティングインフラの約70%がエッジへ移行すると予測していましたね(笑)
https://www.youtube.com/watch?v=yOP5-3_WFus
Webの未来はEdgeにある
Deno Deploy Beta 2
Fresh - 次世代Webフレームワーク