Introduction
Attracting
over 2m subscribers in just 4 months and growing by 30,000 new users per day,
Playful Play needed a database that was able to keep pace with the massive scalability and
high availability demands of the wildly successful La Vecindad de El Chavo Facebook game.
Playful Play selected MySQL Cluster CGE running on a public cloud to power their gaming platform, providing:
- 45% improvement in
performance;
- 99.999% uptime;
- 80% reduction in DBA
overhead;
- Local language support, 24x7.
As a result, Playful Play has been able to maintain user growth rates and attract new advertisers to the platform, while enhancing agility and reducing cost.
Company Overview
Based
out of Monterrey, Mexico, Playful Play has created Latin America’s #1 Facebook
game based on "El Chavo del 8", the cultural and TV phenomenon that
has been running across Latin America for the past four decades. The show is
also extremely popular in Spain and the United States.
El Chavo
(The Kid) appeals to a broad demographic, having attracted over 2M subscribers
in its first 4 months, and adding 30,000 new users per day. The game has also proved popular with
advertisers who are keen to integrate social gaming into their marketing
strategies in order to raise awareness and build brand loyalty.
Through partnerships with Televisa Home Entertainment and Grupo Chespirito, Playful Play has aggressive plans to grow their business through the development of new social games targeting Latin America, Brazil, the United States and Spain.
The Challenges of Rapid Growth
As a start-up business, fast time to market at the
lowest possible case was the leading development priority after Playful Play
secured the rights to develop the El Chavo game.
As a result, Playful Play developed the first release
of the game on the proven LAMP (Linux, Apache, MySQL, PHP / Perl / Python) stack.
To meet both the scalability and availability
requirements of the game, Playful Play initially deployed MySQL in a replicated,
multi-master configuration.
The database is core to the game, responsible for
managing:
- User profiles and avatars
- Gaming session data;
- In-app (application) purchases;
- Advertising and digital marketing event
data.
As La Vecindad de El Chavo spread virally across Facebook, subscriptions rapidly exceeded one million users, leading Playful Play to consider how to best architect their gaming platforms for long-term growth. They had heard about the release of MySQL Cluster 7.2, and so decided to initiate an evaluation to determine if it could meet their requirements.
The Route to Internet-Scale with
MySQL Cluster
In addition to growing user volumes, the
El Chavo game also added new features that changed the profile of the
database. Operations became more write-intensive,
with INSERTs and UPDATEs accounting for up to 70% of the database load.
The game’s popularity also attracted
advertisers, who demanded strict SLAs for both performance (predictable
throughput with low latency) as well as uptime.
Through their evaluation, the
developers at Playful Play identified that MySQL Cluster was able to meet their
needs.
Write
Performance with Real-Time Responsiveness
MySQL Cluster’s multi-master
architecture, coupled with the ability to auto-shard (partition) tables across
nodes, enabled Playful Play to meet the performance and scalability demands of
the El Chavo game, without changes to their applications.
The ability to store data in memory and
persist to disk delivered the sub-millisecond responsiveness and durability
demanded by the game’s users.
In addition, Playful Play was able to
horizontally scale the database across low-cost commodity nodes running in the
cloud, reducing their TCO and enhancing agility.
Continuous
Availability
The shared-nothing, distributed design
of MySQL Cluster coupled with integrated replication and self-healing recovery
ensured high availability of the gaming platform, without DevOps
intervention.
MySQL Cluster was able to protect
against downtime resulting from both failures and planned upgrades. For
example, Playful Play has been able to scale the cluster on-line to support
growing user volumes, without service interruption.
Data
Integrity Supporting Monetization
As the game evolved to support in-app purchases and digital marketing, the ACID-compliance offered by MySQL Cluster afforded the transactional integrity demanded by users and advertisers.
The
Value of MySQL Cluster Consulting, Support and Management Tools
Following their successful evaluation, Playful
Play deployed MySQL Cluster with their public cloud provider.
Playful Play wanted to ensure they were
getting the most out of the deployment, so Oracle’s MySQL consulting team reviewed their Architecture and Design. The consultants were able to further optimize the database to deliver
even higher levels of performance, and demonstrated how Playful Play could
automatically scale the database using MySQL Cluster Manager.
The MySQL Cluster deployment at Playful
Play is growing rapidly, and currently comprised of over 25 nodes running Linux
on commodity x86 servers, each configured with 24-cores and 64GB of RAM:
- 12 x MySQL Cluster
data nodes;
- 12 x MySQL Server SQL
nodes;
- 2 x MySQL Cluster
management nodes.
Each data and SQL node is co-located to
a single physical instance.
Using the architecture above, MySQL
Cluster is currently supporting:
- 2 million
subscribers, with 30,000 new additions per day across Latin America, Europe and
U.S;
- 10,000 concurrent
users;
- 10,000 Transactions
Per Second;
- 99.999% uptime.
"The MySQL support service has been essential in helping us for troubleshooting and giving recommendations for the production cluster, Thanks" Carlos Morales – DBA, Playfulplay.com México
Playful Play has deployed MySQL Cluster
Carrier-Grade Edition, providing access to technical and consultative support,
in addition to the MySQL Enterprise Monitor and MySQL Cluster
Manager tools.
MySQL
Enterprise Monitor Enables Continuous Service Availability
MySQL Enterprise Monitor enables
Playful Play to proactively monitor the entire cluster from a single GUI. DBAs
are automatically notified if any environment variables begin to exceed
pre-defined thresholds, and presented with the instructions necessary to take
corrective action, before users are impacted.
MySQL Cluster Manager is used to
automate cluster configuration changes, eliminating the risk of manual errors
and significantly enhancing DevOps productivity.
The subscription has delivered terrific
value to Playful Play, enabling them to:
- Improve performance
by 45% while reducing CPU utilization by 35%, providing significant headroom
for continued growth;
- Reduced DBA overhead
by 80%, providing substantial cost savings;
- Access to local language support, 24x7.
The
Future with MySQL Cluster
Playful Play has aggressive growth plans,
seeking to attract over 50M subscribers within 5 years. El Chavo del 8 is
continuing to gain widespread popularity in Latin regions around the world, and
will be joined by other social networking games currently in development. The next
major target is Brazil, presenting a very attractive, emerging market in social
gaming.
MySQL Cluster CGE has been selected as
the database platform powering this growth.
Playful Play will be presenting their experiences and best practices with MySQL Cluster at the MySQL Connect conference, September 29th and 30th 2012 in San Francisco.
Further
Resources
MySQL Cluster at Playful Play On-Demand Webinar (Spanish)
Guide to Scaling Web Databases with MySQL Cluster
PlanetMySQL Voting: Vote UP / Vote DOWN