Hacker News new | ask | show | jobs
by elicox 4854 days ago
Sorry for the Off topic, but anybody have a good experience with Appengine+Google Cloud SQL+Django?? I am thinking as alternative to AWS but I dont know if it's going to give me so much problems with the integration. Also a bit worry about the price in comparation with AWS. Anyone experience in both world?
7 comments

Have you looked into Rackspace Cloud? Full disclosure: I work at Rackspace, but I honestly believe that Cloud Servers + Cloud Database (hosted MySQL) at Rackspace is vastly superior choice for a reasonably large number of projects/products than AWS.

IMO, the perfect setup for most non-Facebook sized money-making web apps is nearly always dedicated SSD-powered database hardware connected to a cheap cloud of virtual boxes to serve requests. Spending engineering $$$ on scaling your data across unreliable virtual instances often is not a good idea.

Going all-dedicated, if you can afford it, is great for pretty good uptime at zero engineering cost. I recommend SoftLayer for this: they sell cheap and reliable dedicated servers connected to pretty good networks (just stay away from their older Dallas-based DCs, but DC5 is good).

I have used both. I would strongly suggest going with AWS.

Reasons:

Local development with Appengine is pretty bad. Good luck debugging and profiling production issues.

Appengine will make you jump through many hoops that undermine or completely drop pieces of the Django framework.

Getting data out of Appengine is a huge nightmare and timesink.

If you ever decide to migrate off Appengine you will need to rewrite almost everything.

This was my experience as well. I wish I had that month back.

I still have an app on GAE (the high availability version) mostly because I don't want to roll out my own HA Mongo DB. At some point it will become cost effective to do my own.

The other AWS plus: when my response time skyrockets, I can figure it out and fix it.

Was your data in the Appengine Datastore? I believe elicox was asking about using Google Cloud SQL, which I believe makes data export relatively easy (Cloud SQL is basically managed MySQL). New Django + Cloud SQL also runs basically "pure" Django, rather than the hacked-up djangoappengine of the past, so next to zero code should have to be changed in a move off AppEngine.

I recently made the switch from Datastore/djangoappengine to Cloud SQL, and it has been a far better experience.

Yeah I mean Cloud SQL, few years ago i was trying to replace the ORM of Django with he own AppEngine Datastore and it's a nightmare.
Note that Django also works well on Heroku: https://devcenter.heroku.com/articles/django

(where I work)

I'm working on a codebase that we recently ported from GAE to AWS. We ran into lots of issues with GAE, mainly around: * Exorbitant cost * Obtuse ORM * Random, unannounced/poorly reported downtime

I'm happy to elaborate, but I would stay as far away as possible from GAE. Our experience was terrible. I should note as a disclaimer that we did not use the high availability version.

While Cloud SQL and Appengine both do look expensive, I have to say the new integration is quite nice to work with. I had struggled in the past with djangoappengine, which let Django run on the weirdness of the Appengine Datastore, but now that I'm running basically "pure" Django on MySQL it's far smoother sailing. Much less setup than AWS and even easier/more straightforward than doing Django on Heroku in my opinion, but ymmv.

Docs on running native django on cloud sql: https://developers.google.com/appengine/docs/python/cloud-sq...

A guide I used to set it up: http://www.joemartaganna.com/web-development/running-django-...

It really depends on your usecase. I've been hosting simple Django-based websites for clients (think 500-1000 uniques a day) for some years, and couldn't be happier really. There has not been a single issue, and the prices for that kind of volume is laughably low ($2-4 a week). I would NOT do django + appengine for anything complex however, since in my experience getting everything to work together without banging your head too much requires a fairly standard Django-app.

Last time I touched any of these sites other than to add security patches and the likes was 6 months ago, so it could be better/worse these days, YMMV.

not much experience but AFAIK cloud SQL is targeted for enterprise, and is far more costlier than say AWS.