The 7 Stages of Scaling Web Apps

Der folgende Artikel von HighAvailability spricht mir aus der Seele. Das klingt doch sehr vertraut. Vor allem auch nach dem üblichen Dilemma von Applikationsdesign vs. Performance / Skalierbarkeit.

Grafiker und Programmierer sind sich da meiner Erfahrung nach oft sehr ähnlich – beide haben es gerne „hübsch“ was sie machen. Die Admins sind da oft wesentlich pragmatischer (solange man sie ihr liebstes OS verwenden lässt). Aber lest selbst:

The 7 Stages of Scaling Web Apps

By John Engales CTO, Rackspace. Good presentation of the stages a typical successful website goes through:

* 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).

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: