SmartFoxServer in the cloud with Jelastic

Recently we have announced a new partnership with cloud provider Jelastic to offer efficient and scalable cloud hosting for SmartFoxServer at very affordable prices.

In this article we’re going to explore the advantages of combining the two services, especially the ease of fine tuning the expenditure, which can be paramount for startups and independent game developers.

» Behind the scenes, a little bit of history…

Hosting provider Jelastic is a veteran in the field of cloud services, having been founded in 2011, and we at SmartFoxServer have been using their technology since 2013. In particular we enjoyed the ability to quickly deploy Java applications and the fine-grained resource management, which makes it an excellent tool for our needs in testing and performance benchmarking.

Since 2014 we’ve been speaking with Jelastic about creating an easy way to deploy SmartFoxServer 2X in their environment and after some time and lots of other activities going on on both sides, we have finally announced a 1-click deploy system and a convenient free trial for 14 days.

» Why Jelastic and SmartFoxServer 2X

Both Jelastic and SmartFoxServer 2X provide a straightforward system to control your current expenditure and avoid to hurt the wallet:

  • Jelastic allows to allocate/deallocate resources via their cloudlets system, making it very affordable.  While most cloud providers offer preset configurations that jump from small scale to large scale settings, Jelastic allows a finer grained tuning of the resources which can be changed on the fly, while the server is running.
  • SmartFoxServer 2X provides Elastic Licenses, based on a prepaid and rechargeable credit and charged on a daily basis. The charged amount varies with the license’s maximum concurrent users (CCU) and can be reconfigured on the fly to accomodate any change of traffic.

These two systems paired together are particularly effective for small game studios and indie developers who need to launch a multiplayer game while keeping expenses under control and being able to scale up or down at any time.

Here are a few examples of monthly fees for different types of multiplayer games.

» Turn-based monthly plan:

DAU CCU Range Cloudlets

Jelastic cost

SFS2X license

Monthly Tot

<= 7500 <= 100 min: 1, max: 2

19,30 €

5,00 €

26,00 €

<= 37500 <= 500 min:1, max: 3

26,20 €

25,00 €

53,50 €

<= 75000 <= 1000 min:1, max: 5

39,50 €

50,00 €

93,00 €

 » Realtime monthly plan:

DAU CCU Range Cloudlets

Jelastic cost

SFS2X license

Monthly Tot

<= 7500 <= 100 min: 1, max: 5

39,50 €

5,00 €

48,00 €

<= 37500 <= 500 min: 1, max: 10

73,00 €

25,00 €

104,50 €

<= 75000 <= 1000 min: 1, max: 16

113,40 €

50,00 €

173,50 €

  • DAU = daily average users
  • CCU = concurrent users
  • Cloudlets = the unit of hardware resources in Jelastic

 » How we calculated it

The prices shown above are obtained by averaging the minimum and maximum cost for the cloudlets used. For instance in the last line of the turn-based table we took the monthly cost for running 1 cloudlet and 5 cloudlets and calculated its average ($14 + $72 / 2 = $43).

The prices are updated to March 1st 2016, based on the Jelastic provider ServInt in the USA. Figures may vary a little depending on the country of the Jelastic provider.

Finally we have calculated each required cloudlets setup, for each DAU/CCU size, by running a live stress test in the Jelastic environment.

For turn-based games we used the following settings:

  • Average players per Room: ~ 5
  • Message rate: 1 req. every 3.5 seconds
  • Average request size: 80 bytes (e.g. small text message or game move)

For real time games:

  • Average players per Room: ~5
  • Message rate: 1 req. every 80ms
  • Average request size: 20 bytes (e.g. positional update)

» The best of both worlds

Multiplayer services in the cloud are typically offered with the SaaS (software as a service) formula. This means that the software managing your multiplayer side of the game is run and managed by the cloud provider. This has the advantage of offloading the developer from the details of deploying and configuring the multiplayer server but it also comes at a high cost:

  • Little to no ability to customize the software for one’s own needs
  • Lack of server side coding
  • Few or no security tools (flood filters, IP blacklisting, request filters, custom parameter validation, etc)
  • Inability to directly plug one’s data sources (e.g. database and database clusters), unless via remote calls to external HTTP services, which hinders scalability
  • Lack of performance tweaking and customization of scalability strategies
  • Lack of integrated and customizable persistence tools (e.g. ORMs, local storage, grid storage…)
  • Lack of strong privacy: your application usage data, player’s data and relative statistics are all managed by a third party

cloud-saas-paas

Jelastic instead is a PaaS (platform as a service) provider offering an ideal environment in which developers can run their own services. With the tight integration of Jelastic and SmartFoxServer 2X you get the best of both worlds: a reliable Linux-based cloud running one of the most feature-rich multiplayer server on the market, at the same price of a basic, vanilla SaaS option.

SmartFoxServer 2X in the cloud is ready to work out of the box, no special configuration needed, but when your application requires it you can:

  • Fine tune the scalability based on your game’s requirements
  • Run any server side code implementing your game’s logic in an authoritative way
  • Manage security via permission profiles, per-request flood filters, bad words filters, TLS 1.2 encryption, request size limits, parameters validation, persistent banning and kicking both manually and automated
  • Integrate your favorite database engine, ORM, and pretty much any external data source with top-notch performance
  • Integrate http services and Extension code via in-process communication
  • Use the advanced API for matchmaking, invitation and challenge management, buddy list management with presence and persistence services, area-of-interest based event dispatching for MMO type applications… and tons more
  • Use out-of-the-box persistence services such as Buddy List and Room persistence or plug in your own
  • Keep your server’s usage data and server’s statistics to yourself, by managing directly your datastore

» Wrapping it up

If you’re interested in checking SmartFoxServer in the cloud we highly recommend the offer from Jelastic. The free 14 days trial comes with no strings attached: you don’t need to provide any credit card details or fill boring pages of forms etc… You can get started in literally less than a minute.

To learn more details we recommend to: