Download:
Description:
There’s plenty of material (documentation, blogs, books) out there that’ll help you write a site using Django… but then what? You’ve still got to test, deploy, monitor, and tune the site; failure at deployment time means all your beautiful code is for naught.
This tutorial examines how best to cope when the Real World intrudes on your carefully designed website. We’ll cover:
- How to structure your code, dependancies, and development environment with an eye towards ease of deployment.
- The different ways you should be testing and verifying your code.
- How best to design staging and production environments.
- Tools to automate deployment to production clusters (Capistrano, Fabric), and ways to produce isolated repeatable deployments (virtualenv, pip, zc.buildout).
- Designing and configuring application servers (mod_python/mod_wsgi) and load distribution (nginx, perlbal).
- Monitoring and logging sites in production.
- Performance tuning, including profiling, tips for optimal cache use, and getting the best performance out of application and database servers.
Along the way, we’ll discuss what’s behind some of sites we’ve got in production right now, especially the problems we ran into and how we solved them. We’ll also critique any production environments tutorial attendees would like to share with us.