Why Sega's latest games required a move to the cloud

Sonic Forces and classic re-releases force Sega to evolve its infrastructure

When Sega re-released console classic Crazy Taxi as a mobile app in 2014, the developer didn't expect eight million people to sign up within a single week to play it.

With Sega's database and gaming servers sitting inside its own data centre, it couldn't scale to meet this surging demand, meaning users experienced crashing features and login issues.

"When they opened up the app, for example, they had a little 30-second wait; a call to the database waiting for the servers to time out," explained Dawid Esterhuizen, who joined shortly after Crazy Taxi's mobile launch as a senior server engineer to help address these problems.

With Sega used to relying on its data centre for games supporting offline play, these server-side problems - including logging into the game and trouble accessing features like the leaderboard - pushed up the app's churn rate.

Advertisement
Advertisement - Article continues below

So when Esterhuizen started a new project, mobile game Kingdom Conquest: Dark Empire, he looked into using a more scalable option, and recommended that everything needed to be horizontally scalable, including the database.

Crazy Taxi's 2014 reincarnation

Moving it into the cloud

The engineer checked out a few NoSQL options including Couchbase, but eventually settled on MongoDB because he had used it at a previous company, but also because its document structure proved to be a lot more applicable to the use case.

Sega chose Node.js combined with MongoDB for its data centre, which Esterhuizen says has been working very well.

But when Sega started its next project, Sonic Forces, which came out last week, Esterhuizen realised the game developer's data centre wouldn't cut it. Sega had projected numbers of about five million daily active users on Forces, of whom 100,000 would be playing concurrently.

As a result, Esterhuizen decided to run MongoDB's database on the vendor's new cloud platform, Atlas.

"We have a very small DevOps team - it's just me and another person - and we have to maintain all the other five games including other services and also this pretty big game that's just gone out," Esterhuizen explains.

"Managing a MongoDB cluster of the size we needed is quite resource intensive," he adds. So much so that without leaving database maintenance to Atlas, Sega would've needed to hire another DevOps engineer.

When he compared the price for using the database on Atlas with running it on Amazon Web Services (AWS), though, Esterhuizen found the cost to be quite high.

Advertisement
Advertisement - Article continues below

"Then we contacted [MongoDB's] enterprise team and worked with them over a couple of months to identify our needs and then they came back with a very reasonable quote which was much more in line with what we had in AWS," he says.

MongoDB Atlas gives Sega scale, and skills

Dawid Esterhuizen, Sega's senior server engineer

"What MongoDB gives us is the opportunity to scale up and meet that need to scale back down again so we can maintain the project long-term but without having a very big price tag on top of the database," Esterhuizen explains, saying he'll use it again in future projects.

"When we started the move towards it, we knew it would be an intensive and expensive investment because people have to be trained, people have to gather the knowledge. At that time, considering all the tools out there, I think it was the best fit for us," he says.

"There's quite a few developers who enjoy working with MongoDB because of the document structures. It makes it simpler and it's more applicable to how we use it at the application level," he adds.

But Sega's developers have given Esterhuizen a "mixed" response to MongoDB overall, he admits, with one common complaint being the database's lack of transactions.

Because of this, he wants to see transactions in the next MongoDB update. "The query retries [in version 3.6, launched this week] are already a big plus but if we have transactions it will make it even better," he said, acknowledging that this might make the database run slower, even in the cloud.

For Esterhuizen, he is looking forward to the new backup query option in 3.6. "It's absolutely amazing for us," he says. "For example, when we do analysis of data in the game we have to run quite big aggregations and slowish queries.

"Rather than running that on a production environment where it can impact users we can just click a button and we can run our query."

Advertisement
Advertisement - Article continues below

Pictures: Sega

Featured Resources

The IT Pro guide to Windows 10 migration

Everything you need to know for a successful transition

Download now

Managing security risk and compliance in a challenging landscape

How key technology partners grow with your organisation

Download now

Software-defined storage for dummies

Control storage costs, eliminate storage bottlenecks and solve storage management challenges

Download now

6 best practices for escaping ransomware

A complete guide to tackling ransomware attacks

Download now
Advertisement

Most Popular

Visit/cloud/microsoft-azure/354230/microsoft-not-amazon-is-going-to-win-the-cloud-wars
Microsoft Azure

Microsoft, not Amazon, is going to win the cloud wars

30 Nov 2019
Visit/business/business-strategy/354252/huawei-takes-the-us-trade-sanctions-into-its-own-hands
Business strategy

Huawei takes the US trade sanctions into its own hands

3 Dec 2019
Visit/hardware/354237/five-signs-that-its-time-to-retire-it-kit
Sponsored

Five signs that it’s time to retire IT kit

29 Nov 2019
Visit/mobile/mobile-phones/354273/pablo-escobars-brother-launches-budget-foldable-phone
Mobile Phones

Pablo Escobar's brother launches budget foldable phone

4 Dec 2019