Slide 1

Slide 1 text

Cloudflare Workers Plugin for PipeCD @uncle__ko

Slide 2

Slide 2 text

Self-Introduction

Slide 3

Slide 3 text

Self-Introduction 大内 康平 Developer Productivity室 室長 CyberAgent Next Expert for Developer Productivity AdTechからFinTechまでいろいろな分野の開発に従事 プライベートでは1児の父 X: @uncle__ko GitHub: @ouchi2501

Slide 4

Slide 4 text

What is Cloudflare Workers?

Slide 5

Slide 5 text

What is Cloudflare Workers? Cloudflare Workersは、Cloudflare のエッジで動くサーバーレスの JavaScript 実行環 境 主な特徴: ● エッジコンピューティング: Cloudflareのグローバルネットワーク上で動作し、遅延を 削減。 ● サーバーレス: インフラ管理不要で手軽に利用可能。 ● スケーラビリティ: トラフィックの増減に自動対応。

Slide 6

Slide 6 text

What is Cloudflare Workers? ● V8 isolate architecture ○ 開始時にインスタンスに runtimeがロードされるのを待つ遅延がない ○ isolateはすでににruntimeを備えており、必要なのは呼び出し時に Codeをロードすることだけ ○ リクエスト時のcold startは存在しない

Slide 7

Slide 7 text

Deploying PipeCD Plugins with Wrangler

Slide 8

Slide 8 text

Deploying PipeCD Plugins with Wrangler Wrangler Cloudflare Workersを管理することができるCLI ※ちなみにCDNとかdomainの管理はflarectl https://developers.cloudflare.com/workers/wrangler/ https://github.com/cloudflare/workers-sdk/tree/main/packages/wrangler

Slide 9

Slide 9 text

Deploying PipeCD Plugins with Wrangler 欲しいコマンドはだいたいあると思われる ● init - Create a new project from a variety of web frameworks and templates. ● deploy - Deploy your Worker to Cloudflare. ● delete - Delete your Worker from Cloudflare. ● rollback - Rollback to a recent deployment. https://developers.cloudflare.com/workers/wrangler/commands/

Slide 10

Slide 10 text

Deploying PipeCD Plugins with Wrangler Configuration fileもあり、現状はJSONC or TOMLがサポートされている

Slide 11

Slide 11 text

Deploying PipeCD Plugins with Wrangler Configuration fileの形式をどうサポートするかは悩みどころ 個人的にはv3.91.0以上がjsoncとtoml、それ以下はtomlしかサポートされてないので、 最初はtomlだけサポートしておけば良い気もする https://developers.cloudflare.com/workers/wrangler/configuration/

Slide 12

Slide 12 text

Deploying PipeCD Plugins with Wrangler 最初は下記stageさえ用意できれば問題ない気がしてる ● WRANGER_DRY_RUN ○ wrangler deploy –dry-run ● WRANGER_DEPLOY ○ wrangler deploy ● WRANGER_ROLLBACK ○ wrangler rollback

Slide 13

Slide 13 text

Deploying PipeCD Plugins with Wrangler ※これは勝手な想像です こんなapp.pipecd.configになるイメージをしてます apiVersion: pipecd.dev/v1beta1 kind: WranglerApplication spec: name: wrangler input: config: wrangler.toml pipeline: stages: - name: WRANGER_DRY_RUN - name: WRANGER_DEPLOY

Slide 14

Slide 14 text

Summary

Slide 15

Slide 15 text

Summary ● plugin化たのしみ ● plugin作れるようになったら本スライドで話したwrangler用のplugin作ろうかなって 思ってる ● Cloudflare Workersはこれから需要も増えていくだろうし、対応すれば使ってくれる 人もいるかなって思ったりしてる ● Hono界隈の人にも認知されたら熱そう