[Background Music]
Pokemon Go is an Augmented Reality-based mobile
game, which makes its users walk on the street and
catch virtual Pokemon on their smartphone or
tablet. This way, they can create a big roster of
their Pokemon and possibly become a Pokemon master.
If we consider growth stories of popular
mobile games, initially they have less users who
helped join the game impressed by the idea or content.
Over time, they gain more users due to
positive ratings and word of mouth. And finally,
their users increased rapidly and the game becomes
a trend. This series of growth has a lot of
advantages, developers can determine what worked
and what didn't. They can gain some revenue before
scaling wide, so the risk would also become less,
and they can have enough time to spread out their
servers and cover different countries in the world.
But Pokemon Go's case was different. Due to
phenomenal fandom across the world, the hype for
the game had already been generated. When they
launched their game in Australia and New Zealand,
they were expecting a few 100,000 users to log in
during the initial phase, which was around two
weeks. But that amount was crossed right after 15
minutes of release. In worst case, they had
prepared for five times more users than expected.
But just within a couple of days, the number of
users had exceeded 50 times of their expectations.
It means there were millions of users to begin with.
This was a huge challenge to overcome.
They had to scale rapidly and make sure that their users
didn't see something like this.
The solution was figured out even before the problem occurred.
Pokemon Go was developed largely on Java, C++ and C#.
But the services were hosted using Docker
and Kubernetes as a managed solution provided by
Google Cloud. This way, they had a backup of
Google's infrastructure, and they could scale as
much as they wanted rapidly. They didn't have to
set up servers or perform immediate hiring or contract services.
In fact, solutions were so
efficient that while releasing the game in Japan,
they simultaneously brought up over 1000 new
Kubernetes nodes, while making sure the previously
running ones were completely unaffected. This way,
they gain more users while keeping their already
large user base happy.
In next sessions, we will learn Kubernetes on Cloud.