天然パーマです。

Fastlyを検討する

Fastly の導入を検討している。検討しているだけで、導入していないので、参考にならないかもしれないし、間違っているかもしれないが、メモ。

動機

Varnish を使っていて、最初は Varnish の冗長化をしたい!だった。

で、つよつよな人達に聞いたら「Fastly 使っとけ」だった。

まあそうなるよねえ。で、Fastly!となった。

ちなみに、Varnish を使ってる理由としては、以前も

で触れたとおり、

なるべく手間手前で、なるべく少ない箇所でキャッシュしたいからである。

Fastly でできること・したいこと

Fastly でできることはたくさんあるので、その中でもしたいことを列挙。リバースプロキシ、ロードバランサの機能も含むのが便利。特に、パスごとに制御できる。なので、とあるパスはキャッシュさせずに返したりと、既存サービスへの導入がしやすい!

  • CDN
    • 動的なページは常にキャッシュを MISS にしておけばよい
    • キャッシュしなくてもパフォーマンスは上がる
  • リバースプロキシ
    • パスごとに挙動の設定ができる
  • ロードバランサー
  • 証明書の発行、更新
  • WAF
  • DDoS、ボット対策

なお、今回は画像などのアセットファイルのキャッシュは想定していない。そういったものはすでに他の CDN にのせている。なので、対象とするのは、Web アプリが出力する HTML が主になる。

Fastly の良い点

次に Fastly の良い点。これまで Varnish を扱っていたので、入りやすいし、細かい設定ができる。その上、Terraform などのプロビジョニングツールも使える。

  • 速い
  • Varnish ベース
    • VLC
  • Terraform
  • while-stale-revalidate 戦略も使える
  • Purge が速い
  • 安い
  • ロールバックが早い

思ってたより安い。1TB の転送量で CDN 機能のみなら、$120 という概算が出た。

他サービスとの比較

上記のいい点をもってして、他サービスとの比較をする。CloudFront は Invalidation、キャッシュのページが高くて、ミスって、数十万を溶かした事例を知っている。

  • CloudFront
    • Invalidation が高い
  • Akamai
    • 馴染みがない
  • Cloudflare
    • カジュアル過ぎる
  • Vercel
    • 特化しすぎ

リスク

一番前段に置くので、サービス全体に影響する。全体で共有しないといけない。

また、障害点が増える。過去の事例もある。が、ここに関しては、神経質にならなくていいと思う。

導入する場合

サポートに連絡して、正確なコストを出して、検証して、計画を立てていく。導入しなくてもとにかく今から問い合わせをする!

参考資料

以下、参考資料をずらっと。日本語でのドキュメントなら、これ全部読んで満足だろうという具合である。

以上

つまり、

Fastly は Varnishn の代わりになるどころか、だいぶ良い。アーキテクチャに影響するので、認識合わせてこ。

ということでした。「導入してみた編」は導入したら書く!