In the second part of my series about cloud hosting I'm going to be taking a look at the relatively new Google App Engine to see what advantages it has to offer to developers and businesses!
In part 2 of 'how sites get hacked' we look at XSS and SQL Injection
Google App Engine
Google App Engine is primarily a cloud hosting environment from google, but it is also a lot of other things. When Google first announced Google App Engine (GAE) it was aiming the service primerily at developers. The screencasts for GAE focus on the technical advantages of using App Engine, Including:
Access to homegrown google API's including storage, authentication, templating and other google technologies
Lack of costs for low level traffic and processing requirements, essentially its free for low bandwidth applications!
Ease of deployment, develop your entire application locally and then deploy to the live domain with one click
Performance and bandwidth scalability, you application will never run out of storage, bog down in performance or run out of bandwidth because the infrastructure scales with the requirements of the application
So how well do these requirements work out in practice?
Its always very nice to have access to mature, well thought-out and highly featured API's such as the ones Google has built in to App Engine, and as such these are a real strength of the platform. The only problem is that the platform only runs code written in the Python language which is not exactly known as one the common choices for web development!
Free hosting is also good, that is, until you go over the non-free limit and Google start charging you! What happens if your application gets Dugg and you end up with a large unexpected bandwidth bill from Google. Thankfully Google does provide a way to turn off your applications and also provides some reporting data so you can keep tabs on your usage. I don't think there is any way at present to set your own limits and budgets though which would be a great feature to have.
Google do provide a full featured SDK and development tools which make developing locally very easy (if you can get your head around Python), and deploying to the live hosting is more or less one click. This is an area that Google appear to have got right.
Performance should be a no brainer here, its pretty much the main selling point of the service. A number of third party public load tests shows that it works as advertised scaling well with traffic levels and never seeming laggy or bogged down. In all, this is another win for Google.
Conclusion
At the moment Google App Engine is a developers toy. It seems to be mainly intended for developers to use as a playground and come up with interesting applications built around Google's APIs. Lack of supported runtimes for more common scripting languages is a big handicap for the service and will keep all but the most curious away. Apart from that, lack of account controls will also pose problems for businesses who are looking to tightly control their outgoings and hosting expenses.
In the main, if you are a technical developer looking for a feature packed and highly scalable service to try out your new killer idea then App Engine is worth considering. But if you are looking for flexibility and something which helps just 'get the job done' then you might be as well to look elsewhere at the moment.