Sign In Register

How can we help you today?

Start a new topic
Answered

GameSparks scalability and MongoDB Sharding?

hi,


Does GameSparks support sharding in Mongo?


What happens if my game is very successful and gets to tens of millions of users? Will GameSparks Mongo DB scale?


What about the Cloud Code and other server infrastructure? Is it infinitely scalable? Are there any games which you can mention which are run on GameSparks with heavy server load on the Cloud Code and Mongo DB? I know you guys have the showcase, but it doesn't say for certain what portion of GameSparks these games are using. For all we know, maybe they just use GameSparks for Authentication and built their own infrastructure for everything else? It also doesn't state how many millions of users are on these games. I think a few of them have in the millions, but it's really not clear...


Thank you!


Drew


Best Answer

Hi Drew, 


Typically developers would from the outset have a figure in mind for MAU and CCU. Should your game acquire a store feature or any other form of exposure that would greatly increase your user base, you can let us know in advance so that we can prepare infrastructure. 


That being said we have monitoring in place to deal with spikes in player count and systems in place to automate the vertical and horizontal scaling of servers as the need arises. Of course in the case of massive,sudden traffic increases, advance warning greatly helps us prepare for such a load. 


I can't speak specifically on a particular game however I can say with certainty that we have multiple games on various platforms with millions of players which heavily utilize our Features as well as our Cloud Code Api. 


I hope this puts your mind at ease, and my apologies for not being able to be more specific, however user confidentiality is very important to us. 


Happy to help -Patrick. 



Answer

Hi Drew, 


Typically developers would from the outset have a figure in mind for MAU and CCU. Should your game acquire a store feature or any other form of exposure that would greatly increase your user base, you can let us know in advance so that we can prepare infrastructure. 


That being said we have monitoring in place to deal with spikes in player count and systems in place to automate the vertical and horizontal scaling of servers as the need arises. Of course in the case of massive,sudden traffic increases, advance warning greatly helps us prepare for such a load. 


I can't speak specifically on a particular game however I can say with certainty that we have multiple games on various platforms with millions of players which heavily utilize our Features as well as our Cloud Code Api. 


I hope this puts your mind at ease, and my apologies for not being able to be more specific, however user confidentiality is very important to us. 


Happy to help -Patrick. 


thanks for the response. I will keep all of this in mind.


Can you answer about sharding? If the MongoDB grows very large in size, can you offer sharding if needed? Are you guys already doing this for some of your bigger clients?


Thanks,


Drew

Hi Drew, 


Yes, This takes place automatically and is part of the horizontal scaling policy. We have games with up to 550,000 Concurrent users which experience no performance issues. AS I mentioned above, our Automated Scaling policies will make sure your server has the resources it needs, with bigger increases it is useful for us to know in advance so that we can prepare accordingly. 


Once you adhere to our Fair Usage Policy and System Limits there should be no issues with your deployment. You can always inquire as to the best practices for your various implementations should you be concerned with performance or scalability. 


Does this answer your question? 

Happy to help - Patrick



1 person likes this

hi Patrick,


Thanks for the response. Yes, this adds to my comfort level a bit.


I wanted to ask about the back-end architecture of Cloud Code. I'm assuming that Cloud Code could be run any number of VM instances for my game? So if there's a load of say 500,000 or 5,000,000 players, my Cloud Code functions may be executed on many servers scaled horizontally to handle that load?


If that's the case and my assumption is correct, how does Locking mechanism work inside Cloud Code? I know that the Spark API supports locking which I plan on taking advantage of. Is locking safe across many VM instances? I'm assuming yes as otherwise it wouldn't be useful. How does that work, is it using Redis or some other shared memory cache to implement this?


Last question :). Is redundancy built into the platform? What I mean is, once in awhile AWS regions may go down. If I was building my own back-end, I would have to create redundant servers in different regions / availability zones, so that if there was an outage with AWS, my game didn't suffer an outage for the same amount of time AWS is out for that region. Does GameSparks flip to different regions/AZs if outage occurs?


Thanks!


Drew

bump :)


Thanks!


Drew

Login to post a comment