title: What does it take to scale Django?
body: <h2>Problem</h2>
  
  <p>So I've been Django-ing for a number of months*. I find myself in a position where, I'm able to code up a Django web app for whatever, but am terrified by my inability** to come up with solutions as to how to go about building a Django web app for a large (LARGE) audience. Good to know that <a href="https://stackoverflow.com/questions/886221/does-django-scale">Django scales</a>, at least.</p>
  
  <h2>How I'm thinking about it</h2>
  
  <p>It seems like there would need to be a relatively large leap of knowledge to understand how to (let alone actually execute) scale a Django web app. I say this because my research has given me the impression that scaling (or, enabling scalability) is a process of fitting aftermarket solutions to the different components of your web app to enhance the performance of each of these components.</p>
  
  <h2>There'sjustsomanythings~~</h2>
  
  <p>So there's a ton of <em>solutions</em>, and a bunch of <strong>components</strong>. For instance, there's <a href="http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html" rel="nofollow noreferrer"><em>Elastic Beanstalk</em></a> for <strong>hosting</strong>, <a href="https://docs.djangoproject.com/en/dev/topics/cache/" rel="nofollow noreferrer"><em>Django's cache framework</em></a>, <a href="http://memcached.org/" rel="nofollow noreferrer"><em>Memcached</em></a> and <a href="https://www.varnish-cache.org/" rel="nofollow noreferrer"><em>Varnish</em></a> for <strong>caching</strong>, <a href="http://cassandra.apache.org/" rel="nofollow noreferrer"><em>Cassandra</em></a>, <a href="http://redis.io/" rel="nofollow noreferrer"><em>Redis</em></a> and <a href="http://www.postgresql.org/about/" rel="nofollow noreferrer"><em>PostgreSQL</em></a> for <strong>databases</strong>, and <a href="https://github.com/unbit/uwsgi" rel="nofollow noreferrer"><em>uWSGI</em></a>, <em>Nginx</em> and <em>Apache</em> for <strong>deployment</strong>. If what I think is right, anyway. I'm still not sure.</p>
  
  <h2><strike>What I Need</strike></h2>
  
  <p><strike>I crave that amazing response that becomes the canonical answer to the question, but would also appreciate leads on where to begin, or suggestions of an approach to take to solve the problem, or your approach to scale Django. Thank you in advance for your been-there-done-that words of wisdom.</strike> &lt;&lt; <em>Edit: SO disapproves :(</em></p>
  
  <h2>BRAND NEW &amp; EXCLUSIVE: A QUESTION FOR STACKOVERFLOW!</h2>
  
  <h2>What I need</h2>
  
  <p>What are the 3 most important/effective things I should do/implement to improve the preparedness for scaling of the Django web apps that I'm building? List the approach, and explaining how they help would be nice. </p>
  
  <hr>
  
  <p>*I've been cheating. I deploy on Pythonanywhere and have only used Sqlite3 up till now. I have also managed to keep my hands clean of WSGI/Apache deployment stuff to date.</p>
  
  <p>**With Django is when I first managed to create something of value through programming. Before, I had only used Pascal to cheat at Runescape and Java to make some shitty Android apps. Which could perhaps explain why I feel this is that large of a leap.</p>