How do you recommend configuring server clusters appropriate for each stage in my website’s growth?

Whilst the exact answer will vary according to your web application’s architecture, we recommend the following cluster architectures to back a typical site as it grows, progressing in order:

  1. Single small server with standard disk, running entire LAMP stack
  2. Single large server with dedicated disk, running entire LAMP stack
  3. Multiple large servers in classic 3-tier web application architecture, interconnected over private network VLAN:
  4. Clustered database servers with dedicated disk
  5. Front-end application servers with standard disk
  6. Load balancer(s) running Pound, HAproxy, etc

Note that in the second stage a single larger server with dedicated disk will typically give better performance than splitting immediately into multiple small servers, since disk I/O is improved and there are no extra latencies from cross-network communication.