Advocateをやってます。一方で、HonoというCloudflareのみならずDenoやBun、Fastly等で動くWebフレームワークを開発してます。Workersとは?」を簡単に紹介しておきます。WorkersとはCloudflareのエッジで動くサーバーレス環境です。基本的にJavaScript/TypeScriptでアプリケーションを書きます。Chromeに搭載されているものです。感覚としては、Chromeのタブが開く感じで、Workers上のアプリが立ち上がります。JavaScriptと言ってもNode.jsではなく、ブラウザでも動く標準的なAPIを使います。開発、デプロイにはWranglerというCLIを使います。...というのがダイジェストです。Workersの他にPagesというのがありまして、一般的にはNext.jsやAstroなどのフレームワークを用いて「フルスタック」なアプリケーションを作るプラットフォームです。以前はWorkersとPagesは明確に分かれていたのですが、それが統合されつつあります。Pagesはもともと静的なページをホストするのが主なユースケースだったのが、「SSR」というキーワードから分かる通り、ダイナミックな処理が増えてきました。そのPagesのダイナミック処理はWorkersで動いているので、その境界線が曖昧になるんですね。実際、ダッシュボードではWorkersもPagesも同じセクションになりました。Pagesも含むケースが多いです。create-cloudflare-cliC3というのができました。CLI」の頭文字をとってC3です。Cloudflareには以前から「D1」というSQLデータベース、「R2」というストレージを持っていて、今度は「C3」です。Workers/Pagesのアプリケーションを簡単に作れるCLIです。World」のベーシックなものから、フレームワークを使ったものまで対応します。Honoも入っています。使いたい方は以下を実行してみてください。xxx」を実行していて、つまり「メタCLI」になっている点です。Honoでは「create-hono」というパッケージがあって、以下のコマンドで雛形を作成することができます。それらをラップしつつ、Cloudflareならではの機能が入ります。面白いのは、プロジェクトを作成したあとに「デプロイしますか?」と聞かれることで、「Y」を選ぶといつの間にかデプロイできてしまうという素晴らしいCLIになっています。使いやすく、ダウンロード数も伸びています(ありがたいことにcreate-honoも伸びてます!)。Workersを触った人が一様に言うのが「デプロイが速い」です。Worldのアプリをローカルでつくり、デプロイまでする様子です。早送りなしの実速度です。この方法が一番最短なんですが「30秒!!」でできてしまいます。30秒でアプリケーションの作成からデプロイまでできます。これはひいきなしにすごいと思います。WorkersをWebのUIで試して、デプロイまでできちゃうPlaygroundがあります。これが素晴らしく、ライブラリが使えないという制約がありますが、簡単に試すには十分です。実は「workers.new」というアドレスにアクセスするだけでそのPlaygroundが開きます。オシャレでしょ?それもそのはずこれは僕が考案しました。AIめっちゃ頑張ってるAIめっちゃ頑張っています。WorkersのアプリケーションからAIの推論ができてしまうという代物。7Bなどのモデルが使えます。興味深いのは、このAIを実行するために各エッジにGPUを載せているということです。日本を含むデータセンターに配置されて、その数は増えていく予定です。AIを使うのは非常に簡単です。Bindings(CloudflareのKV、R2、D1などのミドルウェア、もしくはWorkersをつなぐ概念)の一種として使えます。@cloudflare/aiというパッケージもあります。AIアプリを作ってみましょう。いっても3ステップです。C3で作ったHonoのプロジェクトに@cloudflare/aiを追加します。@cloudflare/ai次に、Wranglerの設定ファイルwrangler.tomlにBindingsの指定をします。"AI"あとはコードを書くだけ。app他にWorkersから操作できる「Vectorize」というベクターデータベースもあります。バックエンドのストレージにR2とD1が指定できるので、Cloudflareならではのスタックを作れます。Gatewayこれも面白い製品です。Bedrock、HuggingFaceなど、外部のAIプロバイダーへのアクセスのためのゲートウェイです。これを経由すると、それらのプロバイダーへのAPIアクセスに、リアルタイムログやレスポンスのキャッシュ、レートリミットなどを追加することができます。Gatewayのものを指定してプロキシさせればいいです。Gatewayのキャッシュやレートリミットは活きることでしょう。Workersを使う企業も増えてきています。Workersを導入しやすいのはオリジンありきのCDNの前段に置く、というユースケースです。ヘッダを書き換えたり、パスによってオリジンを振り分けたり、署名付きURLを発行したりといったものが考えられます。Workersプラットフォームの進化とともにオリジン自体をエッジに置くところもでてきました。Workersに丸ごと載せ替えたというものです。以下のスライドが詳しいです。https://speakerdeck.com/chimame/graphql-server-on-edgehttps://speakerdeck.com/chimame/graphql-server-on-edge-after-thatこれによると、移行したメリットとしてはコンテナに比べてデプロイの時間が8分前後から1分前後に短縮コールドスタート、最大5秒から200ミリ秒程度まで高速化サーバー費の低下があったとのことです。デメリットとしてNode.jsが動かないので、必要な場合は別途サーバーを用意しなくてはいけないログを取るのが大変などがあることです。HOTEL」も事例として語られています。他にも事例があるのですが、僕がまだ把握してきれてないものもたくさんあると思います。見つけて「こんなこともできるよ」というのを発信していきたです。getPlatformProxy()具体的な実装の話を少し。Workers/Pagesのアプリケーションを作るにあたって、開発環境でBindingsを再現するのは課題です。フレームワークを使うとそのフレームワークの開発サーバーを使うことになりますが、そこにBindingsを注入するのがなかなか難しいです。これをCloudflareの中の人たちは問題視していて、向上しようとしています。その一つがWranglerのgetPlatformProxy()という最近できたばかりのAPIです。これを使うとこれまで、Wranglerで立ち上げたアプリでしか参照できなかったBindingsですが、Node.jsからアクセス可能になります。AIが動きます(と言いつつ、今バグがあるので動かないのですが、すぐに修正されて動きます!)。World'})console.log(answer)proxy.dispose()すると何が嬉しいかというと、各フレームワークの開発サーバーで使えば、Node.jsベースの開発サーバーでもBindingsにアクセスできるようになります。昨今フレームワークで多く使われている、開発ツールの「Vite」側のアプローチもあります。APIというのができたのです。この2つはなかなかでかい出来事で、開発者体験を一気に向上させることになります。Relationsチームです。日本ドメスティックなものではなく、マネージャーのRickyがニューヨーク、他のメンツはリスボン、アムステルダム、サンフランシスコ、オースティン、メルボルンと多岐に渡ります。今はメンバーが10人になったのですが、以下の画像はちょっと前のものです。そのチームに去年の年末、ふたり「Educator」という新設されたロールのメンバーが入りました。彼らの専門部やはずばりAIで、やはりそれだけAIに力を入れているし、入った途端、精力的に活動していて、成果がでるのが楽しみです。DevRelチームは去年、僕が4月に入社する1ヶ月前にRickyが入ってチーム体制が整いました。僕にとっては初めての海外出張になって、Rickyを除くメンバーは会ったことがないのでドキドキですが楽しみです。このミーティングを期に我がチームの勢いも加速するでしょう。イベント最後に僕がやっているイベントについて。Workersに特化したイベントをやってます。東京ではこれまで2回やって、上記したchimameさんのトークとか話してもらいました。それぞれ100人弱の参加者で、大盛況です。今後も続けていきます。参加者募集中なので、来たいという方は早めに以下のページから申し込んでください。Workersについてざっくばらんに書いてみました。Workers使いの人たちからも有益な情報を得られるでしょう。Workersを使っていて、事例を持っているなら、教えてほしいです。yusukebe.com。