Everyone must have played or heard about Pokémon Go that boomed in the year 2018. Here’s the story about how they managed their servers without crashing or causing any delays to the huge incoming traffic that they received. But before starting, this story I would like to give a brief description about what Kubernetes is and what it is used for.
What is Kubernetes?
Kubernetes is an open-source container-orchestration system for automating computer application deployment, scaling, and management. It was originally designed by Google and is now maintained by the Cloud Native Computing Foundation. In simple words, Kubernetes is basically used for maintaining and monitoring the containers that are running. These containers(also called as pods ) are the heart and soul of any company as they contain all the applications and microservices running inside them. Kubernetes creates a deployment that monitors these containers and launches more of these pods if the traffic increases ( scale out ) and again shutdown if the traffic decreases ( scale in). It is very easy to scale in and scale out in Kubernetes that’s why it gained popularity in the container orchestration market.
There are many ways to setup Kubernetes cluster but I won’t go into details of that in this article. The cloud providers like aws, gcp and azure also provides Kubernetes cluster.
That enough for now, I won’t waste anymore of your time so let’s get to the story of Pokémon Go.
How was ‘Pokémon Go’ able to scale so efficiently & became so successful? Pokémon Go was developed and published by Niantic Inc. 500+ million downloads and 20+ million daily active users. The developers and engineers never in their life would have imagined that their user base would increase exponentially surpassing the expectations within a short time, they were not ready for it, and even the servers couldn’t handle this much traffic.
Now how was this problem solved. The answer is Kubernetes. The magic of containers came to the rescue of Niantic and helped them to overcome this crisis. Niantic launched their application of the game on top of GKE (Google Kubernetes engine). They choose GKE for it’s ability to orchestrate their containers at planetary scale, freeing the developing team to focus on deploying the live changes for their users or players. GKE had the capability to integrate with other Google services like Google maps to provide the location of the Players and the nearby Pokémons without any delay. Using GKE as Kubernetes platform, enabled the team to focus more on developing the game rather than managing and scaling the application. In this way, Niantic Inc. used Google Cloud to turn Pokémon GO into a service for millions of players, continuously adapting and improving.
Impressive isn’t it? If you enjoyed the story and wished to know more then check out the complete case study shared on Google Cloud. Also if this story interests you please leave a clap for me, I would be grateful.