YouTube API Design Evaluation and Latency Budget

Introduction

In the previous lesson, we learned how a streaming service's functional requirements are met. In this lesson, we’ll focus on some interesting aspects of the non-functional requirements of the design. We’ll try to answer some of the common questions that might have come to your mind regarding API performance.

Non-functional requirements

The subsequent sections discuss how the non-functional requirements are met.

Scalability

YouTube-like systems need to scale in both aspects, that is, horizontally and vertically. We provide loosely coupled services by executing independent tasks statelessly and in parallel. Since it is not possible to serve numerous users requesting large-sized videos simultaneously, YouTube uses Internet exchange pointsInternet exchange points are common grounds of IP networking, allowing participant Internet service providers to exchange data destined for their respective networks. Wikipedia. 2001. “Wikipedia.” Wikipedia.org. January 15, 2001. https://www.wikipedia.org/. to populate CDNs and the Google global cache (GGC)Google keeps certain viral static content at the ISP level to serve its users in densely populated areas. YouTube videos are remotely managed in the servers placed at the ISP level. These servers act as a cache for serving clients. to serve end users effectively to scale its services.

Level up your interview prep. Join Educative to access 80+ hands-on prep courses.