GREE is a Japanese social-networking service that focuses primarily on mobile games, with businesses that also include media, advertising, and investment. In addition to the social networking service GREE, the company is known as the developer of the world's first mobile-social game. In recent years, as GREE continues to develop its media, advertising, and investment businesses, subsidiaries including Wright Flyer Studios have pressed forward with a "native shift," releasing numerous smartphone games that run as native apps rather than in a browser.
Among these games is Wright Flyer Studios' Another Eden. Designed to recreate the rich gaming experience of Japanese role-playing games—or JRPGs—on smartphone hardware, Another Eden was launched in April 2017 with the slogan "Set out once more on an adventure beyond space and time."
In 2015, GREE migrated more than 20 services—using thousands of on-premises servers—to AWS in less than one year. This reduced costs and infrastructure-procurement time for the company, and its 500-member engineering team now leverages AWS for both development and operation.
Mobile-social game development is becoming an increasingly sophisticated and time-consuming process. Though companies want to focus on providing a rich gaming experience, it is often difficult to dedicate large teams to operating the server application. Once a service is up and running, it must also be able to handle both explosive growth upon launch and a smooth update cycle afterward. The challenge is threefold: to build and maintain a development system that offers this combination of stability and expandability, to ensure that rapid subsequent migration to the operational system is possible, and to sustain server application development and operation with minimal human resources. To meet these challenges, GREE settled on a highly integrated and automated AWS development and operational environment built around database technology combining high availability with ready scalability.
"For Another Eden, the question was whether rethinking game-system architecture—including the server backend—would let us provide a new game experience and broaden the possibilities of social gaming itself. Even as developers of the world's first mobile-social game, this was uncharted territory for us," says Kiyoto Suzuki, architect on the Wright Flyer Studios division of GREE.
GREE's experience with Amazon Web Services (AWS) made it the most logical choice on which to construct and operate the game system.
For Another Eden, GREE reconsidered the best practices it had developed for the MySQL-based social-game server application model it was most familiar with. Instead, it selected the simpler Key Value Store (KVS) database architecture. This reduces the role of the server application as a centralized data manager, allowing data creation and processing to be performed by the client game app, which is able to contribute more easily and directly to the user experience.
"As a simple, schema-less model, KVS also lets other processes not under our control run on the database at the same time. It’s hard to allocate resources in advance on a mobile device, and you can’t adequately monitor them or obtain metrics from outside. It’s an unstable, unforgiving environment. But even with these limitations, we determined that a secure implementation of the client app was possible," says Suzuki.
Another Eden uses Amazon DynamoDB (DynamoDB) as its main storage service. To simplify the stack even further, the decision was made not to use MySQL at all. This made it possible to recreate the traditional JRPG experience seamlessly, using a technique known as "autosave" to eliminate the stress of waiting for data to arrive. The autosave technique allows the server application to mirror the database as it exists on the client, which makes the server application smaller and minimizes the cost of maintenance in both development and operational phases.
It also let GREE take advantage of the high scalability offered by DynamoDB. "It's true that KVS is less suited to some domains, such as aggregation, but we realized that by using DynamoDB Streams to feed these logs into the big-data analysis environment in real time, it's possible that the detailed analysis would be even more closely synced to the timeline," says Peichao Yu, who works on the server team in the Wright Flyer Studios division of GREE.
GREE had already deployed DynamoDB for multiple titles offered chiefly in North America. As a result, information had already been shared about its suitability in design and performance as a game database that fundamentally handles each user's game data individually.
Using DynamoDB and the autosave mechanism allowed GREE to resolve all challenges at a high level. Another Eden was in development for nearly two and a half years—a relatively long time for a mobile social game—and DynamoDB was up and running for roughly two years of that cycle. During this period, the initial 20 data tables grew to several hundred, and this expansion continues with each upgrade. This expansion takes place with almost no involvement from server-side engineers.
"Because the server-side architecture is so simple, there's very little need for client engineers to worry about the server application's characteristics or communication model, and the costs of learning its specifications are greatly reduced. During normal development, they can forget that the server-side application even exists. And this remains just as true now—after more than three million downloads—as it was during the development phase. The result is that we can devote engineering resources to enhancing the fun that directly improves the game's marketability, or enriching the analysis infrastructure that makes this possible," says Suzuki.
For a mobile-social game, the period of growth just after release is critical. How well the game handles this demand can affect the fate of future products as well. However, it is very difficult to predict exactly how strong this demand will be. At GREE, estimates of a product's marketability or a promotion's success are often fluid right up until launch, with efforts to maximize these factors continuing until the very last moment. This meanspredictions can miss the mark in either direction.
"This was true of Another Eden as well, but DynamoDB was just as scalable as we had hoped. In the end, the access figures after the launch of Another Eden were several times what we expected, with more than one million downloads in a very short period of time. But with Amazon EC2 and DynamoDB Auto Scaling, there wasn't a single service interruption due to lack of server resources—and hardly any due to hardware problems," says Yu.
At peak access times, the burden on the servers can be 5–10 times what it is during quiet periods in the middle of the night, but GREE is able to keep costs to a minimum by automatically setting appropriate server capacity based on trends leading up to the previous day. Even when access has spiked during special events or after upgrades, the multiple layers of load-response systems, including advance scheduling and alert-based scale out, have operated so smoothly that it has not once been necessary to assign a dedicated team member in the several months since the game's release.
"Because DynamoDB Streams lets us safely feed data-change logs into the analysis infrastructure without affecting the service, all data-change records are stored on Amazon S3. This lets us aggregate all kinds of KPIs as well as performing individual, ad-hoc analyses of past data whenever necessary," says Yu.
To learn more about how the AWS Cloud can help media and entertainment companies, visit our Digital Media in the AWS Cloud detail page.