Pirate Kings, the company’s flagship title, has been downloaded more than 80 million times across iOS, Android, and Facebook since its launch in 2014. The game went from 100,000 daily active users to 4 million in two months. Because good games grow and great games go viral, Jelly Button wants to ensure that every product it takes to market is backed by solid infrastructure that scales to match demand.
A key part of that infrastructure is collecting, storing, and processing player data for analytics, which the company uses for research, marketing, and to improve gameplay. Jelly Button demands a reliable analytics backend that is very low latency, does not lose data, and makes information available for analysis quickly, even when millions of new events arrive every hour. But as Jelly Button became more and more successful, the widely used product analytics solution that it had in place became expensive, punishing exponential growth with exceptionally high costs. Jelly Button looked for a system that would deliver everything the company needed at a fraction of the cost, and chose to build it on Google Cloud Platform.
“We love to be at the edge of technology,” says Nadav Steiner, Infrastructure Team Lead at Jelly Button. “So when we had the opportunity to integrate Google game telemetry architecture into our ecosystem, we jumped at it. With Google, our analytics cost us about a quarter of what we were paying before.”
Analysing gamer data is vital for any online game developer, especially for data-driven organisations such as Jelly Button, as Liad Livne, BI Manager, explains. “We analyse user behaviour and try to improve on KPIs, such as retention and average revenue per user, by assessing which offers and promotions to suggest to players. We use the same data to improve our games, focusing on technical issues and difficulty levels.” Adds Nadav, “To do that, we would execute an hourly and a daily ETL, extracting raw data from our business analytics service and loading it into Google BigQuery to access the information.” Unfortunately, running costs for the business analytics service part of the process became disproportionately high as games went viral, so the Jelly Button team began to talk with the cloud experts at DoIT International about building something new.
Using the Google Reference Architecture for Mobile Gaming Analytics as a baseline, Jelly Button began streaming data directly into Google BigQuery from its clients. “We considered several alternatives and this was the best one, both in terms of cost and in terms of technology,” says Nadav. Autoscaling the solution with Google Kubernetes Engine, the team set up Google Cloud Pub/Sub to relay events with low latency through to Google Cloud Dataflow, which filters, maps, and aggregates the raw data for Google BigQuery, making the data available for analysis in near real time. Because the data and analytics on each game is stored in a separate Google BigQuery project in a modular pipeline, managing the process is simple for administrators.
“Licenses for our previous analytics service were expiring,” says Nadav. “So we had to work to a tight deadline. DoIT International provided us with its best talent to launch this project in just under five weeks from start to production, with weekly meetings to review progress. It’s the latest in several successful initiatives with DoIT International, including cost optimisation and a cloud security review.”
Beyond speed and savings, the new pipeline offers greatly improved stability. “In terms of ETL data streaming, we now have the big advantage that we can keep all of our data within Jelly, instead of on a third party,” says Liad. “In the past we had problems with APIs, which meant that we couldn’t extract data and experienced days of shutdown without any communication.” Shutdowns would occur around once a month, according to the team, seriously affecting the company’s ability to respond to issues. “If we don’t have that data, we cannot react to gamer complaints, or bugs, or alerts. We’re really in the dark.”
“The new pipeline is much more stable because we have all the data within our own systems,” says Liad. “We tested it within the game by shutting down the process and waiting for 24 hours, then enabling it again. All the data was queuing within the accumulator and was recovered with no data loss whatsoever.”
According to the Jelly Button team, the new Google based solution is more than two-thirds cheaper to run than the system it replaces, saving the company US$240,000 per year. In a typical month, processing around 500 events per second, the company spent under US$4,000 on Google Cloud Platform services. Using reOptimize , a free cost tracking and optimization tool, Jelly Button easily tracks and controls its Google Cloud Platform costs, keeping budgets controlled and predictable, as well as low.