Your SlideShare is downloading. ×
Web systems architecture, Performance and More
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Web systems architecture, Performance and More

2,446

Published on

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

No Downloads
Views
Total Views
2,446
On Slideshare
0
From Embeds
0
Number of Embeds
44
Actions
Shares
0
Downloads
0
Comments
0
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
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
  • Transcript

    • 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. 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. 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. 100K New Users/Week 4 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 5. The Network Effect 5 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 6. Motivation 6 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 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. 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. The VP R&D Open Seminar GETTING BACK 9 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 10. Where Are We? 10 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 11. The Prime Suspect 11 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 12. Know Your Business 12 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 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. Assumptions… 14 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 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. Waterfall Time! 16 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 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. 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. Show Time! 19 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 20. Buzz*: Bootstrap 20 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 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. Code Profilers 22 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 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. Load Stress 24 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 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. Server Side JavaScript 26 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 27. The VP R&D Open Seminar CACHING 27 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 28. Don’t Use Caching 28 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 29. If You Have To ad Re 29 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 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. Geo Load Balancing Can be Worse 31 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 32. Finally, Recovery May Not Be Better 32 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 33. KISS http://marriagelifeministries.org/?p=962 33 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 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. SQL Server Alerts Connection Leak: >200 Object Execution Times Locks 35 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 36. SQL Server Execution Time Graphs 36 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 37. SQL Server Execution Time Details 37 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 38. Activity Monitor 38 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 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. 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. Strategy A - Sharding 41 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 42. Strategy B – In Memory Databases 42 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 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. Strategy C – MapReduce http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com http://blogs.microsoft.co.il/blogs/vprnd 44
    • 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. Sharding Again 46 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 47. Vertical Sharding 47 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 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. The VP R&D Open Seminar Buzz*: MongoDB DOCUMENT DATABASES 49 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 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. Same Terminology Database Table Row 51  Database  Collection  Document http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 52. Same Terminology Database Table Row 52  Database  Collection  Document http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 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. 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. Classic RDBMS Replication 55 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 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. MongoDB and Sharding http://www.10gen.com/products/mongodb 57 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 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. Network WireShark Ping Tracert Netstat –na WAN 59 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 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. Monitoring 61 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 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. Load Balancer 63 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 64. Session Offloading 64 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com
    • 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. The Bottom Line: Grow ∞ Thank you! and Keep Performing! Moshe Kaplan 66 http://blogs.microsoft.co.il/blogs/vprnd http://top-performance.blogspot.com

    ×