こんにちは。
今回はmiddlewareで認証を実装しようとしていたら、
Edge Middlewareなるものに遭遇したんですよ!
こいつがかなり面白そうで、
とりあえず今回は端的に比較を備忘録として残しておきます。
(精度は、備忘録程度です。あくまで。笑)
middlewareとEdge Middlewareの違い
実行環境によるアクセス速度やセキュリティの恩恵:
middlewareはより従来のもので、中央集権型サーバーで実行されます。
つまり、物理的に、地理的に遠い場所の特定のサーバーに毎回アクセスすることになります。
対して、Edge MiddlewareはEdge Network上で実行されます。
Edge Network(エッジネットワーク)とは、データセンターや主要な処理拠点から物理的にユーザーに近い場所に配置されたサーバー群を指します。これにより、ユーザーのリクエストに対して、より高速に応答することが可能になります。
特に、グローバルに配信されるWebアプリケーションや、高速なレスポンスを必要とするサービスにとって、以下のような利点があります。
低レイテンシー
Edge Middlewareはエッジサーバー上で実行されるため、ユーザーのリクエストを地理的に近い場所で処理できます。これにより、従来の中央集権型サーバーよりも通信のレイテンシーを大幅に削減することが可能です。
スケーラビリティ
エッジコンピューティングのインフラストラクチャを利用することで、アプリケーションはトラフィックの増減に柔軟に対応できます。エッジサーバーは需要に応じて自動的にスケーリングされるため、開発者はサーバーの容量計画に関する心配を軽減できます。
セキュリティ
Edge Middlewareを使用すると、リクエストの認証やリダイレクトなどのセキュリティ関連の処理をエッジで行うことができます。これにより、不正なアクセスや攻撃をネットワークの外縁であらかじめ防ぐことができ、全体のセキュリティポスチャーを向上させることが可能です。
グローバルアクセスの最適化
グローバルに分散したエッジサーバーを通じてコンテンツを配信することで、世界中どこからのアクセスであっても、一貫した高速なパフォーマンスを提供できます。
開発の柔軟性
特定のリクエストパターンやユーザービヘイビアに基づいて動的に処理を行うロジックをエッジで実装することができるため、よりリッチでパーソナライズされたユーザー体験を構築することが可能です。
しかも、apiを叩く場所もEdge Network上に設定できそうです。
ただし、
Edge Middlewareを最大限に活用するには、エッジコンピューティングのインフラストラクチャを提供するプラットフォーム(例:VercelやCloudflare Workersなど)に依存することが多いため、選択したプラットフォームの特性や料金体系を考慮することも重要です。
とのことなので、
Vercelとかを使わなきゃかな?
まだまだ知らないといけないことは多そうだけど、
グローバルアプリを作るなら参考になるかも笑
コメント