Building Scalable Web Apps

328 views

Published on

Strategies to Scaling out a Non-Scalable Web App

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
328
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Building Scalable Web Apps

  1. 1. BUILDING SCALABLE WEB APPS
  2. 2. ABOUT ME Matías E. Fernández @matiasfrndz Head of Systems and Development
  3. 3. WHAT DOES “SCALABLE” MEAN?
  4. 4. ≠ efficient usage of CPU ≠ efficient usage of bandwidth ≠ efficient usage of storage ≠ fast page loads in browser SCALABILITY ≠ PERFORMANCE
  5. 5. WTF?
  6. 6. 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
  7. 7. VERTICAL VS. HORIZONTAL SCALABILITY
  8. 8. VERTICAL SCALING Bigger, faster, stronger!
  9. 9. HORIZONTAL SCALING Start small …
  10. 10. HORIZONTAL SCALING
  11. 11. HORIZONTAL SCALING Think BIG!
  12. 12. WHY BOTHER? Because web startups tend to die or grow … really big!
  13. 13. EXAMPLES
  14. 14. 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!
  15. 15. 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?
  16. 16. 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!
  17. 17. TWITTER 1'000 10'000 100'000 1'000'000 10'000'000 100'000'000 2007 2008 2010 Tweets per day Recognise the scale?
  18. 18. 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!
  19. 19. PLAYING FOR TIME Strategies to Scaling out a Non-Scalable Web App Semi
  20. 20. KEEP THINGS SIMPLE Add caching reverse proxy to reduce the load on your web app and server HTTP Accelerator
  21. 21. WE ALL START SMALL Separate database and app server to gain CPU and I/O-performance App Server Database Server
  22. 22. LET’S START THE PARTY App Servers Redundant Load Balancer w. HTTP Acc. We still need our database
  23. 23. SCALE OUT vertically vertically horizontally
  24. 24. SINGLE POINT OF FAILURE They call me single point
 of failure
  25. 25. REDUCE SPOF 2-Node Failover
 Cluster highly availability ✔
  26. 26. Kundenname, Präsentationstitel Nine Internet Solutions AG Albisriederstr. 243a CH-8047 Zürich Tel +41 44 637 40 00 Fax +41 44 637 40 01 info@nine.ch QUESTIONS?
  27. 27. Kundenname, Präsentationstitel

×