Web systems architecture, Performance and More

3,318 views

Published on

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

No Downloads
Views
Total views
3,318
On SlideShare
0
From Embeds
0
Number of Embeds
1,912
Actions
Shares
0
Downloads
0
Comments
0
Likes
6
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, Performance and More

    1. 1. The VP R&D Open Seminar Web Systems Architecture and Performance Analysis moshe.kaplan@ brightaqua.com http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    2. 2. Presentation Objectives http://www.webperformancetoday.com/2010/06/15/everything-you-wanted-to-know-about-web-performance/ 2 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    3. 3. Why Do I Care? From 0 to 100 (US mass adaptation) Phone: Radio: TV: Mobile: Internet: Facebook: 3 100 yrs 40 yrs 30 yrs 20 yrs 10 yrs 2 yrs http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    4. 4. 100K New Users/Week 4 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    5. 5. The Network Effect 5 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    6. 6. Motivation 6 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    7. 7. The VP R&D Open Seminar 20 YEARS OF WEB ARCHITECTURES http://www.trucoteca.com/juego/erase-una-vez-el-hombre-del-antiguo-egipto-a-la-r-10236.html 7 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    8. 8. Once Upon a Time... Man http://act2.me/full-stack-web-development/ 8 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    9. 9. The VP R&D Open Seminar GETTING BACK 9 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    10. 10. Where Are We? 10 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    11. 11. The Prime Suspect 11 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    12. 12. Know Your Business 12 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    13. 13. Buzz*: The Funnel http://blog.clicktale.com/2011/01/18/new-clicktale-product-launches-for-2011/ 13 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    14. 14. Assumptions… 14 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    15. 15. The VP R&D Open Seminar IS IT THE SERVER OR THE CLIENT? 15 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    16. 16. Waterfall Time! 16 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    17. 17. Better a Neighbor Nearby Than a Brother Far Away http://www.tcpipguide.com/free/t_TCPWindowSizeAdjustmentandFlowControl.htm 17 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    18. 18. Network Effect Solutions CDN Compression; Minification; Sprites; Embed http://www.akamai.com/stateoftheinternet/ 18 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    19. 19. Show Time! 19 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    20. 20. Buzz*: Bootstrap 20 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    21. 21. The VP R&D Open Seminar STEP 2: IT'S DEFINITELY IN THE CODE! 21 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    22. 22. Code Profilers 22 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    23. 23. Code Anti Patterns Do It Yourself Infrastructure Cache Data Stores Locks and Semaphores Code that Cannot be Tested/Automated 23 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    24. 24. Load Stress 24 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    25. 25. The VP R&D Open Seminar Buzz*: node.js FULL STACK DEVELOPMENT 25 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    26. 26. Server Side JavaScript 26 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    27. 27. The VP R&D Open Seminar CACHING 27 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    28. 28. Don’t Use Caching 28 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    29. 29. If You Have To ad Re 29 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    30. 30. Invalidation Can Be Nightmare http://luauf.com/2009/06/08/%C2%BFque-es-memcached/ 30 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    31. 31. Geo Load Balancing Can be Worse 31 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    32. 32. Finally, Recovery May Not Be Better 32 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    33. 33. KISS http://marriagelifeministries.org/?p=962 33 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    34. 34. The VP R&D Open Seminar STEP 3: WHERE DO WE STORE THE DATA? http://1userverrack.net/2011/06/08/hp-blade-server-9/ 34 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    35. 35. SQL Server Alerts Connection Leak: >200 Object Execution Times Locks 35 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    36. 36. SQL Server Execution Time Graphs 36 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    37. 37. SQL Server Execution Time Details 37 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    38. 38. Activity Monitor 38 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    39. 39. Database Anti Patterns Software Engineering Patterns ORM Blobs No Denormalization Nested/Complex SQL Statements Too Few/Many Indexes 39 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    40. 40. The VP R&D Open Seminar ALTERNATIVE STRATEGIES FOR BIG DATA CASES 40 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    41. 41. Strategy A - Sharding 41 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    42. 42. Strategy B – In Memory Databases 42 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    43. 43. 700 Inserts/Sec In Memory Engine 3000 Inserts/Sec Amazon AWS Standard Large Instance 43 InnoDB Engine 700 Inserts/Sec http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    44. 44. Strategy C – MapReduce http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com http://blogs.microsoft.co.il/blogs/vprnd 44
    45. 45. Strategy D - NoSQL insert get multiget remove truncate <Key, Value> http://wiki.apache.org/cassandra/API 45 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    46. 46. Sharding Again 46 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    47. 47. Vertical Sharding 47 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    48. 48. Horizontal Sharding Static Hashing Complex growth Simple Mod 10 = 0 Mod 10 = 1 Mod 10 = 2 Mod 10 = 3 Mod 10 = 4 Mod 10 = 5 Mod 10 = 6 Mod 10 = 7 Mod 10 = 8 Mod 10 = 9 48 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    49. 49. The VP R&D Open Seminar Buzz*: MongoDB DOCUMENT DATABASES 49 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    50. 50. When Should I Choose NoSQL? • • • Eventually Consistent Document Store Key Value http://guyharrison.squarespace.com/blog/tag/nosql 50 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    51. 51. Same Terminology Database Table Row 51  Database  Collection  Document http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    52. 52. Same Terminology Database Table Row 52  Database  Collection  Document http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    53. 53. A Blog Case Study in RDBMS http://www.slideshare.net/nateabele/building-apps-with-mongodb 53 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    54. 54. And as a SW Engineer would like it to be… http://www.slideshare.net/nateabele/building-apps-with-mongodb 54 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    55. 55. Classic RDBMS Replication 55 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    56. 56. Auto Selection Using Quorum Selection Methods: • Low Priority • Hidden • (Weighted) Voting 56 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    57. 57. MongoDB and Sharding http://www.10gen.com/products/mongodb 57 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    58. 58. The VP R&D Open Seminar STEP 4: SYSTEM ASPECTS 58 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    59. 59. Network WireShark Ping Tracert Netstat –na WAN 59 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    60. 60. Storage Attribute RAM SSD HDD (SAS) Volatile Yes (*) No No Latency Low Low High Read MB/s 4000+ 520 164 Write MB/s 4000+ 480 164 100,000 100 $0.5 $0.05 IOPS Price/GB 60 $5.5 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    61. 61. Monitoring 61 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    62. 62. The VP R&D Open Seminar Buzz*: Scale KEEP YOUR SYSTEM AVAILABLE 62 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    63. 63. Load Balancer 63 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    64. 64. Session Offloading 64 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    65. 65. Cookie Encryption private static void SetEncryptedCookie( string name, string value ) { var encryptName = SomeEncryptionMethod(name); Response.Cookies[encryptName].Value = SomeEncryptionMethod(value); //set other cookie properties here, expiry &c. //Response.Cookies[encryptName].Expires = ... } private static string GetEncryptedCookie(string name) { //you'll want some checks/exception handling around this return SomeDecryptionMethod( Response.Cookies[SomeDecryptionMethod(name)].Value); } 65 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    66. 66. The Bottom Line: Grow ∞ Thank you! and Keep Performing! Moshe Kaplan 66 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com

    ×