TabTale builds mobile gaming backend and develops faster using Google App Engine
TabTale creates interactive books, games and educational apps with 600 million downloads and 40 million monthly active users. Since it was founded in 2010, the company has released over 350 apps for kids on iOS, Android and Windows. Headquartered in Israel, TabTale has offices in the U.S., China, Macedonia, Bulgaria, Serbia and Ukraine.
TabTale relied on third-party services for scoreboards, user registration, social media integrations and more for its 350+ apps, and decided they wanted to build their own mobile gaming backend to consolidate and unify gaming data for all platforms. TabTale envisioned the new backend collecting users’ data, analyzing gaming behavior, gathering gaming performance and supporting scoreboards and in-play analytics. The company needed infrastructure that was scalable and low maintenance, so they could focus on building games rather than running backups, adding new servers when traffic spikes, and load balancing.
When TabTale chose Google App Engine, they found that it allowed them to develop faster and had almost no learning curve. TabTale developed its backend in Go, Google’s concurrent programming language, and within a few weeks was up to full speed. Go, like Python, Java and other languages, integrates seamlessly with Google Datastore, Google BigQuery and other Google services.
“Our ability to provision new services in seconds saves us a lot of time, since it used to take days,” says Lior Malenboim, software leader for mobile backends. “The gaming industry is characterized by short-term projects, so it’s important for us to have a backend that is flexible and works fast.” TabTale uses Datastore to store billions of user records for registration and gameplay. The distributed NoSQL database is low maintenance so TabTale doesn’t have to provision servers, install software, back it up or manage scaling. Datastore provides data consistency, so users from the U.S. see the same data as users in Europe and Asia.
For code deployment, App Engine replaces outdated instances and switches live traffic to a new version while keeping existing sessions for users on the old version. When TabTale launches a new version, they send it to 5 percent of users, so they can make sure everything works smoothly before pushing the change to the entire user base. This allows them to easily revert to an older version in a matter of seconds if something goes wrong in the new one.
App Engine also automatically collects and stores tens of billions of application logs and ingests them into BigQuery, so TabTale can analyze them if an issue crops up.
Data analysts at TabTale use BigQuery to analyze the gameplay and suggest improvements. Using standard SQL language, TabTale runs queries on these terabytes of information in a few seconds to better understand and, if required, patch the game.
After piloting App Engine on a few games, TabTale will be using the new backend powered by App Engine on all of their 350 games. TabTale is looking into Managed VMs, which would give them more control in certain situations while scaling the load and managing high-availability issues. “Overall, Tabtale can now deliver new backend features 10 times faster without dealing with infrastructure maintenance, which lets them focus on software engineering and game improvements,” says Vadim Solovey, chief technology officer of DoIT International, Google Premier Cloud Platform Partner who helps TabTale with App Engine onboarding and on-going consulting.