Software architecture: the decisions that are expensive to change
1 / 10 · ≈ 8 min left
The problem
Django's FAQ answers "Does Django scale?" with a yes, and this reason: Django uses a "shared-nothing" architecture, so you can add hardware at any level, database servers, caching servers or web servers.
Every app built on Django lives with that decision. A Django process keeps nothing between requests that another process would need. By default, sessions go to the database and stay out of process memory. If you change that rule late, half your code has to move.
Architecture is the few decisions that are expensive to change later, and that every other decision depends on. As an architect, you make those decisions on purpose and you know what each one costs.