Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ArcReady - Scalable And Usable Web Applications


Published on

Architecting for Scalable and Usable Web Applications
As Enterprises and Software Vendors start to develop more and more applications on the Internet there is an increasing importance to architect these applications for both growth and for the optimal user experience. Software + Services allows you to develop fantastic applications, but there are pitfalls with architecting the applications in the wrong way.

Our Central Region Architect Evangelists will lead us through two great discussions on scaling web applications and creating the best possible user experience.

Session 1: Architecting for Scalable Web Applications In this session we will explore the patterns that typical applications follow as their scalability needs grow due to increased demand. We will also discuss best practices from companies that have gone up the scalability curve like, MySpace and Flickr. We will discuss the common bottlenecks that prevent scalability as well as how to tackle tough issues like state management in a application that is scaled across servers and even data centers. We will also discuss the “scale later” philosophy and how it should be accompanied by a solid plan to scale your applications.

Session 2: Architecting for Usable Web Applications In this session we will discuss how to architect your application with the user in mind. We have more choices than ever before for developing applications (Traditional Web Apps, AJAX, RIA technologies like Flex and Microsoft Silverlight and even smart clients) and picking the technology is only part of the solution. The architecture of the application must be designed correctly to provide a pleasing user experience and (potentially) to add new and interesting clients in the future.

Published in: Technology, Health & Medicine
  • Be the first to comment

ArcReady - Scalable And Usable Web Applications

  1. 1. ArcReady: Architecting for Scalable and Usable Web Applications
  2. 2. Agenda <ul><li>SESSION 1: Architecting for Scalable Web Applications </li></ul><ul><li>15 Min Break </li></ul><ul><li>SESSION 2: Architecting for Usable Web Applications </li></ul><ul><li>Evals & Raffle </li></ul>
  3. 3. SESSION 1: Architecting for Scalable Web Applications
  4. 4. So you have a scalability problem? Congratulations!
  5. 5. References <ul><li>“ Running a megasite on Microsoft Technologies” (MIX06) </li></ul><ul><li>“ Megasite V2” (MIX07) </li></ul><ul><li>“'s Simple Storage Service, Elastic Compute Cloud, and Simple Queue Service” (SAF07) </li></ul><ul><li>“ Building Scalable Web Sites” Book by Cal Henderson – Flickr architect </li></ul>
  6. 6. Scalability <> Performance
  7. 7. Scalability is how your application behaves as the number of users increases
  8. 8. Performance is how your application behaves when there is just one user
  9. 9. Number of Requests Cost per Request
  10. 10. Load <> Stress
  11. 11. Load is how many simultaneous users your application can serve
  12. 12. Stress is how well your application behaves when resources become limited
  13. 13. Where are the scalability limits? Network Database Web server Code
  14. 14. Pattern: Nickel Defense
  15. 15. Pattern: Scale Up
  16. 16. CASE STUDY: Scaling up with IIS7 at
  17. 17. <ul><li>Simplified server management </li></ul><ul><li>Fewer servers, reduced costs </li></ul><ul><li>Improved performance </li></ul><ul><li>Deploy Windows Server ® 2008 Enterprise operating system with Internet Information Services 7.0 </li></ul><ul><li>Implement fully automated server and application deployment </li></ul><ul><li>Simplify management of servers that run </li></ul><ul><li>Reduce number of servers and rate of server growth </li></ul><ul><li>Improve site performance to maintain good user experience </li></ul>Dell simplifies server management, lowers costs, and increases Performance “ Our vision for the architecture absolutely requires the new features in Windows Server 2008, which is key to our ability to simplify our online commerce environment.” Ben May, Senior Systems Engineer, Dell
  18. 18. PATTERN: Scale Out
  19. 19. PATTERN: Specialize Web Services Image Server Web Application
  20. 20. PATTERN: Split the application
  21. 21. PATTERN: Split the database 1 Reference Transaction
  22. 22. PATTERN: Split the database 2 Write Copy Read Copy Read Copy
  23. 23. PATTERN: Geo Distribution
  24. 24. PATTERN: Offload the work
  25. 25. Anti-patterns <ul><li>Spending all your time looking at the code </li></ul><ul><li>Caching everything (twice!) </li></ul><ul><li>Services calling services (especially across the network) </li></ul>
  26. 26. DEMO: Team System Load Testing
  27. 27. Discussion: “Scale Later”
  28. 28. BREAK: 15 Minutes
  29. 29. SESSION 2: Architecting for Usable Web Applications
  30. 30. PART 1: What’s the Secret Formula?
  31. 31. What’s your favorite application?
  32. 32. What application do you use the most ?
  33. 33. Effective Satisfying Efficient Useful Adaptive Reliable Cost-effective Desirable Usable
  34. 34. Experience Engineering User Needs Interaction Design Information Design Visual Design Experiences that create value! + + +
  35. 35. PART 2: What is our palette?
  36. 36. Application Archetypes Information / Reference E-Commerce Data Viewer/Editor Utility Entertainment Document Viewer/Editor
  37. 37. UX Continuum SharePoint ASP.NET+AJAX Gadgets RIAs Infopath OBA Winforms WPF XNA Ubiquity Richness Next Generation
  38. 38. SharePoint Sites
  39. 39. Standards Based Web Apps (ASP.NET + AJAX & Mashups)
  40. 40. Gadgets
  41. 41. Rich Internet Applications (Silverlight)
  42. 42. Infopath Forms
  43. 43. Office Business Applications
  44. 44. Standards Based Windows Applications (Winforms)
  45. 45. WPF Applications
  46. 46. XNA Applications
  47. 47. DEMO: UX IQ
  48. 48. PART 3: Best Practices
  49. 49. Form follows function
  50. 50. Create a set of design tenets
  51. 51. Use the appropriate level of fidelity
  52. 52. DEMO: ProtoXAML
  53. 53. Build with the customer and user’s input
  54. 54. Build for ease of use ..but don’t forget the power users 70 20 10
  55. 55. Plan for concurrency
  56. 56. Balance the computing load
  57. 57. Balance security with usability
  58. 58. Build for supportability & maintenance
  59. 59. What are some of your best practices?
  60. 60. © 2008 microsoft corporation. all rights reserved. this presentation is for informational purposes only. microsoft makes no warranties, express or implied, in this summary.