Cloudflare Workersを使っていない須藤です。著者の1人であるちまめさんにCloudflare Workers 実践ガイド 〜エッジで実現するWebアプリケーションの設計・実装・運用〜をもらったのでCloudflare Workersを勉強してみました!
本書の構成
最初の100ページくらい(4章まで)がCloudflare Workersの説明で、その次の200ページくらい(!)(5章のみ)が具体的な使い方1で、その次の100ページくらい(6章のみ)が具体的な使い方2で、最後の40ページくらいが実際に運用するときの役立ち情報という感じでした。
Cloudflare Workersの説明
最初の説明のところでは、他の類似の仕組みとのトレードオフもあわせて示してくれているので、私のようにCloudflare Workersに詳しくないけど、他の仕組みはまぁまぁ知っているという人がCloudflare Workersが向いているところ・向いていないところのポイントを掴みやすいです。Cloudflare Workers以外のCloudflareが提供する各種サービスの概要もここでカバーされています。自分たちのサービスでCloudflare Workersおよび周辺サービスは使えるのか?使えないのか?ということが気になっている人はこのあたりを読んで判断材料を集めるとよさそうです。
関係ないのですが、Cloudflare Durable Objectsを使うとどうして安全なカウンターを実現できるのかわかりませんでした。本書にCloudflare Durable Objectsを使ったカウンターの実装例として小さなコードが載っているのですが、これがどうやって直列処理されるのか(書き込んでいるプロセスは対象のオブジェクトのロック(?)をどのタイミングで開放するの?とか単純に直列処理したら遅くない?とかエッジコンピューティングで直列処理の待ちって現実的なの?とか)がピンときませんでした。本書では各種サービスのドキュメントのリンクが載っているので、そういう細かい話は本書の範囲外ということだと思います。周辺サービスの細かい話が気になる人は本書よりも公式ドキュメントのほうが向いていそうです。
具体的な使い方1
最初の説明のあとは、1章で200ページくらいというそれだけで1冊の本にしてもよさそうな分量で具体的な使い方を1つ紹介しています。200ページといっても、実際に動くコードも多く含まれているので、地の文は100-150ページ分くらいかもしれません。
私は直近でCloudflare Workersを使う予定はなかったのでコードは斜め読みでしたが、実際に使ってみようという人は実際に手を動かしながら読み進めると理解が深まりそうです。
実際に作る機能はちょっとしたブログアプリケーションなのですが、これは各種機能を説明するためですよね。。。?私のエッジコンピューティングのイメージだと、こんなにたくさんのことはエッジコンピューティングではやらずに、もっと軽い(?)処理を任せるイメージでした。
具体的な使い方2
その後に、100ページくらいの分量でもう1つ具体的な使い方を紹介しています。こちらもちょっとしたブログアプリケーションやチャットアプリケーションを作ったりするのですが、それ以外にも画像の最適化配信など私のイメージのエッジコンピューティングでやりそうな処理もあります。
具体的な使い方がいくつもあるので、Cloudflare Workersでそもそもできるの?という観点の勘所を掴めそうです。そのうえで、どこまでやるかを判断することになるでしょう。
運用関連情報
最後に運用関連の情報が提供されています。
私はCloudflare Workersをすぐに使う予定がないので、こういう観点が必要なんだなぁと眺めるくらいでしたが、実際に使う人には役に立つ点がありそうです。
まとめ
ちまめさんにCloudflare Workers 実践ガイド 〜エッジで実現するWebアプリケーションの設計・実装・運用〜をもらったのでCloudflare Workersを勉強しました!実際にみなさんがどこまでCloudflare Workersで実現しているのかはわかっていませんが、私は「ここまでやれちゃうの!?」(やり過ぎじゃない。。。?)という気持ちになりました。Cloudflare Workersを検討している人はどこまでやるの?というところも含めて判断材料をまとめて収集できる本だと思うので、そういう人は読んでみるとよさそうです。