Pokemon Go & It’s Lifeline kubernetes

shreyash kotgire
2 min readDec 26, 2020

--

Pokemon Go was developed and published by Niantic Inc., and grew to 500+ million downloads and 20+ million daily active users and beaten all the records at launch

Traffic chart at servers

Pokemon Go engineers never thought their user base would increase exponentially to surpass expectations within a short time. They were not ready for it, and the servers couldn’t handle this much traffic. also faced a severe challenge when it came to vertical and horizontal scaling because of the real-time activity by millions of users worldwide and Niantic was not prepared for this.

Luke Stone, said, that the original estimation before launch of Pokémon GO was overthrown within the first hours after it went public, starting with Australia and New Zealand.

As you can see in the graph of traffic at server they expected a 1x player traffic with a worst case scenario of 5x player traffic but due to popularity of game and hype player traffic surged to 50x which was 10 times more than worst case scenario as a result servers were unavailable for short period.

The solution was in the magic of containers. The application logic for the game ran on Google Container Engine (GKE) powered by the open source Kubernetes project. Niantic chose GKE for its ability to orchestrate their container cluster at planetary-scale, freeing its team to focus on deploying live changes for their players. In this way, Niantic used Google Cloud to turn Pokémon GO into a service for millions of players, continuously adapting and improving. This gave them more time to concentrate on building the game’s application logic and new features rather than worrying about the scaling part.

Even to Google the launch of Pokémon GO was an experiment on unkonwn terrain. Never had an App mobilized so many users in such a short time they had to update some core Elements of the GKE to guarantee a sufficient Kubernetes Container on demand provisioning rate.

  • Pokémon GO was the largest Kubernetes deployment on Google Container Engine ever. Due to the scale of the cluster and accompanying throughput, a multitude of bugs were identified, fixed and merged into the open source project.
  • To support Pokémon GO’s massive player base, Google provisioned many tens of thousands of cores for Niantic’s Container Engine cluster.

All this upgrades and implementation of techniques , work efforts were paid off when the game launched without any problem in japan where the user base was tripled compared to US.

Thanks for reading !!

--

--