As Discord, a voice and text communications app for PC gamers, prepared for rapid growth, it needed a way to quickly and affordably scale its hardware infrastructure while maintaining performance and security. Performance-wise, Discord needed to transition from serving content from a single homed server to a high-performing global content delivery network.
Security-wise, it needed to protect its websockets-based traffic from rampant DDoS attacks. CTO Stanislav Vishnevskiy explains, “Since we’re a gamer-focused product, we attract a lot of users who love to DDoS each other during matches. As we grew more popular, the intensity and occurrences of these attacks increased to the point where our engineers were constantly dealing with them.”
In August 2015, Discord came to Cloudflare just as they hit 25,000 concurrent users. Within a year, Discord had scaled the business to 1 million concurrent users by leveraging Cloudflare’s CDN, which works by caching content within its network of more than 100 data centers, and then serving it directly to users from the nearest one. Over 1 Pb of traffic per month is served directly from Cloudflare’s edge-side cache to Discord’s users.
In addition, Cloudflare is always protecting and serving Discord’s traffic. Jake Heinz, a Discord software engineer, explains, “Cloudflare sits in front of our websockets servers to absorb Layer 7 attacks and various Layer 3 and 4 reflection attacks. We have one million concurrent users connected to us through Cloudflare, and Cloudflare quickly and securely serves our traffic even with spikes of websocket events up to one million/second.”
With Cloudflare, Discord saves hundreds of thousands of dollars in hardware and bandwidth costs, while providing users higher performance and a more secure application.