Qiang Blog

Just another zhangjingqiang's blog.

How to build a BaaS platform?

It was my second time to take part in the DeNA study last night. It was wonderful because I started to pay attention to the BaaS(Backend as a Service).

Because of it was a topic from a game company, the BaaS is specially means Game BaaS.
There are many games will be released in a big game company every year. The general features are the same. So why don't make a common platform for all the games? It will reduce cost, save time, and so on.

For example, the platform image will be:

One Proxy Server

This layer is responsible for multi process, authentication, allocate for every API server, manage common API, etc.

By EventMachine

Common APIs

This is the most important layer. Be sure to do the restful architecture. Make the common features to gems.

  • Session API
  • Player API
  • Payment API
  • Asset API
  • Ranking API
  • Information API
  • MasterData API
  • etc

By Sinatra, Sequel and Unicorn.

Databases

  • Master-Slavel (for Game)
  • Master-Slavel Sharding (for Player)
  • Master-Slavel Sharding (for Ranking)
  • Master-Slavel Sharding (for Log)
  • etc

By MySQL and Q4M, also Redis.

One Management Tool

By Rails, Unicorn and SwitchPoint.


All the above are the topic about BaaS yesterday. All rights reserved by DeNA

References

api baas database game platform proxy ruby-on-rails sinatra