Webホスティングサービスを提供するNetlifyは、Denoを採用した新しいサーバレス環境「Netlify Edge Functions」をパブリックベータとして公開しました。
NetlifyはJAMスタックによるWebホスティングを提供するベンダ
Netlifyは、JAMスタックと呼ばれるアーキテクチャを用いたWebホスティングサービスを提供するベンダとして知られています。
JAMスタックとは、基本的にはWebサイトのすべてのWebページを静的なHTMLファイルとして生成し、Webページ上の動的な要素についてはHTMLに埋め込んだJavaScriptからバックエンドサーバのAPIを呼び出すことで実現します。
このアーキテクチャの利点は、静的HTMLをWebサーバから配信するだけでWebサイトを公開できるため、CDNなどを用いたスケーラブルかつ安定したなWebページの配信が可能で、しかもWebサーバ側に複雑なロジックがないためセキュリティ面でも堅牢となること、などが挙げられます。
Netlifyでは、サーバサイドでの静的HTML生成あるいはサーバサイドレンダリングのためのフレームワークとしてReact、Vue、Nuxt、Gatsby、Hugoなど、ほとんどすべてのフレームワークに対応しています。
Netlifyが今回ベータ公開したNetlify Edge Functionsは、このNetlifyのWebホスティングサービスに対して、JavaScript/TypeScriptが実行可能な分散ホスティングサービス「Deno Deploy」をベースにしたサーバレスコンピューティング環境を追加します。
Denoを分散ホスティングしたDeno Deployを採用
Deno Deployは、Node.jsを開発したライアン・ダール氏がNode.js開発時の反省を活かして、より優れたJavaScript/TypeScriptのサーバサイド環境実現のために開発しているDenoを、グローバルなエッジロケーションで分散ホスティングしたサービスです。
つまりNetlify Edge Functionsを利用することで、JAMスタックに対応した静的なWebページの生成を始めとするさまざまな処理を、Deno Deployが提供するグローバルな分散ホスティングサービスの多数のエッジロケーションで分散して実行できる、ということになります。
これにより同社が目指している、よりスケーラブルかつ可能な限り業界標準に対応したオープンなプラットフォームを用いたJAMスタックのWebサイトの可能性が拡張されることになります。
Netlify Edge Functionsも複数のフレームワークに対応
Netlifyによると、Netlify Edge Functionsも最初から複数のサーバサイドレンダリング用フレームワークに対応しています。
具体的には、Astro、Eleventy、Hydrogen、Next.js、Nuxt、Remix、SvelteKitです。
Netlifyは、今回パブリックベータとなったNetlify Edge Functions以外にも、すでにサーバレスコンピューティング環境として、オンデマンドで実行可能されるAPIのための関数を設定できるNetlify Functions、バックグラウンド実行のためのNetlify Background functions、スケジュールを指定して実行できるNetlify Scheduled functionsなども提供しており、組み合わせによってこれまで以上に柔軟なJAMスタックの利点を活かしたWebサイトが構築できると説明しています。