Google App Engine is nice. Cloud Computing is nice. But I’m giving up GAE for now, and bellow is why.
I (re)started to play around with Google App Engine about one or two weeks ago. Of course I read a lot about it in the past, and decided to play a little bit.
The first thing you have to do is to go to http://appengine.google.com/ and Sign Up. You will have to enter a mobile number and they will send you an SMS to validate your registration. The problems started here for me. It simply didn’t work for my number. After trying several times and waiting a few hours, I decided to use my Mom’s mobile – and a few seconds later, she received the message. It should not be that complicated, but at least now I could try GAE out.
Then, I installed the Eclipse plugin and created a sample project. This is the nicer part of all. Just click the “Deploy to Google App Engine” button in the tool bar, fill in your google credentials in the dialog that will appear, and your application will be uploaded and deployed. Really easy and impressive.
So far so good. So why did I gave up using it? If you read this blog for some time, you already know I’m really interested in Scala. So, what I really wanted to do was to deploy something using Scala to the cloud. Specifically, I wanted to deploy a Lift web application.
It turned out that, during some readings, I discovered that the main feature I was using with Lift doesn’t work with GAE: Ajax and (Ajax) Comet. GAE has some restrictions that you can usually overcome, but there is one that hits this Lift feature pretty hard: you cannot create Threads in a Google App Engine application. Usually, this is not a problem, but Lift’s implementation of Ajax uses Actors which, if I understood correctly, are implemented with Threads – and this make a lot of sense.
So, no GAE for me, at least for now. At least until I get bored with Lift :p