Hacker News new | past | comments | ask | show | jobs | submit login
Django Deployment Workshop by Jacob Kaplan-Moss (ontwik.com)
69 points by ahmicro on Jan 17, 2011 | hide | past | favorite | 8 comments



I learned a lot by watching this and I highly recommend it but the viewer should be warned that many of the tools and techniques seem to have fallen out of favor in the Django community.

In my personal experience nginx+gunicorn turned out to be much easier to deal with than the reference Apache+mod_wsgi. It also seems to be JKM's current preference. Likewise, buildout, while very powerful can be a bit burdensome, and has fallen out of favor relative to pip+virtualenv.

For more current info, check out this extended chat with JKM and other lead Django developers here:

[discuss] http://news.ycombinator.com/item?id=2112160 [direct] http://www.revsys.com/officehours/2010/nov/05/

Note: This video is a dup to http://news.ycombinator.com/item?id=1830696 though I'm surprised that post only got one point. There are probably others.


Also, use PIP and VirtualEnv! Makes deps and packages so easy. Especially with virtualenvwrapper.


Definitely echo pip, virtualenv, and virtualenv-wrapper. They make life so much simpler.


I can recommend this. I've used this workshop to set up a few of my own production Django websites.

All materials, source code etc. are here.

https://github.com/jacobian/django-deployment-workshop

One trick I love is that he deletes all Apache configuration files and starts from scratch. I've found this a great way to learn what is necessary and what is overhead. Anybody else using this approach?


Stopped using apache long ago, but back then and today I delete every config line I don't understand. Which usually breaks stuff, which usually leads to me understanding (learning) what that config line did and why it's needed.


Why is pulling caching into the middle of an app a good idea? Memcached should be a last resort. The database should have a cache for things that get asked for over and over. Having a full page caching solution like Varnish is pretty doable for most sites where the only customization is the username at the top of the page which could be populated with javascript. Cache invalidation is a hard problem, why would most devs want anything to do with it? On lightly customizable sites, the only thing I would consider using memcached for is a faster session store.


So caching on the front and back ends is perfectly acceptable, but in the middle is not?

In reality, large sites would and should use all three to their advantage.


It's perfectly acceptable. I just think it should be the last thing you do instead of the first. If you are Twitter or Facebook caching in the middle is a must, pages are just too unique. If you have some newspapper site, why add the complexity to your app when there are great solutions on the front and back ends written by really smart developers.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: