トラフィックが増加し続けています。2015年8月末には200万件のリクエストおよび900 Gbpsでしたが、本日の時点では250万件および1.3 Tbpsです。新規のお客様も既存のお客様も Fastly を介して利用するトラフィックが増加しています。
Fastly の英雄的なデータセンターチームが、官僚主義や物流との戦い、さらには記憶に残る本物の水牛との戦いも制した末、ブラジル、サンパウロの POP が最終的に稼働しました (話せば長くなりますが、すべての裁判が終わるまで話すことはできません)。
また、オーストラリアに新たに2か所の POP を追加しました。1か所目は、親しみを込めてブリッシーまたはブリベガスと呼ばれるブリスベンです。2か所目は、世界一孤立した都市および世界一晴れている都市という2つの栄誉を持つ、西オーストラリア州都パースです (ただしホノルルも世界一孤立した都市であると主張しています)。また、一代で大成した億万長者の人口あたりの数が世界で最も多い都市でもあります。
ご存知だったでしょうか。
通常のパフォーマンス改善、長期プロジェクト (近日公開)、および年末に向けた準備に加え、いくつかの新機能も発表しました。
Varnish アップストリームの std.time() と本質的に同等の VCL 関数を追加しました。文字列を時刻に変換するものです。API は次のとおりです。
TIME time(STRING s, TIME fallback)
変換に失敗すると、fallback が返されます。
ISO 8601を除き、アップストリームの std.time() でサポートされるすべての形式がサポートされます。
"Sun, 06 Nov 1994 08:49:37 GMT"
"Sunday, 06-Nov-94 08:49:37 GMT"
"Sun Nov 6 08:49:37 1994"
"784111777.00"
"784111777"
たとえば、次のように指定できます。
if (std.time(resp.http.last-modified,now) < now - 1w) {
….
} >
詳細については、こちらのドキュメントを参照してください。
この VCL 関数は名前のとおりに機能します。つまり、整数 (エポック秒) を VCL TIME オブジェクトに変換します。API は次のとおりです。
TIME integer2time(INT time)
たとえば、次のように指定できます。
if (time.is_after(now,std.integer2time(std.atoi("218448601")))){
…
}
詳細については、こちらのドキュメントを参照してください。
Fastly では、しばらくの間さまざまなランダム関数を VCL で使用してきましたが、そのような関数の1つを「シード」対応にし、ユーザーが乱数性のレベルをコントロールできるようになりました。これは randombool と同じですが、乱数生成器のシードに使用する追加パラメーターを指定できる点が異なります。
これは安全な乱数を使用しないことに注意してください。また、暗号の目的では使用しないでください。
API は次のとおりです。
BOOL randombool_seeded(INT numerator, INT denominator, INT seed)
たとえば、次のように指定できます。
set req.http.My-HMAC = digest.hmac_sha256("sekrit",req.http.X-Token);
set req.http.HMAC-Chopped = regsub(req.http.my-hmac,"^(..........).*$","\1");
if (randombool_seeded(5,100,std.strtol(req.http.hmac-chopped,16))) {
set req.http.X-Allowed = "true";
} else {
set req.http.X-Allowed = "false";
}
詳細については、こちらのドキュメントを参照してください。
解析に正規表現を使用しなくてもすむように、URL の dirname (ディレクトリ) と basename (ファイル名) を取得できる機能を実装しました。
たとえば、http://www.example.com/some/path/index.html という URL の場合、次のように関数を適用できます。
set req.http.X-Basename = req.url.basename;# X-Basename is now index.html
set bereq.http.X-Dirname = bereq.url.dirname;# X-Dirname is now /some/path
詳細については、こちらのドキュメントを参照してください。
Fastly は、前述したように正規表現に基づいた解析を行わずにすむように取り組んでいますが、正規表現がどれほど役立つかも理解しています。そこで、次のように正規表現の一致を取得するための機能を追加しました。
set req.http.Foo = “abbbccccc”;
if (req.http.Foo ~ "^(a+)(b+)(c+)") {
set resp.http.match0 = re.group.1;# now equals ‘a’
set resp.http.match1 = re.group.2;# now equals ‘bbb’
set resp.http.match2 = re.group.3;# now equals ‘cccccc’
}
詳細については、こちらのドキュメントを参照してください。
Drupal は、世界の上位100,000の Web サイトの12.2% (whitehouse.gov、Weather.com、Pinterest、NBCUniversal、Tesla、Pfizer、MLS、NBA、グラミー賞、エミー賞、ハーバード大学など) でコンテンツ管理に使用されています。Fastly は、Drupal 8リリースに先立って、Drupal Association とパートナーシップを結び、Drupal がページロード回数を減らして、ダウンロードを配信できるように支援します (この移行について詳しくは、ブログをご覧ください)。Fastly の Drupal 7プラグインを使用すると、Fastly と Drupal サイトを簡単に統合できます。Fastly チームは Drupal 8のキャッシュと Fastly のサロゲートキーの全面的な互換性の確保に取り組んでいるところです。詳細については、2016年第1四半期をお待ちください。
Fastly の Timed Metadata Injection (ID3タグ) 機能によって、ストリームに関するカスタムメタデータを指定の時間インスタンスでビデオセグメントに埋め込むための柔軟性が高い動的な方法が提供されます。このようなメタデータインジェクションは、ビデオプレーヤーへのコマーシャル開始の信号、プレーヤーのコントロールの無効化、パフォーマンスやエンゲージメントの測定の合図、現在再生中の内容に関するコンテキストメタデータの提供など、さまざまなシナリオで役立ちます。現在、この機能が使用できるのは HLS ストリーミング形式ですが、この形式が多様なプラットフォームとデバイスに対するビデオのストリーミングで採用されているためです。
Video-on-Demand、Streaming Media または DASH にご興味いただいた場合は、japan@fastly.com までお問い合わせください。
Fastly では、お客様がサービスのオンボーディング、実装およびメンテナンスをできる限り容易にできるように取り組んでいます。必要な場合には、お客様のお手伝いができるよう Fastly カスタマーエンジニアリングチームが待機しています。Fastly が成長し、お客様のニーズが多様化するにつれ、適切なプランを用意したいと考えています。
どのお客様にも自動的に無料の標準サポートプランが適用されます。これは、ヘルプ、ドキュメント、コミュニティフォーラムおよびオンラインサポートシステムへのアクセスを提供する Fastly サービスに含まれます。さらに複雑な要件がある場合には、優先ルーティングと追加の対象範囲に対応するゴールドサポートプランにアップグレードできるようになりました。また、プラチナサポートプランでは、24時間365 日の電話サポート、応答時間の短縮、専用アカウント管理など、最高レベルのサポートが提供されます。
セットアップおよび統合での技術的な専門知識や、Fastly、Varnish、VCL またはサイト最適化に関する実習またはコンサルテーションサービスを必要とするお客様のためには、ニーズに合ったプロフェッショナルサービスパッケージを用意しています。
ご興味をお持ちいただいた場合は、japan@fastly.com までお問い合わせください。
オリジンピアリング (OP) は、オリジンプルトラフィックを送信から遠ざけるか、専用 Fastly ネットワーク接続にピアリングすることで、Fastly のお客様が帯域コストを削減する方法です。これは、お客様に対する1つ以上の10Gプライベートピアリング (PNI) を POP がある実際の拠点に設置することで実現できます (現在 IAD と SJC をサポートしていますが、数か月内に増える予定です)。これによって、選択したシールド POP からオリジン (通常コンテンツをプルする) への少なくとも1つの専用物理パス (専用帯域) がお客様に提供されます。お客様は、このトラフィックを標準の BGP セッションで Fastly にルーティングします。オリジンピアリング製品は、特定のパートナーまたはインターネットエクスチェンジポイントピアには適用されません。その場合は Fastly 標準ピアリングポリシーが適用されます。
ご興味をお持ちいただいた場合は、japan@fastly.com までお問い合わせください。
第3四半期から第4四半期は Fastly にとって会議のシーズンであり、エンジニアリングチームは遠征していました。ハイライトは以下のとおりです。
Fastly が参加した会議や、今後参加予定の会議を確認するには、イベントページをご覧ください。
Fastly では自社のサービスを提供することでオープンソースプロジェクトをサポートする取り組みを続けています。最近 Fastly の使用を開始したプロジェクトをいくつか紹介します。
Fastly のサービスを利用できるオープンソースプロジェクトがある場合には、community@fastly.com にご連絡ください。Fastly のエンジニアや、Fastly の製品をお使いの他のお客様とチャットする場合には、コミュニティフォーラムにアクセスしてください。