

Our Technology Stack (A 50 thousand foot view) There have been many great articles written (and ideas) about how to try to solve these problems, but there isn’t enough room here to do them justice. And adding the extra engineers to build those systems also adds organizational complexity - communication and coordination is an O(n2) scaling problem if left alone. Each of these new systems adds more complexity to our overall system, which makes engineering more complex for everyone.

This includes problems like hardware and network failures that are rare in small systems but commonplace in larger ones, and doing things like capacity planning to make sure that you can build and architect new infrastructure and systems before they are needed.īeyond individual systems growing larger, we are also adding more systems to Twitch to make our product better.

As each individual systems grows, we expose different kinds of failure modes that aren’t problems in smaller systems, but become problematic as systems grow larger. This means that we have to scale at both an architectural and organizational level. Over the last 3 years, the number of engineers at Twitch has grown by over 800%. Our web APIs handle over 50 thousand requests a second on average. Our chat service delivers over 10 billion messages a day. We have peaked at over 2 million concurrent video streams on our site. We have over 30,000 people streaming video on Twitch simultaneously. Network infrastructure that keeps the bits between all of these systems and the end users flowingĮach of these different components of Twitch has different challenges that need to be tackled - among them low-level optimization of video encoding, large scale system scaling, implementing products across multiple platforms and form factors, and improving our engineering efficiency via improved tooling.īefore we dive into what technology we currently use, it’s important to note that many of the decisions that we make surrounding technology are driven by the size of Twitch and how rapidly it is growing: Internal tooling and systems - configuration management, deployment systems, hardware and software provisioning, testing and QA

Web services that provide access to functionality and dataĬlient applications on the web, and on a multitude of platforms - mobile and console in particular One of the largest live video distribution systems in the world If you’re a Twitch user, you probably know that Twitch is a pretty big site that streams live video, but you may not have an idea of the sheer scale and complexity of all of the different moving parts needed to hold everything together.
