views:

836

answers:

3

I am split between the benefits of developing Java (non-commercial) webapps and deploying to something like Aptana or Google cloud, or just going with a Slice Host account. Tomcat or Jetty and MySQL are really my only big requirements. Aptana and Google App Engine come with some cool Eclipse deployment options, but does scalability really matter without a large user base for the apps?

Also, both Aptana and Google App Engine seem to be in infant stages, so I'm wondering if there will be too many restrictions, even for small time development. Anyone have experience with these?

+2  A: 

I use slicehost and I am happy with the result so far. Its easy to upgrade your slice (I had to do it once already) and its easy to rollback to a backup of the slice (I had to do that once too). I am hosting Tomcat and MySQL.

Vincent Ramdhanie
+6  A: 

I can't speak to Aptana but Google App Engine is a radically different development experience from what you'll get with something like Slicehost. It scales differently (i.e. you've got the possibility of handling much larger loads) but it's also totally different than running your own web app server (e.g. Glassfish, Tomcat, JBoss, etc.) and coding using "standard" Java tools.

With Slicehost or any hosted solution it's easy to setup your own development environment locally which exactly mimics what you'll be running on the server. Same software, same VM, maybe even the same version of Linux. You could even move to a different host and still be able to setup that same environment.

With Google App Engine you'll find yourself building on an emulator (you don't really run BigTable locally) so there's not a one to one correspondence between your environment and that on the server. There's no alternative place to move to and still be running in the same environment either. Also, some perhaps many of the popular Java frameworks you might use for a web app development will either not work at all (e.g. ) or will not work out-of-the-box (see here for more details).

I'm not down on the App Engine, in fact, I think it's really cool. If the demand for your apps is relatively low and therefore you're not in need of the huge scaling requirements, but your traffic is not so low that you fit comfortably within the free allowance at Google then I would probably lean towards a hosted solution like Slicehost instead.

John Munsch
I'm slowly trying to write a java app on App Engine and your points are spot on. Your choice of frameworks is currently pretty limited which is the biggest drawback for me. I have yet to try to upload my app to their servers so I can't speak to the difference in environment, but I would hope they would be similar enough to catch the vast majority of issues. I'll keep going because I suspect my traffic will be small enough to be free for a very long time.
digitaljoel
+1  A: 

Bear in mind, Google App Engine does not give you a full JRE. You cannot spawn threads directly, for example. Also, I have found that the GAE datastore performance is too slow -- I run into timeout exceptions constantly. In sum, it is not a true application hosting solution. You have to heavily tailor your application to make it run on GAE.

Julien Chastang