RTT is brainCloud's new Real-Time Tech sub-system, which enables a whole new generation of features like real-time events, chat, messaging, online matchmaking, lobbies, and more.
RTT expands upon the brainCloud request+response architecture by adding a live bi-directional communications channel between the client and server portions of your app. This means that your service can push events to your client apps in real-time, without polling, enabling more exciting experiences.
As you would expect, adding these capabilities to brainCloud comes with new infrastructure costs - but as always, we have worked very hard to keep the costs to you very low and elastic.
- RTT is completely optional. No change to pricing for apps that don't use it.
- Pricing for apps using RTT is proportional to # of concurrent RTT connections (they use server resources) and the amount of traffic sent over those connections. Makes sense, right?
- RTT pricing is not fully in place yet - effectively giving early adopters super discounts!
Once in place, RTT billing will add the following costs (in addition to the standard API counts):
- Incremental Plans. RTT support will be included in new "Plus" plans, which will be introduced the first half of 2019. Update - the new plans are described here!
- We will charge for pushing the RTT events to recipients (i.e. deliveries). We will do so at a 1000:1 bulk ratio - so basically 1000 of these bulk RTT pushes = 1 API count. That's a pretty great deal!
- We will charge for peak concurrent RTT connections per hour. RTT plans will include a certain amount of connections for free (it will vary by plan). Above this number, the developer will be charged 10 API counts per connection.
Let's try some numbers. We will use as our example an RTT-enabled app that recently launched on brainCloud. It is averaging about 35K daily active users, and 1.75M API calls per day (~50 API/DAU).
The devs have integrated in group-based Chat and Messaging. Our stats are showing that the app is averaging about 500 concurrent RTT connections (CCx's), and that users are sending about 10,000 messages (chat + messaging) a day. This equates to about 1 message per 75 minutes that a player spends in the game. This seems like it's very little, but chat isn't the primary function of the app, and people spend much more time listening to chat than posting to it.
Groups in the app can have up to 50 players - but far less than 10% of players would be online at any time. For discussion purposes, we'll assume that each message sent gets received by 5 players. [That's probably way high, especially considering that this app's traffic is split between chat and messaging - which is point-to-point.]
Anyway, let's do the basic calculations:
- RTT Deliveries = 10,000 x 5 recipients x 30 days = 1,500,000
- RTT CCx = (500 - 100 free sessions) x 24 hours x 30 days = 288,000
So how many API counts does this add to the app? As you will recall, each additional CCx is 10 API calls, but deliveries are very inexpensive at 1000 delivers per 1 api count:
- RTT Deliveries API Counts = 1,500,000 / 1000 = 1,500 API
- RTT CCx API Counts = 288,000 x 10 = 2,880,000 API
Which totals out at of 2,881,500 API calls - which at ~$10 / M = $29.00* of RTT Usage.
Note: * Plus the cost of the RTT-enabled plan!
As you can see above, RTT costs are greatly affected by how you implement your app. Be smart about when and how you use RTT to lower system impact and reduce your costs!
Tips for keeping RTT costs low:
- Enable / disable RTT as appropriate in your app to keep the concurrent connection charges low. To minimize costs, don't have it enabled in parts of your app where real-time events can't be viewed, acted upon, etc.
- Bulk delivery charges are a bit of a wild card -- their cost is directly related to the # of recipients of each event. Chat, and especially global chat channels, are the most expensive features for bulk charges.
Tips for reducing Chat traffic:
- Segment your traffic across multiple channels if you can - by topic, region, language, etc. Traffic in smaller, focused channels costs less - and is more engaging for the users to boot!
- Connect / disconnect from channels dynamically. The brainCloud API is fast - use it! Avoid connecting simultaneously to a bunch of channels when only one can be viewed at a time!
Some final caveats on brainCloud RTT Pricing:
- The usage estimates above don't include the cost of getting access to an RTT-enabled plan. That's because those special plans don't exist yet! For now, Business Plan customers get access to RTT features for free! (plus usage of course).
- We also don't yet have the RTT Bulk or Concurrent Session billing facilities in place - so those components are free for now as well!
So in summary, early adopters get access to RTT for just the incremental costs of the API calls used - it's the best introductory offer ever!
This offer will not last forever - in fact, it is just until brainCloud Release 4.0 - which lands first half of 2019! So act fast, and add RTT to your app today!
If you have questions or comments on the planned RTT pricing model, be sure to hit us up on support chat! We would appreciate the feedback!