

Django Deployment Workshop by Jacob Kaplan-Moss - ahmicro
http://ontwik.com/python/django-deployment-workshop-by-jacob-kaplan-moss/

======
geekfactor
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.

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

------
fdb
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?

~~~
njharman
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.

------
megaman821
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.

~~~
frankwiles
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.

~~~
megaman821
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.

