Unless you’ve been living under a GeoDude for the last two weeks… you’ve heard the complaints about the persistent server issues frustrating Pokemon Go trainers.
Niantic, the company that created Pokemon Go, clearly did not anticipate the record breaking amounts of traffic the game received. Within just two weeks of the game’s release, it was estimated to reel in $1 million a day and is on track to fetch $1 billion within its first year. The game has become so massively popular, its daily active user traffic has surpassed Twitter!
While the game has been immensely successful, Niantic was nowhere near prepared for this kind of traffic. To most trainers’ surprise, the game was not released by Nintendo or any of the other larger gaming organizations. Niantic is actually a spin-off from Google that focuses on augmented reality. They had previously released a mobile game called Ingress, which features a similar augmented reality experience as Pokemon Go.
Niantic has repeatedly announced that they are attempting to scale up their infrastructure to combat their overloaded servers. But even when they seemed to bounce back, they were brought down again by hacker groups. Just in the last two weeks, Niantic has surely been run through the gambit. They have faced off against a handful of a startups’ worst nightmare and come through victorious. So what can we learn from how Niantic handled these challenges?
#1 Be Transparent
For starters, the app doesn’t seem to have a public status page. Even their support site lacks any page that shows their current status. Public status pages are crucial for any business with a large customer base. Pokemon Go has such a massive user-base, that their support team cannot possibly answer every single report of an outage or issue. This is where a public status page would serve useful, as a place for the support team to reach all users at once with a single shout out. These pages are essentially an acknowledgment of user issues and help assure users that there is an action in place to resolve the issue.
#2 Get Protected
The app has also encountered issues through no fault of their own. Since launch, they have been knocked offline twice by DDoS attacks. Last Saturday a hacker group called PoodleCorp took down Pokemon Go for a few hours. The hackers used a DDoS (Distributed Denial of Service) attack, which floods the target’s servers with millions of queries per second, eventually forcing the servers to crash. For an even more in-depth explanation check this out.
Later that same weekend, they were attacked by a group called OurMine who in the past has claimed responsibility for hacking the social media accounts of execs at Google, Facebook, and Twitter. While Niantic was eventually able to mitigate both attacks, they suffered hours of downtime. The public was outraged because both attacks occurred during peak play times. While these outages were not necessarily Niantic’s fault, there are preventative measures that they could have (and should have) taken. Hackers are drawn to viral apps and games like Pokemon Go, so security should have been priority number one once the game took off.
The most effective defense is to use a top-tier cloud provider who uses automated DDoS mitigation services. These services are able to identify and filter out malicious traffic before it even reaches Pokemon Go servers.
#3 Analyze This
Nothing is worse than getting ready to go for a Poke Walk, popping an incense, and then the servers crash… While there is no way to 100% effectively predict a server issue, there are solutions popping up that can help. A group of developers put this site together using crowd-sourcing and server monitoring software to anticipate issues. The site can also advise you whether or not you should use an incense or a lure. Since each of these items have time limits and cost real money, you definitely want to make sure there aren’t any potential issues before you use one.
Ispokemongodownornot.com is just the beginning! Many other industries are harnessing the power of big data analytics and crowdsourcing to predict and troubleshoot issues before they can even affect end-users.
#4 Scale Up
Pokemon Go initially decided to roll out the app slowly to only a few countries at a time. This method has proven effective for apps that want to keep up with infrastructure demands and build to scale as needed. The instant virality of the app resulted in server issues as early as the first phase of the roll-out, while the app was only released in the US. Niantic seemed to fix the issues that had caused servers to slow to a crawl, and felt confident enough to release in Europe. They began with only the UK and Germany but soon encountered similar issues. They then crashed two more times when they released to 26 European countries, and again when Canada was added to the list.
While Niantic has yet to name exactly what went wrong, it’s pretty clear they lacked the necessary infrastructure to support their growing user base. These issues are similar to what successful startups encounter once they achieve recognition or go viral. There is no one solution to combat infrastructure demands, because as we have seen with Pokemon Go, demands can (and usually will) continue to increase.
When investing in infrastructure, always make sure you give yourself room to grow. It may hurt your wallet at first, but it will cost a lot less than an outage or having to scale up quicker than anticipated.