Yipit has been using Django since its inception nearly two years ago. If it wasn’t for a modern web framework like Django, we probably wouldn’t exist.

Two years and hundreds of thousands of users later, we’ve gotten deep into the core of Django and many of the contributed packages.

Our goal now is to truly master Django.

While one can learn a lot by doing, we tend to believe that you can learn even more by teaching what you’ve learned.

Accordingly, we’re going to be spending significant time sharing what we’ve learned and are learning about using and scaling Django.

Topics We Will Cover

Some of the topics we will be regularly discussing on our new Yipit Django blog include:

System configurations: Using Chef and Fabric to deploy our Github-hosted code to Ubuntu servers on Amazon ec2. Running Gunicorn as the application server.

Database Migrations: South handling model changes and generating appropriate migrations.

Data Storage: A combination of MySQL, Memcache, and MongoDB for storing our data

Queueing Tasks: Celery for queueing asynchronous processes. Amazon’s SQS to manage the underlying queue.

Templating: Inheritance and custom inclusion tags.

Testing: Automated testing tools including Nose, Splinter, and Lettuce

We hope that by sharing what we’re learning, not only will we get feedback to help us improve our current techniques, but we’ll learn about ways to do things better from members of the community.

If all goes well, we’ll be able to meaningfully give back to the Django community that has given us so much.

And, if all goes really well, hopefully we’ll encourage more startups and big companies to share lessons they’ve learned scaling and expanding their own infrastructure.

You can follow along on: