In my first post I talked about the interesting services that Amazon provides, in this one I’m going to talk about what Google has to offer.
Just as Amazon, Google offer a wide range of different services, but the there is a particular difference between the two of them, GAE (Google App Engine) has a “free” limit that you can use without using any kind of credit card or payment method. So you could publish an entire application without a single penny.
Right now I have an API for the Whack-a-mole game that stores the players scores. One advantage from the cloud that I will be using is that; since I will be testing this at the beginning and then decide if I will choose something different, like backend instances. GAE has a very interesting concept called backend instance. which is nothing more than an application running continuously waiting for a request (like a server). The difference between that and a typical application in GAE, is that the typical applications are sleep. and only run if there is a request. This is useful if your application is intended to work in this way. Since the game is not continuously communicating with the API (only when saving or getting scores). The typical application is perfect for me, because whenever a player wants to store their score an instance of the scripts will be initialized start the quota process the score and then die and stop counting toward the quota. So this keeps the quota low. Since I will not be continuously running the application. Also the typical application schema help me deciding at runtime how many instance I should be running to keep the experience smoothly. Which is something that I really want to keep encapsulated.
Thinking on this scenario:
A player initializes a request to the application to store an score, and by that time another player wants to store an score also, the application will simply initialize one instance for the first one, and then the second one will use the first instance of the application. If the first instance is too busy to process the subsequent requests it will initialize another instance of the application, in this case both instances will count towards the limits defined. But the free limits in GAE are fairly enough, because they have a free limit of 28 hours for a single instance running continuously, and that limit resets every day. So you can run 1 instance continuously the entire day and another instance for a couple of hours, you can see more about limit in this page: https://developers.google.com/appengine/docs/quotas
Hope this gives you an idea of how GAE can be used. Let me know any comments or ideas that you have.