2021-06-09

何故 Fastly を使うのか

数ある CDN のなかでも Fastly は圧倒的に優れた特性を持つものだと思うので、障害にかこつけてその優れた点を紹介していく。

キャッシュが消えるのがはやい

CDN とは世界各地にあるキャッシュサーバーコンテンツキャッシュして配信してもらうことで、オリジンサーバーの負荷を軽減したりユーザーへの配信速度を上げたりするリバースプロキシホスティングサービスだが、 Fastly の最大の特徴としてはそのキャッシュが消えるのが速い。普通CDN が数十秒〜数分とかかるのにたいして 0.2 秒で全部消えることが保証されているし、キャッシュにたいしてキーをつけておけば(HTTP ヘッダーに Surrogate-Key って入れるだけ)特定キーがついているキャッシュだけ 0.2 秒以内に消したりということができる。

これにより、 CDN による配信高速化恩恵を受けながら、コンテンツリアルタイム更新していくことができる。 next.js + vercel などはこのあたりをフロントエンドから CDN まで一気通貫提供することでリアルタイム風にコンテンツ更新できるように見せかけているが、 Fastly なら本当になにもかもリアルタイムで出来ることが保証されるので、難しいことを考えなくてもよい。

設定の反映が速い

CDN の設定の反映の遅さというのは Cloudfront とか使っていれば感じることだと思うが、 Fastly なら 5 秒ぐらいで反映される。設定を変更しながらいろいろ検証しているときにこれが地味に嬉しい。

ただし上記特性の代償と言えるのかもしれないが(そうではないのかもしれないけど)、 Fastly は「デカめの配信拠点比較的少数配置する」という構成になっているため、ディザスタリカバリなどの面では不安がある(今回の障害マジで部落ちたのでこれとは関係ない問題だろう)。

Webからの設定が豊富+ツボを抑えている

Web 設定画面からいじれる設定項目が多く、にもかかわらずユーザーに優しく使いやすい。例えばリクエストヘッダーを Fastly 側で書き換えてもらう機能があるのだが、それとは別に Host ヘッダーのオーバーライドの設定は(えてしてよく使うので)別の画面に切り出されていたりする。

いざとなれば Varnish の設定ファイル(VCL)をアップロードできる

大抵のユーザーWeb からの設定画面でできることで満足すると思うが、高度な制御をしたい場合、 Varnish の設定ファイルスニペットアップロードしたり、あるいは設定全体を書いてアップロードする、といったことができる。例えば JWT のデコードVCL でやってしまって、同じ URI にたいして認証済みユーザーとそうじゃない人でキャッシュのだしわけなんてことが Fastly 上でできるようになる。

ただし VCL でいろいろな制御を実現しようと思うと、 VCL表現力の低さにより地獄を見ることになるので、得られるベネフィット相談しながらこのあたりはやっていくことになる。

  • CloufFlareしか知らんかったから参考になった。 やっぱWebはWeb屋だなあ。(HP作成と勘違いされる表現だけど)

  • 日本でも東大卒とかこの会社に入社したりする。IT後進国日本のIT企業で働いている自称エンジニアじゃ面接で落ちる。

  • 0.2秒で消えるって早すぎないの?

    • わからんけど、「キャッシュ消して」っていうコマンド発出してから、 他社は数分とか数十分待たされることがふつーだけど、Fastlyはそんなに早いよってことだと思う

  • このトラバの少なさと薄さからして、益田にはIT関連企業勤務している人はほぼいないといっていいのに、 なぜか以前から「リモートワーク」をしている設定の人が多い。

  • すごい。大抵のことは「それFastlyでできるよ」って感じ。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん