Web Systems Architecture by Moshe Kaplan

942 views
857 views

Published on

If you are planning a large scale web site, or consider how to take you site to the next level, you should have participated in this workshop. Feel free to connect for further details.

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

  • Be the first to like this

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

No notes for slide
  • The world is changing more and more fast You have to minimize NRE You must support unexpected demand You must provide top service (people now leaves cell operator after single incident, rather then 5, 10 years ago Firms a vulnerable – Citi worth 20Bill $ instead of 200 Bill a year ago Break and Mortar bookstores 15 years ago and Amazon…. Will it happen again to banks, insurance, real estate agencies… IS YOUR MARKET THE NEXT FOR PENETRATION – Finance? Real Estate? How to win a rival that is not existing yet? http://www.johnmwillis.com/ibm/cloud-computing-and-the-enterprise/ -
  • Start with nothing: storage, FW, LB, Server and grow… Can buy servers for more than hour
  • Web Systems Architecture by Moshe Kaplan

    1. 1. The VP R&D Open Seminar Web Systems Architecture mokplan@ gmail.com http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    2. 2. Presentation Objectiveshttp://www.webperformancetoday.com/2010/06/15/everything-you-wanted-to-know-about-web-performance/ http://blogs.microsoft.co.il/blogs/vprnd 2 http://top-performance.blogspot.com
    3. 3. Why Do I Care? From 0 to 100 (US mass adaptation) Phone: 100 yrs Radio: 40 yrs TV: 30 yrs Mobile: 20 yrs Internet: 10 yrs Facebook: 2 yrs http://blogs.microsoft.co.il/blogs/vprnd3 http://top-performance.blogspot.com
    4. 4. 100K New Users/Week http://blogs.microsoft.co.il/blogs/vprnd4 http://top-performance.blogspot.com
    5. 5. The Network Effect http://blogs.microsoft.co.il/blogs/vprnd5 http://top-performance.blogspot.com
    6. 6. Motivation http://blogs.microsoft.co.il/blogs/vprnd6 http://top-performance.blogspot.com
    7. 7. Where Are We? http://blogs.microsoft.co.il/blogs/vprnd7 http://top-performance.blogspot.com
    8. 8. The Prime Suspect http://blogs.microsoft.co.il/blogs/vprnd8 http://top-performance.blogspot.com
    9. 9. Know Your Business http://blogs.microsoft.co.il/blogs/vprnd9 http://top-performance.blogspot.com
    10. 10. Assumptions… http://blogs.microsoft.co.il/blogs/vprnd10 http://top-performance.blogspot.com
    11. 11. The VP R&D Open Seminar IS IT THE SERVER OR THE CLIENT? http://blogs.microsoft.co.il/blogs/vprnd11 http://top-performance.blogspot.com
    12. 12. Waterfall Time! http://blogs.microsoft.co.il/blogs/vprnd12 http://top-performance.blogspot.com
    13. 13. Better a Neighbor Nearby Than a Brother Far Awayhttp://www.tcpipguide.com/free/t_TCPWindowSizeAdjustmentandFlowControl.htm http://blogs.microsoft.co.il/blogs/vprnd 13 http://top-performance.blogspot.com
    14. 14. Network Effect Solutions CDN Compression; Minification; Sprites; Embedhttp://www.akamai.com/stateoftheinternet/ http://blogs.microsoft.co.il/blogs/vprnd14 http://top-performance.blogspot.com
    15. 15. Show Time! http://blogs.microsoft.co.il/blogs/vprnd15 http://top-performance.blogspot.com
    16. 16. The VP R&D Open Seminar STEP 2: ITS DEFINITELY IN THE CODE! http://blogs.microsoft.co.il/blogs/vprnd16 http://top-performance.blogspot.com
    17. 17. Code Profilers http://blogs.microsoft.co.il/blogs/vprnd17 http://top-performance.blogspot.com
    18. 18. Code Anti Patterns Do It Yourself Infrastructure Cache Data Stores Locks and Semaphores Code that Cannot be Tested/Automated http://blogs.microsoft.co.il/blogs/vprnd18 http://top-performance.blogspot.com
    19. 19. Load Stress http://blogs.microsoft.co.il/blogs/vprnd19 http://top-performance.blogspot.com
    20. 20. The VP R&D Open Seminar STEP 3: WHERE DO WE STORE THE DATA? http://1userverrack.net/2011/06/08/hp-blade-server-9/ http://blogs.microsoft.co.il/blogs/vprnd20 http://top-performance.blogspot.com
    21. 21. SQL Server Alerts Connection Leak: >200 Object Execution Times Locks http://blogs.microsoft.co.il/blogs/vprnd21 http://top-performance.blogspot.com
    22. 22. SQL Server Execution Time Graphs http://blogs.microsoft.co.il/blogs/vprnd22 http://top-performance.blogspot.com
    23. 23. SQL Server Execution Time Details http://blogs.microsoft.co.il/blogs/vprnd23 http://top-performance.blogspot.com
    24. 24. Activity Monitor http://blogs.microsoft.co.il/blogs/vprnd24 http://top-performance.blogspot.com
    25. 25. Database Anti Patterns Software Engineering Patterns ORM Blobs No Denormalization Nested/Complex SQL Statements Too Few/Many Indexes http://blogs.microsoft.co.il/blogs/vprnd25 http://top-performance.blogspot.com
    26. 26. The VP R&D Open Seminar ALTERNATIVE STRATEGIES FOR BIG DATA CASES http://blogs.microsoft.co.il/blogs/vprnd26 http://top-performance.blogspot.com
    27. 27. Strategy A - Sharding http://blogs.microsoft.co.il/blogs/vprnd27 http://top-performance.blogspot.com
    28. 28. Strategy B – In Memory Databases http://blogs.microsoft.co.il/blogs/vprnd28 http://top-performance.blogspot.com
    29. 29. 700 Inserts/Sec In Memory Engine 3000 Inserts/Sec Amazon AWS InnoDB Engine Standard 700 Inserts/Sec Large Instance http://blogs.microsoft.co.il/blogs/vprnd29 http://top-performance.blogspot.com
    30. 30. Strategy C – MapReduce http://blogs.microsoft.co.il/blogs/vprnd http://blogs.microsoft.co.il/blogs/vprnd30 http://top-performance.blogspot.com
    31. 31. Strategy D - NoSQL insert get multiget remove truncate <Key, Value> http://wiki.apache.org/cassandra/API http://blogs.microsoft.co.il/blogs/vprnd31 http://top-performance.blogspot.com
    32. 32. Sharding Again http://blogs.microsoft.co.il/blogs/vprnd32 http://top-performance.blogspot.com
    33. 33. Vertical Sharding http://blogs.microsoft.co.il/blogs/vprnd33 http://top-performance.blogspot.com
    34. 34. Horizontal Sharding Static Hashing Complex growth Mod 10 = 0 Mod 10 = 1 Simple Mod 10 = 2 Mod 10 = 3 Mod 10 = 4 Mod 10 = 5 Mod 10 = 6 Mod 10 = 7 Mod 10 = 8 Mod 10 = 9 http://blogs.microsoft.co.il/blogs/vprnd34 http://top-performance.blogspot.com
    35. 35. Horizontal Sharding Key locations are defined in a directory Simple growth Directory is SPOF The Directory Can be Very Large http://blogs.microsoft.co.il/blogs/vprnd35 http://top-performance.blogspot.com
    36. 36. Horizontal Sharding Static Hashing with Directory Mapping Simple Growth The Small Directory Can be Cached on Each App Server Mod 1000 = 4 http://blogs.microsoft.co.il/blogs/vprnd36 http://top-performance.blogspot.com
    37. 37. Horizontal Sharding Each key is signed by the DB# on creation Simple growth The Key Store Can be Cached on Each App Server http://blogs.microsoft.co.il/blogs/vprnd37 http://top-performance.blogspot.com
    38. 38. The VP R&D Open Seminar STEP 4: SYSTEM ASPECTS http://blogs.microsoft.co.il/blogs/vprnd38 http://top-performance.blogspot.com
    39. 39. Network WireShark Ping Tracert Netstat –na WAN http://blogs.microsoft.co.il/blogs/vprnd39 http://top-performance.blogspot.com
    40. 40. Storage Database I/O NAS SAN SSD http://blogs.microsoft.co.il/blogs/vprnd40 http://top-performance.blogspot.com
    41. 41. Monitoring http://blogs.microsoft.co.il/blogs/vprnd41 http://top-performance.blogspot.com
    42. 42. The Bottom Line: Grow ∞ Thank you! and Keep Performing! Moshe Kaplan http://blogs.microsoft.co.il/blogs/vprnd42 http://top-performance.blogspot.com

    ×