Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building Scalable Web Apps

Building Scalable Web Apps

Strategies to Scaling out a Non-Scalable Web App

Matías E. Fernández

April 29, 2013
Tweet

More Decks by Matías E. Fernández

Other Decks in Technology

Transcript

  1. ≠ efficient usage of CPU ≠ efficient usage of bandwidth

    ≠ efficient usage of storage ≠ fast page loads in browser SCALABILITY ≠ PERFORMANCE
  2. SCALABILITY In electronics (including hardware, communication and software), scalability is

    the ability of a system, network, or process to handle a growing amount of work in a capable manner or its ability to be enlarged to accommodate that growth. en.wikipedia.org/wiki/Scalability
  3. YOUTUBE • Founded in 2005 in a garage • Officially

    launched in December 2005 with 8 million videos watched per day • 100 million views a day in July 2006 • Over 4 Billion videos viewed per day in January 2012 • 72 hours of video uploaded every minute in May 2012 x 12 in
 7 month!
  4. YOUTUBE 1 mio 10 mio 100 mio 1'000 mio 10'000

    mio 2005 2006 2012 YouTube videos watched per day Notice the logarithmic scale, bro?
  5. TWITTER • Founded in March 2006 • Officially launched in

    July 2006 • 400’000 tweets per quarter in 2007 • 100 million tweets per quarter in 2008 • 65 million tweets per day in June 2010 • 140 million tweets per day in March 2011, 1’600 tweets per second x 230 in
 12 month!
  6. BETTER BE PREPARED Rewriting your web app to be scalable

    and at the same time scale it to accommodate
 a 10 to 100 fold of customers
 in 12 month? Sounds like a challenge!
  7. KEEP THINGS SIMPLE Add caching reverse proxy to reduce the

    load on your web app and server HTTP Accelerator
  8. WE ALL START SMALL Separate database and app server to

    gain CPU and I/O-performance App Server Database Server