今週日曜日の朝、ベルリンで開催されているJSConf EUで、CloudflareのAshley Williams氏は、公式CLIとしてWranglerの採用、独自ドメインを必要としないデプロイ機能の提供、Cloudflareのインフラストラクチャに誰でもデプロイ可能な無償ティアの提供など、Cloudflare Workerの一連の変更について発表した。
Cloudflare Workersは、ChromeのV8 JavaScriptエンジン上に構築された(V8 Isolateを利用している)、ライトウェイトなJavaScript実行環境で、既存のアプリケーションを拡張(あるいは新たにアプリケーションを開発)して、インフラストラクチャの設定や更新をすることなく、Cloudflareのアプリケーションエッジにコードをデプロイ可能なサーバレスソリューションである。Cloudflareのインフラストラクチャは、175以上のデータセンタの、グローバルなAnyCastネットワークをサポートしている。
Isolateは、"ChromeブラウザのJavascriptエンジンであるV8"の強化を目的として、Google Chromeチームが開発した仮想マシンの一種で、変数と、それを変更可能なコードをグループ化した軽量コンテキストである。Isolate内の環境で実行されるひとつのプロセスで、数百ないし数千のWorkerを実行し、それらをシームレスに切り替えることができる。Williams氏はプレゼンテーションで、次のようなスライドを使用して、VMやコンテナとの違いについて説明した。
サーバレス自体は新しいアイデアではないが、グローバルロジックをアプリケーションエッジに簡単にデプロイできる機能は目新しいものだ。トラフィックシェーピング、ローカライゼーション、サーバサイドレンダリング、データ集約、マシンラーニングなどに関わるユースケースはすべて、アプリケーションロジックをクラウドプロバイダからユーザの近くに移動することにより、レイテンシの低減が期待できる。Cloudflareは、(一義的には)グローバルなコンテンツ配信ネットワーク(CDN)を提供する、ハードウェアプロバイダである。Cloudflare Workersをこのスタックに追加することで、リージョン、VM、サーバ、コンテナ、ロードバランサを考慮する必要なく、カスタムロジックのデプロイが可能になる。
開発者であるWilliams氏は、この意味について、次のようにコメントしている — "Web開発者にとって古くから頭痛の種であった、クライアントとサーバという古典的な二分法は今、サーバレスとエッジによって覆されようとしています。今回のCLIツール、無償ティア、http://workers.devサブドメインのリリースにより、これまで以上に多くの開発者が利用可能な、180のデータセンタで構成され、v8を搭載したグローバルなサーバーレスプラットフォームが実現しました。これはすなわち、米国やヨーロッパのユーザのみならず、世界中のすべてのユーザ向けのWebサイトとアプリケーションが高速化されることを意味します。"
Williams氏は、gh-pagesとcloudflare Workerのデプロイ機能のベンチマークを引用しながら、ドーハやカタール(591ミリ秒から143ミリ秒に)、オーストラリアのメルボルン(624ミリ秒から208秒に)、レイキャビクなどの場所において、印象的なパフォーマンス向上が見られたことを紹介した。ベンチマークの詳細は、Cloudflareのブログで確認することができる。
数ヶ月前にWilliams氏は、RustツールチェーンによるWeb Assemblyサーバレスソリューションの開発とデプロイに関する開発者エクスペリエンスをより快適なものにするため、WranglerをCLIツールとしてオープンソース公開した。現在Wranglerは、公式のWorkers CLIとして一本立ちし、Workersの導入ニーズをすべてサポートしている。NPMからのインストール、プロジェクトの生成、Cloudflareのインフラストラクチャへの公開に関する詳細は、William氏の発表に合わせてポストされたブログ記事を参照してほしい。Cloudflare Workerを使用して、Wasm(あるいはWeb Assembly)のデプロイが可能だ。
workers.dev
ドメインから独自の第3レベルのドメイン名を構築することも可能になったので、コードをデプロイする場合に、自身でドメインを用意する必要はない。前述のようにWorkersでは、リージョンやVM、サーバ、コンテナ、ロードバランサを定義する必要がないため、開発者は使い慣れたコマンドラインインターフェイスを使用して、グローバルなサーバーレス機能を簡単にデプロイできる。
導入評価のため、Cloudflareでは、開発者が使用可能な無償のティアを提供している。Workerの無料利用枠では、グローバルなAnyCastネットワーク全体で、1日あたり最大100,000件のリクエストを行うことが可能だ。
その他の関連するものとして、新たなドキュメント、新たなUIなどに加えて、これがCloudflareからの製品提供の始まりに過ぎないというコミットメントも発表された。
NPMの共同設立者兼最高データ責任者であるLaurie Voss氏は、NPMのWorkersへの移行について次のように説明している。"Cloudflare Workersは、私たちのアプリケーション開発方法を変えるものです。リージョンを考慮する必要はありません。コードをデプロイするだけで、世界中で、シームレスな実行が可能になります。"
Cloudflareの発表の詳細については、Cloudflareの開発者ブログにアクセスして、JSConf EUからリリースされたビデオを探すか、あるいは6月27日にQCon New Yorkで行われる、Cloudflare Workersに関する半日のワークショップに参加を申し込むとよいだろう。