Tech Tuesday: Google App Engine for Promotions
By Jon Pettersson
Most online promotions, whether a new loyalty program or product launch, are short term and usually only require a massive amount of computing power during the first couple days when traffic is extremely high.
With traditional hosting and web applications you would pay for this computing power long after it is necessary. This is a problem that can be solved by using cloud computing and Google App Engine does a fantastic job at it.
GAE (Google App Engine) is a complete development stack that allows you to quickly build and host web applications that will automatically scale to your needs. It is built on the same infrastructure that runs all of Google's web products including their search engine. 10 years of Google's brightest ideas in scalability and performance driven systems literally given away for free. At least initially. You begin with free daily quotas for things such as number of requests, CPU time, datastore access, and data storage. Once your free quotas are up you pay for what you use. Each App Engine application comes with an administration panel which allows you to view and change the limits to increase your quotas.
This setup is ideal for short term promotions that will have a huge initial hit of visitors and then die down afterwards. The traffic from your returning visitors may even fall within the free daily quotas, in which case, you would only pay for the initial traffic hit.
App engine gives you the same cloud computing type scalability such as Amazon EC2 except there is no server configuration, maintenance or instance handling necessary. This means you won't need to do these yourself or pay someone to do these things.
However, there are some drawbacks to GAE. You are confined to using the python or java programming languages and most of the popular frameworks for these languages aren't compatible with the database GAE uses called Big Table. This isn't to say that they won't work, but that you need to build the app in a certain way which prevents it from being easily ported to a more traditional hosting environment if the need should arise.
Additionally, if your application requires connecting with a third party API through a firewall that needs to be setup with your server's IP address GAE, like other cloud computing options, will not support this since your apps outgoing IP will change depending on how GAE is distributing its resources. However, if you control the firewall and the servers behind it you could use the Secure Data Connector for this task.
With the few caveats aside, GAE brings cloud computing to the masses in a way that is both accessible and competitive. It prevents the need to deal with servers and the hassle of setting up and choosing hosting plans. By forcing the development of scalable applications and having virtually no barriers for entry GAE is a very promising platform, not only for short term promotions, but for any type of web application whether large or small.