Discord

Discordは急激な成長を遂げていますが、Cloudflareが帯域幅やハードウェア費用を抑えWebパフォーマンスを高めるサポートを行っていることに感謝しています。

DiscordはPCオンラインゲームプレーヤー向けの音声とテキスト用のコミュニケーションアプリです。Discordの目標は、PCゲームプレーヤー向けコミュニケーションアプリのデファクトスタンダードとなることであり、2016年7月時点ですでに2,500万人以上の登録メンバーと240万人の同時接続ユーザーという成功を収めています。

Discordの課題:WebSocketサーバーへの大規模なDDoS攻撃対策

Discordは急速な成長に備えるために、パフォーマンスもセキュリティも維持しつつ、既存のハードウェアインフラストラクチャを迅速に拡張する手頃な手段を必要としていました。パフォーマンスに関しては、シングルホームサーバーからコンテンツを提供するスタイルから、世界中から静的アセットが提供できる高性能CDN(コンテンツ配信ネットワーク)パートナーへ、移行する必要がありました。セキュリティに関しては、被害をもたらしているDDoS攻撃からWebSocketベースのトラフィックを保護する必要がありました。CTOのStanislav Vishnevskiy氏はこう説明します。「ゲームのプレーヤーに向けた製品のため、ゲーム中にお互いをDDoS攻撃したがるユーザーも多くいます。人気が高まるにつれて、こうしたDDoS攻撃の激しさや発生頻度が増え続け、ついにはエンジニアが常に対応しなければならない状態になってしまいました。」Vishnevskiy氏はさらに、こう述べました。「Cloudflareを利用する前は、リアルタイムゲートウェイに対するDDoS攻撃中にfailoverできるよう、DNS負荷分散を備えた多数のHAProxyを使用していました。」しかし、この初期のハードウェアソリューションでは費用が年間で数百万ドル規模になることもあり、さらにエンジニアの作業も必要でした。そのため、Discordではこういった攻撃を阻止できて、簡単に拡張できる手ごろな価格のソリューションを必要としていました。最適なソリューションが見つけられなければ、顧客体験は悪化し、顧客維持率も大幅に低下する可能性があり、Vishnevskiy氏曰く、「1度の停止は複数のお客様の苛立ちにつながる」のです。既存のお客様の多くは停止が発生しても容認してくれますが、問題発生中にサインアップした新規のお客様には最悪な第一印象となり、定着率は悪いものでした。お客様が苛立ち、利用をやめる度に、ゲームプレーヤー向けコミュニケーションアプリのデファクトスタンダードになるという当社の目標が遠ざかっていったのです。」

Discordのソリューション:セキュリティ内蔵のCDN

2015年8月、ちょうど同時接続ユーザー25,000名に到達した頃にDiscordがCloudflareを訪れ、Cloudflareは即座に永続的なパフォーマンスとセキュリティのメリットを提供することになりました。そして、DiscordはCloudflareのコンテンツ配信ネットワーク(CDN)を活用することで、現在の240万同時接続ユーザーまで簡単に事業拡大(わずか1年で成長率9000%超)することができたのです。CloudflareのCDNは200以上の都市にあるデータセンターにコンテンツをキャッシュし、最も近いデータセンターからユーザーに直接配信することで動作します。月に2Pbを超えるDiscordのトラフィックは、Cloudflareのエッジサイドキャッシュから直接Discordのユーザーへ配信されているのです。次に、Google Cloudの顧客でもあるDiscordは、CloudflareとGoogle Cloud間の高速相互接続を利用して、顧客によりスマートなアプリケーションを提供するとともに、Google Cloudの請求を月間10万ドル以上も節約しました。さらに、Cloudflareのセキュリティが常に稼働しトラフィックの保護や配信を行っていることがわかっているため、Discordは非常に快適でいられます。Jake Heinz氏(Discord社ソフトウェアエンジニア)はこう説明しています。「Cloudflareを当社のWebSocketサーバーの前に配置し、第7層への攻撃や第3・第4層へのさまざまなリフレクション攻撃を吸収してもらっています。Cloudflareを通じて当社に接続する同時ユーザー数は240万人いますが、WebSocketのスパイク時にさえ最大200万件/秒のトラフィックをCloudflareが迅速かつ安全に配信しています。」

Cloudflareを利用することで、Discordはハードウェアや帯域幅費用を何十万ドルも継続的に節約し、同時により高いパフォーマンスやより安全でしんらいできるアプリケーションをユーザーに提供しています。

Discord
関連導入事例
Key Results

年間100,000ドルのハードウェア費用を節約

Google Cloudのネットワークエグレス費用を月100,000ドル節約

WebSocketのスパイク時にも最大200万件/秒のトラフィックを保護

APIやゲートウェイサーバーへのDDoS攻撃を心配しなくてよいため、製品の向上や改善に専念できます。

Stanislav Vishnevskiy
CTO