Live data from Hacker News

Heroku clone for Django?

djangy.com

41–50 of 62 posts

Re: Heroku clone for Django?

#41
post #30

Earlier quoted context omitted.

Use of SQLLite too - does that scale and perform well against something like postgres? I think what we're seeing here is an email/hype-grabbing attempt with an interesting vision, using the Heroku name for leverage. Would like to see it materialise, but they really should have hardened something as simple as a signup form. I've emailed the admin telling him to lock it down.

To be fair, you wouldn't need much more than SQLite to gather emails. It's more than sufficient (I would say it's absolutely amazing for most use cases, but the one thing I am not sure about is how well it handles concurrency, if at all). I tried SQLite for a few things, and it has always come out a champ. I would not hesitate to use it for most of the semi-static websites I make (web apps would be pushing it), if I…

SQLite is a file and thus uses file-level locking and does not have row-level locking. Data can not be read the same time anything is being written, so it is usually not great for multi-user applications or web applications.

Development, or 1-3 user web app it should perform OK. It doesn't scale and you will get db locks and retries if its under too much load.

To speed this up (if you must use SQLite), use a solid state drive as I/O performance is the biggest bottleneck.

Re: Heroku clone for Django?

#42
I would love to hear more about this. I'm currently in the middle of a Django app, and this would be a godsend. I like doing sysadmin stuff, but there's no way I will have time in the next year.

If you guys can pull this off, I will be a very happy customer.

Re: Heroku clone for Django?

#43
post #26

Earlier quoted context omitted.

App Engine is a pain in the ass, and I wouldn't recommend it to anyone. Heroku is so simple to use that I've many times felt that someone needs to build a Heroku for Python. The only thing really wrong with App Engine is the datastore: - It's very different than anything you've come across before - The docs are not sufficient for it's complexity. You end up having to read lots of blogs and watch lots of videos to fig…

While I do agree that the App Engine datastore does require for some planning above what you're used to from a traditional RDBMS, I think it really just reflects a learning curve that comes with any new technology: as you use it more often, you get better at it. I think calling App Engine a pain in the ass and that you wouldn't recommend it to anyone is a bit over the top.

No, I truly meant it. Everything related to the datastore is difficult and tedious. Goodbye to incremental development, goodbye to knocking out a feature in an hour. Every single change you make has to be planned.

Adding a field to an "object"? Where do you use that object? Is there somewhere that you don't use that field which becomes too slow?

How are you going to migrate that new field? There aren't tools to help you migrate. Generally, you have to change to an Explando, add the field, load every single object from the datastore, then save every object back to the datastore.

These are two examples off the top of my head. Every change you want to make in App Engine has similar questions raised. I really did mean it when I wouldn't recommend it to anyone.

I think it's a much different learning curve than with any other technology. I'm plenty adept at learning new things, but this was just unnecessary complex, with nothing to redeem it.

Re: Heroku clone for Django?

#44
post #15

Earlier quoted context omitted.

Yeah thats the problem with deploying "by hand". Maybe this python guys should use Capistrano for this things :)

Fabric is nice too and it's in python ( http://docs.fabfile.org/0.9.1/ ).

I was literally just looking into this yesterday because I've been lazy and haven't set up a good deployment process. I found this article http://lethain.com/entry/2008/nov/04/deploying-django-with-f...

I'm wondering what the best practices are and since I have so many people around me who use Capistrano I'm thinking about just going with that. Any words of advice?

Re: Heroku clone for Django?

#45
So, this is my site. Yep.

I forgot to turn debug off. Yep. And i'm using sqlite3 to accept email addresses. Yep.

I can assure you the quality of the ACTUAL project is far better :-)

I have a working prototype and am working my ass off to get something scalable up and running asap. keep checking back for details!

Re: Heroku clone for Django?

#47
post #39
post #8

Earlier quoted context omitted.

> Btw, isn't Heroku itself planning anything for Django? Has that ever been mentioned or rumored before? Is that even feasible given Heroku's technology stack?

I was throwing around startup ideas and I emailed them in late june 2010 to ask if they were considering it. The response was quite clear that they had no plans to enter the Django market.

That's what I'd expect. They're only still in the early market penetration stage of the Ruby market; it doesn't make a whole lot of sense to complicate their product offering. (Particularly when App Engine is available for Python/Java.)

Re: Heroku clone for Django?

#48
post #41

Earlier quoted context omitted.

To be fair, you wouldn't need much more than SQLite to gather emails. It's more than sufficient (I would say it's absolutely amazing for most use cases, but the one thing I am not sure about is how well it handles concurrency, if at all). I tried SQLite for a few things, and it has always come out a champ. I would not hesitate to use it for most of the semi-static websites I make (web apps would be pushing it), if I…

SQLite is a file and thus uses file-level locking and does not have row-level locking. Data can not be read the same time anything is being written, so it is usually not great for multi-user applications or web applications. Development, or 1-3 user web app it should perform OK. It doesn't scale and you will get db locks and retries if its under too much load. To speed this up (if you must use SQLite), use a solid st…

Thanks for clarifying what I suspected. If you don't need high concurrency, it's a champ.

Re: Heroku clone for Django?

#49

Earlier quoted context omitted.

Same here, except I've set things up so that any changes I make to my project are automatically synced instantly to a live staging domain, and I don't have a revert command (although I do back up copies of previous deployments). I also keep apt and pypi dependencies in project-local config files and have a refresh command that updates those packages on both the remote and local machine along with some other stuff. I…

would any of you share these files and your setup? I'd love to have a look into them. Thanks!

Here you are:

http://dpaste.com/231226/

Re: Heroku clone for Django?

#50
post #37

Earlier quoted context omitted.

How does it work? How do you handle persistence and parallelism?

The front end dispatches requests to a Varnish, which is in front of a router that queues up requests and sends them to available copies of the desired application. Persistence is Postgresql, and delayed and scheduled jobs are handled by celery over RabbitMQ. My number one goal is to provide a deployment environment with as few additional restrictions on the developer as possible.

That sounds quite good! So most of the parallelism is on the view processing layer? Is the postgres setup parallelised as well?
Post reply on HN