A blockbuster game like Pokemon Go leverages many useful DevOps tools to ensure global reach and popularity
Unless you have been living under a rock, it is impossible that you haven’t been swept by the Pokemon Go wave that is engulfing smartphone users across the world. For the first time ever, we have an example of a ‘virtual world meets real world’ scenario where users are actually searching for virtual objects in physical environments. While this is helping humans burn calories (people reportedly burn around 2000 calories a week playing this game), it is also presenting huge challenges and opportunities just by the sheer scale to which the game has reached.
Pokemon Go – a global phenomenon
Within just three days of its release, Pokemon Go attracted more users than Twitter, and made it to the top of the App Store revenue charts. Today, it has become a global phenomenon. According to Survey Monkey, Pokemon Go has become the most popular mobile game in history with 21 million daily active users just in the US.
Need for a streamlined strategy
The game, which requires you to search, capture and train Pokemon characters using augmented reality, generates humongous volumes of data, running into zetabytes every single day. Such a huge magnitude of data poses a typical Big Data challenge of processing huge quantities of data in real-time. But more importantly, the manner in which Niantic (creators of Pokemon Go) ensures smooth functioning if its app, despite an unprecedented surge in users, reveals the existence of processes and best-practices that have been deployed across its maintenance cycle.
Pokemon Go is an ideal example of a streamlined and automated end-to-end DevOps pipeline that optimizes the delivery value chain and eliminates constraints and dependencies across the software development life cycle.
Changing human behaviour
Unlike other mobile apps, the idea was not to do the same thing differently (such as Uber that gave people the option of booking a cab in a different way). Rather, Pokemon Go is making people do something entirely different. When you’re doing something new, you by definition don’t know exactly what you’re doing. So you have to keep going through multiple cycles of testing to get it right. If these cycles are slow and you don’t test all possible use cases, it takes too long to provision the necessary environments. To avoid these types of contingencies, you need a streamlined and automated end-to-end DevOps pipeline. In the context of Pokemon Go, the possible use-cases are geolocations, devices, operating systems, hardware, diverse transactions, among others.
After release of the app for iOS, Niantic had to continually improve and enhance performance at a massive scale and an almost-impossible timeframe. Again something that DevOps solves with ease.
Ideal DevOps tools for a Pokemon Go scenario
At the sheer scale at which Pokemon Go is growing in popularity, there are a bunch of tools that should ideally be used to ensure smooth and uninterrupted user experience. While the basic methodology can consist of the Plan -> Code -> Build -> Test -> Release -> Deploy -> Operate -> Monitor cycle, there are specific DevOps tools that can be used for specific tasks within the DevOps cycle. Some of these tools and tasks are:
- Version Control & Source Code Management – Git
- Build & Test – Ant, Gradle, Selenium, LoadStorm
- Continuous Integration – Jenkins
- Configuration Management & Deployment – Chef, Puppet, Ansible
- Monitoring – Nagios, Sensu, New Relic
Want to understand more about DevOps from industry experts? Edureka has created a top-class course on DevOps that helps you master the various DevOps processes and tools. Click here if you wish to know more.