2015年第2四半期 - 2015年第3四半期

6月に Fastly 初のカスタマーサミット Fastly Altitude を開催しました。詳細については こちらのブログをご覧ください。同イベントのハイライトとすべての講演のビデオをアップしました。

イベントでは大小、新旧の既存のお客様に、追加して欲しい機能や、Fastly をどのように改善できるかについてお話しを伺いました。機能やプロダクトのリリースについてもっと頻繁に情報が欲しいとのご要望にお応えし、四半期ごとにその期間中にリリースした機能やプロダクトを網羅したリリースノートを発表することにしました。リリーススケジュールに合わせて、報告する時期を変更する場合があります。

2015年第2四半期から第3四半期にかけての更新情報は以下のとおりです。


トラフィックの増加

トラフィックは、2015年3月末の130万件のリクエストと380 Gbpsから、200万件のリクエストと900 Gbpsに、安定したペースで継続的に増加しました

過去6か月間にわたり、エンジニアリングチームはトラフィックの継続的な増加に合わせてすべてのシステムを拡張できるよう注力しました。


配信拠点 (POP) の拡張

ネットワークチームは、Fastly の全フリートを最新設計の POP にアップグレードしたほか、新しい POP の立ち上げに積極的に取り組み、以下のロケーションに POP を追加しました。

  • ストックホルム (CEO、Artur Bergman の出身地)

  • 大阪 (新しいオフィスも東京に開設)

  • シアトル (雨が多いこの街と『グレイズ・アナトミー』の大ファンです)

  • デンバー (ブロンコスチームを応援し、空港近くで不気味な輝きを放つ「悪魔の馬」を鑑賞)

  • メルボルン (メルボルンで開催される F1 レース観戦の口実に)

  • マイアミ (キューバサンドイッチに目がありません)

ネットワークを拡大する取り組みを継続し、近くサンパウロ、ケープタウン、パース、その他の戦略的なロケーションに POP を追加する予定です。詳細についてはネットワークマップをご覧ください。


機能リリース

前四半期の大部分は、プラットフォームの高速化と信頼性の向上に向け、地理的冗長性の変更などパフォーマンス強化とアーキテクチャのアップグレードに取り組みました。

また、複数の新機能も投入しました。以下は特に注目の機能です。

Edge Dictionary

Fastly は、エッジでより優れたコントロールを実現できる方法を常に模索しています。これを念頭に Edge Dictionary を先日発表しました。この機能を使用して Fastly のサービス内でディクショナリ (VCL によって参照されるキー/値のペア) を作成できます。これにより、Fastly ネットワーク内のすべてのサーバーからリアルタイムで決定を行うことができます。

詳細 : エッジでの決定を加速化する Edge Dictionary

クライアントのキープアライブ時間の増加

大きなファイルの配信やメディアストリーミングを強化するため、クライアントのキープアライブ値を増やしました。

以前は、クライアントへのキープアライブ接続を10秒後に切断していました。その後メディア業界のさまざまなお客様と話し合い、その値を10分に増やしました。これにより、チャンク化されたビデオや音楽のストリーミングが大幅に改善されます。

オリジンへのキープアライブ接続の改善

オリジンサーバーへのキープアライブ接続を維持するために使用するアルゴリズムを改善しました。これにより、キャッシュミス時のスループットが向上し、レイテンシが削減されました。サーバーのキープアライブ設定では非常に高い値を設定することができ、60分以上に設定しているお客様もいらっしゃいます。

Stale-While-Revalidate と Stale-If-Error

一時的な HTTP キャッシュディレクティブ Stale-While-Revalidate と Stale-If-Error の機能を追加しました。

Stale-While-Revalidate を使用すると、あるオブジェクトの有効期限 (TTL) が切れた場合でも、Fastly のキャッシュがバックグラウンドでフェッチする間、それが失効済みの状態で配信されるよう設定することができます。

Stale-If-Error は、Fastly の既存の serve-stale 機能とまったく同じように機能します。オリジンレスポンスでのキャッシュディレクティブを理解するために追加しました。

詳細 : 失効済みコンテンツの配信

ソフトパージ

ソフトパージは、ファイルをキャッシュから即時に削除しない点で、通常のパージと異なります。単にそのファイルの TTL をゼロに設定することで、serve-stale のメリットを得ながら、消去できます。

詳細 : ソフトパージ

失効済みコンテンツの配信に関する VCL の変数

さらにキャッシュの状態に応じてコンテンツを提供する上で優れた選択ができるように VCL のさまざまな変数を公開しています。

たとえば、以下のようなことを行えるようになりました。

sub vcl_error {
#FASTLY error

/* handle 503s */
if (obj.status >= 500 && obj.status < 600) {

   
/* deliver stale object if it is available */
   if (stale.exists) {
     return(deliver_stale);
   }

   
/* otherwise, return a synthetic */

   
/* include your HTML response here */
   synthetic {"<!DOCTYPE html><html>Please replace this text with the error page you would like to serve to clients if your origin is offline.</html>"};
   return(deliver);
}

}

変数については こちらのドキュメントの「Variables (変数)」のセクションをご覧ください。

償却解析によるヘルスチェック

以前は、すべてのキャッシュノードがそれぞれ独立してヘルスチェックリクエストを実行し、オリジンサーバーの可用性を検証していました。Fastly のネットワークの POP (およびキャッシュノード) の数が増えるに従い、お客様のオリジンサーバーに送信されるトラフィックの量も増加しました。

Fastly はこのしくみを変更し、現在はヘルスチェックの結果が POP 内のマシンの間で共有されるようになり、必要なオリジンリクエストの数が大幅に削減されました。

VCL の機能の中で、特に複数の Set-Cookie ヘッダーを挿入する、レイヤー化されたテクノロジースタックを使用するユーザーの間でリクエストが多いのは、複数の Cookie ヘッダーを処理する機能です。これは VCL の標準のシンタックスでは難しいため、いくつかの拡張機能を追加しました。

詳細 : レスポンス Cookie の処理

ヘッダーのサブフィールド

同様に、HTTP ヘッダーのサブフィールド (Accept-Encoding など) の取り扱いについて、正規表現を乱雑に並べ、あたかも猫がキーボードの上を歩いたような VCL にならないように、それらを解析して操作できる方法を教えて欲しいとのご要望がお客様からありました。

詳細 : 正規表現なしでヘッダー値を分離する方法

Accept-Language のサポート

複数の言語に対応できることは、多くの企業にとって非常に重要です。GeoIp を使用して国際化とテキストローカリゼーションを管理しようとすると、たとえば日本に旅行中のお客様に突然漢字のページが表示されます。

そこで Accept-Language ヘッダーの使用をお勧めします。Fastly ではそれを合理的に行うためのツールを用意しています。

詳細 : Accept-Language ヘッダーに関する VCL の機能

各種 VMOD のバックポート (std、boltsort、正規化された日付)

Varnish Module (VMOD) は、コア Varnish の非常に便利な拡張機能です。Fastly は以下を含む各種 VMOD を配布済みの Varnish にバックポートしました。

  • std : 便利な各種の関数があります

  • boltsort : クエリパラメーターをソートできます

  • 日付と時間 : 各種日時関連の変数と関数があります

その他の VMOD の詳細については support@fastly.com までお問い合わせください。

バックエンド変数

Fastly は、使用されているバックエンドに関する各種プロパティ (具体的には名前、IP、ポート) を公開しています。これはデバッグの際に役立ちます。

PCI

Fastly の CDN は、PCI DSS レベル1サービスプロバイダーとして認定されています。PCI の要件を完全に満たす方法によるコンテンツのキャッシュ、および Fastly の e コマースパッケージに含まれるその他のエンタープライズ向けの主要サービスに関心がある方は sales-ecommerce@fastly.com までお問い合わせください。

Streaming Miss(ストリーミングミス)

キャッシュ可能なオブジェクトのファイルサイズの上限を5 GBに増やし、ストリーミングミス機能を発表しました。これにより、キャッシュミスが発生した際に、オブジェクト全体が読み込まれてキャッシュに書き込まれるまで待つのではなく、オリジンからのレスポンスをクライアントに直接ストリーミングすることができます。技術的にはストリーミングミスは昨年の秋にリリースされましたが、すべてのお客様が利用できる Fastly の機能のリマインダーとしてこのリリースノートに含めました。

詳細 : ストリーミングミス機能とファイルサイズの上限拡大で大きなファイルの配信を改善

docs.fastly.com の刷新

http://docs.fastly.com を完全にオーバーホールし、さらに使いやすくなりました。皆さんのご意見を support@fastly.com までお寄せください。日々言葉の採掘に精を出しているドキュメントチームにとって大変参考になります。


バグ修正

  • 継続的なパフォーマンスの改善、メモリの削減、エッジケースの修正

  • 世界中のシステム管理者の1日を台無しにする CVE の脅威が出現するたびに OpenSSL をアップグレード

  • 「100 Continue」レスポンスと Expect ヘッダーに関する厄介で奇妙な現象を修正


コミュニティの最新情報

イベント

Fastly は過去数か月の間に数多くのカンファレンスに参加し、スポンサーを務めました。2015年6月には Google Cloud Platform のパートナーと共に、13日間にわたってニューヨーク、サンフランシスコ、東京、ロンドン、アムステルダムで1日限りのイベントを開催し、講演を行いました。悲しいことに、このイベントに関わったチームは末期の時差ぼけにより全員ダウンしてしまいましたが、チームの功績をたたえ新しいオフィスに素敵な記念碑を建てました。

Fastly が参加した会議や今後参加予定の会議についてはイベントページをご覧ください。

Fastly が支援するオープンソースプロジェクト

Fastly では、自社のサービスを無償提供することで オープンソースプロジェクト をサポートしています。以下は Fastly がサービスの無償提供を開始したプロジェクトの例です。

Fastly のサービスを利用できるオープンソースプロジェクトがある場合は community@fastly.com までご連絡ください。また、コミュニティフォーラムにアクセスして、Fastly のエンジニアや Fastly の他のお客様に質問することもできます。