Seven Stages of Scaling Web Applications

by Amit Ranjan on October 4, 2008

Startups that are grappling with the challenges of scaling their webapp would do well to check out this awesome slide deck about scalability from the CTO of Rackspace, one of the high end web hosting companies. Delivered at the LinuxWorld conference in August earlier this year, the deck lays down a framework for webapp scalability, milestoning each stage in terms of commonly identified tasks.

Stage 1 – The Beginning: Simple architecture, low complexity. no redundancy. Firewall, load balancer, a pair of web servers, database server, and internal storage.

Stage 2 – More of the same, just bigger.

Stage 3 – The Pain Begins: publicity hits. Use reverse proxy, cache static content, load balancers, more databases, re-coding.

Stage 4 – The Pain Intensifies: caching with memcached, writes overload and replication takes too long, start database partitioning, shared storage makes sense for content, significant re-architecting for DB.

Stage 5 – This Really Hurts!: rethink entire application, partition on geography user ID, etc, create user clusters, using hashing scheme for locating which user belongs to which cluster.

Stage 6 – Getting a little less painful: scalable application and database architecture, acceptable performance, starting to add ne features again, optimizing some code, still growing but manageable.

Stage 7 – Entering the unknown: where are the remaining bottlenecks (power, space, bandwidth, CDN, firewall, load balancer, storage, people, process, database), all eggs in one basked (single datacenter, single instance of data).

{ 2 comments… read them below or add one }

Nilesh October 5, 2008 at 10:20 am

Great slides!

Our app YouSuggst is now crossing stage 2 and our focus is on doing things the right way. One thing the slides missed out on is collecting data. Optimization can only begin after you know where to focus.

cheers
nilesh

nagu October 6, 2008 at 4:00 am

Thanks Amit for great slides

Hi Nilesh…Can you please explain what is missed out..Thanks in advance

{ 1 trackback }

Previous post:

Next post: