2022/03/31

Fastly User Meetup #4に登壇したこととレポート

先日03/29(火)に行われた「Fastly User Meetup #4」で僕と いわくら君 の2人がトークしてきました。 発表者5人いる中でトラベルブックが2人です。司会の方曰く「トラベルブック大活躍」です。 さて、今回のミートアップ、僕ら以外のトークも含めレポートしてみます。

Fastly User Meetup #4

Fastly User Meetup #4は3/29(火)19時から21時までオンラインで開催されました。 「User Meetup」とあるように今回はFastlyオフィシャルのものではなく、ユーザーコミュニティによるミートアップです。 元Fastly、現HashiCorpの @jrsyoさん さんが連絡役になってくれました。

登壇するキッカケがありまして、トラベルブックを担当してくれてるFastlyの中の人から「登壇してしてもらえないか?」との嬉しい連絡を受けました。そこで、Fastly導入をメインで担当していたいわくら君がトークすることになりました。 それに加えて、僕は「Compute@Edgeの話もしたい」ということで、こっそり一般枠からトークを応募したら、追加で話させてもらうことになりました。これでトラベルブックから2人参戦となったわけです。

他に、Fastlyの福田さん、日経の杉本さん( github/ysugimoto )、トリコの河野さん( github/konojunya )の5人でのトークとなりました。

  • Fastly Intro」Fastly 福田さん
  • トラベルブックの Fastly 導入事例」トラベルブック いわくら君
  • Getting robust VCL with falco」日本経済新聞社 杉本さん
  • FUJIMI での Fastly 活用事例集」トリコ株式会社 河野さん
  • Code over configuration ~ Compute@Edge は VCL に置き換わるのか」トラベルブック わだ

ではひとつひとつ見ていきましょう。

「Fastly Intro」Fastly 福田さん

福田さんはFastlyの中の人ですが、今回は「ユーザー側として」トークをしていました。 昨今のFastly事情を教えてもらいました。

個人的に、胸アツだったのが「Compute@EdgeでGolangをサポートする!」という話でした。 よく考えたら、そもそもCompute@EdgeはWasmベースなので、Wasmを吐けるGolang/TinyGoなら不可能じゃなかったのですが、公式にサポートするのはアツいです。Compute@EdgeがGolangを含めて様々な言語をサポートすることに尽力している、という記事は2020年と少々古いですが、以下の記事に書いてありました。

「トラベルブックの Fastly 導入事例」トラベルブック いわくら君

トラベルブックでは去年の11月にFastlyを導入しました。それにまつわる事柄をいわくら君が発表しました。 概要についてはスライドを見てもらえればいいのですが、個人的にはすごく丁寧で分かりやすくてよかったです。

トークの中で「Fastlyのサポートが神」と言っていたのですが、まさにその通りです。さらに、Twitterのリアクションでも同じようにFastlyのサポートが優れていると感じている方が多かったです。ありがたや。

「Getting robust VCL with falco」日本経済新聞社 杉本さん

Fastlyについて調べていると必ず遭遇するのが日経さんの事例。 「バリバリ使いこなしている」のは分かっていましたが、「これほどまでとは!」。VCLの構成がヤバいことになっていました。

  • 44個のサブルーチン
  • 8,844行
  • 124のバックエンド

VCLはNodeならばHandlebarsを使ってテンプレートエンジンで管理されているとのことで、そういうTipsも参考になりました(トリコさんのFUJIMIの場合もそうでしたね)。で、こうして吐き出されたVCLをCI/CDのラインで扱うわけですが、例えばVCLのエラーはFastlyにあげてみないと分からないです。Fastly Consoleでいちいち確認するのは大変です。そこでその前の段階でLintしてしまうってのが今回紹介されていたfalcoというソフトウェアの目的です。

falcoはVCLを解釈するASTも含めたパーサーであり、Linterです。CLIなので、Gitのイベントをフックに実行、なんてことができます。VCLを書いていると、行末のセミコロンを忘れたりという単純なミスさえもスルーしてしまいがちなので、これは嬉しいです。

falcoは以下OSSになっています。これは使いたい!

「FUJIMI での Fastly 活用事例集」トリコ株式会社 河野さん

トリコさん、FUJIMIでの活用事例を河野さんがトークしていました。 個人的にはやはり、Compute@Edgeの活用に注目しました。 もうすでに、プロダクションと開発の環境で取り入れてるとのことで、トラベルブックもCompute@Edgeを積極的に使っていきたいと思わせるものでした。

まずは、とあるホストでサーブしているページからと他のあるホストへのリダイレクトをするために使っていました。資料に掲載されていたコードをみたところ、URL文字列の処理が入っているので、そういう点はVCLでやるより扱いやすいですね。

次に開発時の「Preview環境」をCompute@Edgeで実現していました。 各Pull Requestに応じてサーバーが立ち上がって、Preview用のURLが発行されて、それにFastlyを使っているというものでした。 PMに見てもらいたければ、URLをその人に渡せばすぐに確認できるというわけです。 これ、弊社でも「まさに」やりたかったことだったので、積極的に真似したいです!

「Code over configuration ~ Compute@Edge は VCL に置き換わるのか」トラベルブック わだ

タイトル通り、従来のVCLで行ってきたことをCompute@Edgeでできるのかを以下の3つの側面から検証しました。

  1. 機能
  2. 開発
  3. 性能

スライドが106枚あって、めちゃくちゃ駆け足になっちゃいましてすいません。 簡単にまとめると、上記を検証した結果、こちらのようになりました。

  1. 機能 => ○
  2. 開発 => ◎
  3. 性能 => △

Compute@EdgeはFastly CLIがあったりと、開発体験が優れているのがでかいです。

まだプロダクションで使うのは早いかも、とは思っていましたが、上記FUJIMIでの事例を見ると「うちでもやってみよう」となりました。開発環境で使うのもいいですね。

まとめ

以上、Fastly User Meetup #4の発表を振り返ってみました。 日経さんのfalcoとFUJIMIの事例がとても面白くて、なんだか元気がでました。

今回、いわくら君と僕の2人が出ましたが、会社的にもこういう場にはどんどん出ていきたいです。

エンジニア募集中

さて、トラベルブックではエンジニアを募集しています。 興味を持った方は以下からご応募をお願いします!