CloudflareがJamstackでウェブサイトを作成、クラウドでホスティングするサービスを準備中

CloudflareがCloudflare Pagesという新プロダクトを準備中だ。このサービスではNetlifなどがパイオニアとなって開発したJamstackフレームワークを利用してしてサイトを構築し、Cloudflareクラウドでホスティングする。JamstackはJavaScript、API、マークアップを総合利用するサイト作成ツールだ。Netlify、VercelがJamstackによるサイトの作成とホスティングを行うサービスを提供しているため、Cloudflareの新サービスと直接のライバル関係になる可能性がある。JamstackのフレームワークにはGatsby、Jekyll、Hugo、Vue.js、Next.jsなどが含まれる。

リバースエンジニアリングの専門家であるJane Manchun Wong(ジェーン・マンチュン・ウォン)氏が最近新しい隠しコードを発見した。ウォン氏はCloudflareサービスのコードをチェックしていてこのコードに気づき、新サービスの準備だとわかったという。

Jamstackという手法が耳慣れない読者もいると思うが、これは大規模なウェブサイトを開発、運用する場合に最近人気が出ているフレームワークだ。グローバルエッジコンピューティングの利用に力を入れており、負荷変動に強く、高いパフォーマンスのサイト開発が可能だ。

有名なミュージシャンがウェブサイトで新アルバムをリリースしようとする場合を考えてみよう。当然、膨大なトラフィックが殺到するし、大量の注文を処理しなければならない。

読者がこのサイトのデベロッパーだとすればJamstackでサイトを開発するのはいい考えだ。トラフィックに負荷がかかってもサイトがダウンせず、読み込みが遅くなることもないようにできる。従来のコンテンツ管理システムを使ってホスティングと配信を行うのではなく、Jamstackフレームワークを使えばフロントエンドとバックエンドを切り離すことができる。

コンテンツ管理システムにいくつかの記事内容を書き込み、サイトのアップデートで公開することができる。Jamstackアプリケーションは新しい記事を静的なページとして事前に作成する。このページはグローバルエッジネットワークにキャッシュされる。世界中どこにいようと数ミリ秒のレイテンシーでページを表示することができる。つまりユーザーが読もうとするたびにゼロからページを作成するのではなく、事前にページのコピーを作って配布しておくわけだ。

しかしサイトを訪れたファンが新しいアルバムを買おうとした場合はどうなるだろう?ショッピングページには、事前にキャッシュできないダイナミックなチェックアウトモジュールがある。ここでAPIの出番となる。Stripeなどの支払APIを利用すればユーザーがサーバーからモジュールをいちいち読み込まないようにできる。

これは単純化した例だが、多数の企業がこのような手法を採用している。記事のような静的コンテンツは事前に作成され、キャッシュされる。動的コンテンツはオンデマンドで読み込まれるマイクロサービスとなる。これは負荷に応じて容易にスケールできる。

ウォン氏が撮ったスクリーンショット(Twitter投稿)によれば、Cloudflare Pagesを使用すると、Gitコミットで簡単にサイトをデプロイできる。GitHubプラットフォームでソースコードをホストしている場合は、GitHubリポジトリと直接統合される。

コードをアップデートするたびに実行されるNode.jsビルドコマンドを書いておく。サイトのビルドが完了するとエンドユーザーがサイトにアクセスできるようになる。

Cloudflare Pagesは月500ビルドまで無料というフリーミアムモデルを採用する。ビルド数がこれを超えた場合は有料契約になるが、プレミア機能も利用できるようだ。

Cloudflareはトライアルのためデフォルトのサブドメイン、your-website-name.pages.devを提供する。実際の利用では独自のドメイン名を作り、Cloudflare上に作成したページを他のCloudflareサービスと統合することができる。

ウォン氏はCloudflare Pagesの付属ドキュメントを読むことができた(現在はアクセスできなくなっている)。つまりCloudflare Pagesはごく近いうちに一般公開されるとみていいだろう。

 

カテゴリー:ネットサービス
タグ:Cloudflare

画像クレジット:Michael Short/Bloomberg/ Getty Images

原文へ

(翻訳:滑川海彦@Facebook


Amazonベストセラー

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA