<iframe width="560" height="315" src="https://www.youtube.com/embed/MtsEFebioWI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> ## Thumbnail ![[thumbnail-reacts_to_pokemongo.png]] ![[thumbnail-reacts_to_pokemongo_02.png]] ## Title 1. Load testing expert reacts to how Pokémon Go scales to millions of requests 2. Load tester reacts to Pokémon Go's highly available infrastructure 3. Load tester reacts to how Niantic scales Pokémon Go for 166 million users 4. Load tester reacts to how Pokémon Go scales to millions of requests ## What value do viewers get? ## Hook Last year, Pokémon Go, developed by Niantic Labs, made $1.23 billion in revenue with 166 million users from all over the world. This level of success is unprecedented, especially for an app encouraging people to go outside at a time when most governments are telling them to stay inside. In tech, though, success comes at a cost. Here's what Niantic has to do under the hood to keep this massively popular game running. ## Intro Hey, I'm Nicole van der Hoeven. I've been in load testing for over 10 years, and I like to talk about tech, travel, and taking notes. And I've been playing Pokémon Go since the day it was released, in July 2016. %% I'm excited to learn how it's maintained because I think PoGo's use case is very unique and specific for a few reasons: - Global consistency: all users play on the same realm - AR game: mix of real data (locations and points of interest) and fictional data (pokémon spawn points and events) - Everyone plays on mobile devices, and mostly on mobile networks: less reliable internet connection - Events are timed - Analytics are the point (for Google and Niantic) - Cheating via location spoofing needs to be detected and avoided, otherwise it breaks the game - %% In this video, I'm going to be reacting to a video conversation between Priyanka Vergadia from Google and James Prompanya from Niantic Labs. Thanks to Joe Colantonio's Test Guild News Show for mentioning it last month. ## Structure - Play video, and pause to react. - In closing: ![[How does Pokémon Go scale to millions of requests_ - YouTube#Learnings]] ## Outro One thing I would have loved to hear about is how Niantic are doing reliability testing or chaos experiments on their stack. If you're still watching this, then chances are high that you like Pokémon AND load testing as much as me. If that's true, check out this video about how I ran chaos experiments on an app called Poké API using k6, Prometheus, and Grafana. And as they say here in the Netherlands, _tot volgende keer!_ ## Related videos and resources Joe's Automation Guild weekly news: https://www.youtube.com/watch?v=ASnGRdVqLgk How does Pokémon Go scale to millions of requests?: https://www.youtube.com/watch?v=YG7GXjZ8En4 [[How does Pokémon Go scale to millions of requests_ - YouTube]] Pokémon Go Revenue and Usage Statistics (2021): https://www.businessofapps.com/data/pokemon-go-statistics/ ## Pre-production - [x] Take a thumbnail photo and create one for YouTube (1280 x 720). - [x] Add description. - [x] Include the title and any keywords in the first few sentences, but in a natural way. - [x] Add related videos and resources as links. - [x] Add end screen. - [x] Add cards if necessary. - [x] Add video to relevant playlist(s), or create a playlist if necessary. - [x] Create captions using Descript or using the script, then edit them. - [ ] Add chapters for YouTube if longer than 5 minutes. - [ ] Schedule on YouTube. ## Post-production - [ ] Promote on personal social media. - [ ] Twitter - [ ] LinkedIn - [ ] Create a blog post on [nicolevdh.com](http://nicolevdh.com) - [ ] Include in a weekly newsletter. ## Time spent - Scripting: 30 mins - Filming: 90 mins - Editing: 150 mins - Thumbnail and title: 45 mins - Captions: ## Timestamps 0:00 Intro 01:06 Introduction to Pokémon Go 04:51 How microservices-based architectures can help an application scale more easily 05:56 Splintering realms to reduce load 08:20 Tracing a request on the Pokémon Go stack 11:29 Separating types of data to reduce dependence on one database 12:20 Polling vs Pub/Sub 16:07 Number of users that Pokémon Go must handle during an event 17:17 What they use to monitor their application 18:30 My takeaways for how they scale Pokémon Go