Spotifyの日本インフラ

   このエントリをはてなブックマークに登録    2017/6/20-2

BBIX BGP Meetingにて、SpotifyのPeter Carlsten氏がSpotifyの日本進出について発表しました。

おそらく偶然だとは思いますが、同じイベントの別セッションで発表されたTwitterと同様に巷で話題の「ギガが減る」という状況を示すユーザトラフィックが公表されつつ、日本の通信事業者に対するピアリングの呼びかけが行われました。

日本ユーザの通信品質

Spotifyは、音楽のストリーミングサービスです。ユーザは、音楽を再生するためにSpotifyから音楽データをダウンロードしますが、Spotifyとユーザの間での通信品質が低いと、ユーザ側で行われている音楽の再生が途中でストップしてしまい、バッファリングが行われます。

SpotifyのPeter Carlsten氏は、バッファリングが開始されて音楽再生が引っかかってしまう状況を「stutter(どもり)」と表現しつつ、ユーザにデータを届ける際の遅延を示す次のグラフを発表していました。

このグラフでは、線が下の方にあるほど品質が高いとされていますが、上の青い線がフィリピン、真ん中の紫色の線が日本、一番下が米国です。 米国は安定して品質が高い一方で、フィリピンは通信品質が安定しません。 日本は、月初めは米国並みの通信品質を実現していますが、月末が近づくにつれて通信品質が落ちていきます。

Peter Carlsten氏は、日本におけるトラフィックの傾向は非常に特徴的であると述べると同時に、恐らくモバイルデータプランの容量が枯渇することで、このような状況が発生しているのではないかと推測していました。

かつてP2Pを使っていたSpotify

Spotifyは、2006年にスウェーデンで創業されましたが、今回発表を行ったPeter Carlsten氏がSpotifyに入社したのは8年前です。 8年前は、データセンターからのトラフィックをオフロードするためにSpotifyはP2Pをよく使っていました。 当時は、トラフィックの34%がP2Pによるもので、データセンターからのトラフィックは10%だけでした。 Peerを探すのに時間がかかるため、曲の冒頭部分をデータセンターにある自前ストレージから配信するのが、データセンターの主な役割でした。

現在は、SpotfiyはP2Pを全くやっていないそうです。 P2Pをやめたのは5年か6年前とのことでした。 P2Pをやめたのはスマホユーザが増えたことが原因です。P2Pによって電池やデータプランを消耗してしまうので、ユーザが怒ってしまうためです。

SpotifyのCDN

Spotifyは、昨年9月に日本でサービスを開始しましたが、昨年段階で東京にCDNを入れたとのことでした。

いまは、メジャーなCDN 3社を利用しています。 国やマーケットごとにパフォーマンスを決めており、実際のパフォーマンスデータを3社に共有していると発表されていました。

Spotifyは、1年前に自前CDNを立ち上げています。 東京ではPOPを立ち上げ、IXであるBBIXと接続しています。 Spotifyは、BBIXでのpublic peerを増やすためにBBIX BGP Meetingで呼びかけを行ったのです。

Peter Carlsten氏は、「コンテンツ配信はSpotifyにとって核となる部分である」あり、それを行うためのコストセービングを実現したいと述べています。 Twitterの発表でも同様にBGPでのピアリングが呼びかけられましたが、ピアリングを増やすことでコンテンツ事業者がユーザとの通信品質を上昇させつつも、各種ネットワークコストを削減しようとする流れがここ数年で加速しているように思えました。

SpotifyのCDN活用法

Spotifyは、コンテンツ配信を行うための「コントロールプレーン」の紹介をしていました。

Spotifyのクライアントは、楽曲をリクエストするためのURL一覧を要求します。 ユーザは、暗号化されていない曲の冒頭部分であるhead fileを受信することで、迅速に音楽再生が開始できるようになっています。 ユーザがプレイリストを再生する場合は次の曲はわかっているので次の曲をプリフェッチしますが、楽曲を検索するインタラクティブな再生の場合にはプリフェッチはできません。プリフェッチを行うのかどうかなどに関してもCDNと連携した配信が行われます。

SpotifyのCDNは、ユーザに届けるトラフィックが経由するのがピアかトランジットかを考慮しています。 ユーザにコンテンツを届ける際に、トランジットよりもピアを優先するそうです。

さらに、自社CDNの回線容量も考慮しています。 回線容量があふれそうだったり、遅延などが大きくなるのであれば、publicなCDNにオフロードできるように作られています。

Spotifyのコントロールプレーンの今後の計画としては、シンガポールに新拠点を作ることや、クライアントから集まっている様々なデータを活用して通信品質を自動的に認識するようなものを目指すようです。

   このエントリをはてなブックマークに登録