tech.guitarrapc.cóm

Technical updates

CDNに新しい風を吹き込むCDN - Fastly社に行ってみた

最近 CDN で一番勢いがあるのは?と聞かれた時に Fastly 社の名前が上がってくることが多いのではないでしょうか。

3/15~3/18 (PST -8:00) にサンフランシスコで開催される Game Developers Conference 2016 (GDC) に参加しているのですが、Fastly Japan 営業の Mio Matsuda さんにFastly 本社を訪問する機会をいただいたので訪問レポートをしたいと思います。

Fastly 様は GDC でもブースをお持ちなので、この記事で気になったGDCに参加している方はぜひ訪問してみてください。

Game Developers Conference (GDC)

目次

Fastly 様紹介

今回訪問させていただいたのは、Fastly様です。

www.fastly.com

Fstly 様といえば、オープンソースベースのオープンなプラットフォームとしてVarnish を採用していることが有名だと思います。

github.com

github.com

CDNにVarnish を基盤技術として採用することで、従来のCDN では難しかったソフトウェアによるキャッシュの制御を極めて高度に行うことができるのが Fastly の特徴です。ただVarnish を採用するだけでなく、Varnish Configuration Language (VCL) を用いたキャッシュの細やかなカスタマイズ制御もできるのは他のCDNにない素晴らしい特徴といえます。

VCL を使った細かなキャッシュ制御

他にも、150ms 以内のインスタントパージをキャッシュ全体以外にもサロゲートキー指定や URL指定で実行できます。これらの制御がすべてAPIでも可能なため、これまでのCDNでキャッシュ制御が困難だったコンテンツもキャッシュ対象にできる可能性があるなど、従来のCDNに風穴をあけ猛烈な勢いで成長しています。

apiguy.tokyo

例えば、WordPress コンテンツのようなCMSは「頻繁に更新すかもしれないししないかもしれない、けれども更新後の配信はキャッシュに載せておきたい。」といい、何かのイベントをベースに配信するという特徴があります。これまでのCDNではキャッシュパージも遅くCDNを画像など限定的にしか使うことが難しい面がありました。しかしFastlyを用いることで、更新時にAPIで 150ms 以内に古いキャッシュをクリアして新しい記事内容を配信、キャッシュできます。しかもワンクリックでインストールできるプラグインである Purgelyもあります。動的コンテンツの中でも、CMSや販売サイトなどのイベントベースでのコンテンツがキャッシュできるのはかなり強いでしょう。

CondeNast の Purgely はWired.com で実装されていて、Wired.com はWordpress を使っているサイトの中でも世界最大規模のアクセスを誇るそうです。すでに実績のあるプラグインで導入も容易なので、かなりいい感じです。

github.com

もちろん、設定のバージョニングにも対応している他、そのアクティブ/非アクティブもすさまじく早く、変更をアクティブにする前に事前にテストすることもできます。CDNをポータルだけではなくAPIからも完全に扱える、それがFastlyです。

無料アカウントでも $50 の課金までは課金なしで利用できます。日本でも 1GBあたり $0.19で利用できるので、ほとんどのテストケースは無料になるかと思います。実際私が会社で導入した時も、無料アカウントから検証して、スムーズに移行できました。

www.fastly.com

尊敬している日本開発者も入社エントリを書かれており、実際にFastly を使っている身としてもとても気になるので今回の訪問を本当に楽しみにしていました。

weblog.bulknews.net

plex.hatenablog.com

所在地

さて、Fastly Japanとしては、新丸ビルにサテライトオフィスをお持ちですが、今回は本社のある 米国カリフォルニア州サンフランシスコ SOUTH PARK にお伺いしています。

当日はあいにくの雨*1でしたが、GDC の会場もあるユニオンスクエア近辺から徒歩20分程度歩くだけとかなり近くに位置しています。

Fastly 社の入っているビルの外観です。年代が経っているビルとのことですが、シックな外観から中に入ると雰囲気があります。

中に入って3F へ。

現在、サンフランシスコのスタートアップはこの近辺に多く所在しているとのことです。先の記事にあった Docker社も先日までFastly社の隣を借りていたとのことでした。(扉に張り紙と、奥にロゴがありました)

オフィスの雰囲気

あいにくの日曜日で、オフィスに勤務中の方はいらっしゃらいませんでした。Welcome と書かれた受付から中にお邪魔します。

Mioさんに、オフィスツアーをしていただきました。

受付から入ってすぐの壁には、Fastlyにジョインされた方の写真が飾ってあります。従業員を大事にされている印象が伝わってきますね。どの社員も建物の煉瓦を背景にされており一体感があります。

反対側には、外来の方が待つスペースがあり、Fastly Red のソファがおいてあります。伺ったところによると、Fastlyはブランドカラーを大事にされており、様々な調度品やノベルティもブランドイメージを損なわないように気を払っていらっしゃるとのことでした。

社内にある調度品もFastlyのイメージカラーで統一されています。

オフィスは、扉が無いオープンスペースで広々と開放感があります。

3F と2F の2フロアが中の階段でつながっているのですが、大きな階段ですぐに行き来できるので、フロアがわかれていてもつながっている感じが損なわれていないのがすごいです。

天井からつりさげられた大型のディスプレイには、2015年に Fastly を利用開始された企業の一覧がディスプレイで表示されています。1ページでは収まらず複数ページにわたっており、Fastly社の勢いを感じます。

Wifi や電源も完備されており、席を決めずフリーアドレスで仕事をすることもできるようになっているそうです。また、リモートワーカーも多く世界各国の従業員の多くは自宅から仕事をされたりしているそうです。こうすることで、緊急時にも素早く対応することもできているとのことでした。

リモートワークといえば、コミュニケーションがよくネックになりますが、Fastly 社では Zoom を使うことでうまくやっているとのことでした。Zoomは Treasure Data様も利用されているとのことなので、気になりますね。

zoom.us

dev.classmethod.jp

Fastlyの開発はRuby を活用しており、社内のほとんどはMacユーザーとのことです。ごく一部だけ Windows を使っており、非常にレアとのこと。残念ながら開発者の方は出社されていなかったため、詳細をお伺いできなかったのですが機会があれば開発環境も伺ってみたいですね。中には、スタンディングで仕事ができる器具を机に装着されている方もおりかなり自由な感じでした。

会議室も10以上あり、その命名はFastly だけに「早さ」に関わるものとのこと。ちらっと見かけたのもの以外にもまだまだあります。

数多くの会議室がありますが、その利用や予定は会議室の内外にあるタブレットから操作可能になっており非常に効率的でした。*2会議室管理はかなり困難を伴うことが多いのでも、このシステム紹介してほしいですね!

キッチンスペース

おわりにキッチンスペースも見せていただいたのでご紹介します。

会議室やオフィススペースの他にもキッチンもあります。最近のサインフランシスコのスタートアップではキッチンがあるかどうか、ランチが提供されるかも1つの就職のキーになっているとのこと。Fastly社でも、毎週定期的ににランチがふるまわれるそうです。ランチのある日には普段よりも多くの従業員が集まられるとのことで、どの国もランチは一緒ですね。

3Fには中庭もあり、天気のいい日には外で仕事をされたり、ランチを召し上がることもあるそうです。

キッチンスペースには、生ビールのサーバー以外にもワインさーバーまであります。オーストラリアにもビールサーバーが社内にある会社が多いですが、ワインサーバーまであるのは初めてみました。

壁にはこれまで作られてきた Fastly Tシャツもあります。よく会場で着てらっしゃるのを見るやつですね。

キッチン奥には、ペット用のエサ入れもあります。Fastly HPのトップを飾るパグのゴルド君もここで一緒に食べてるそうです。

↓ゴルド君

他にもおやつも提供されており、ものすごい山です。

お土産に m&m もらっちゃいました

さいごに

いかがでしたでしょうか?とても面白く、社内見学ツアーに1時間以上かけていただきました。多くの点で興味深く、学ぶものがあり、何よりも急成長するスタートアップの勢いを感じました。

ご対応いただいた、Mio Matsuda さん、Fastlyの皆様、本当にありがとうございました!

EXITとか、何気ないところがかっこいいです。

*1:ここ 2, 3年は雨が少なく困っていたそうです

*2:緑のパネルに予定などが表示されます