ArcReady: Architecting for Scalable and  Usable Web Applications
Agenda SESSION 1: Architecting for Scalable Web Applications 15 Min Break SESSION 2: Architecting for Usable Web Applications Evals & Raffle
SESSION 1: Architecting for  Scalable Web Applications
So you have a scalability problem? Congratulations!
References “ Running a megasite on Microsoft Technologies” (MIX06) “ Myspace.com: Megasite V2” (MIX07) “ Amazon.com's Simple Storage Service, Elastic Compute Cloud, and Simple Queue Service” (SAF07) “ Building Scalable Web Sites” Book by Cal Henderson – Flickr architect
Scalability  <>  Performance
Scalability  is how your application behaves as the number of users increases
Performance  is how your application behaves when there is just one user
Number of Requests Cost per Request
Load  <>  Stress
Load  is how many simultaneous users your application can serve
Stress  is how well your application behaves when resources become limited
Where are the scalability limits? Network Database Web server Code
Pattern: Nickel Defense
Pattern: Scale Up
CASE STUDY:  Scaling up with IIS7 at Dell.com
Simplified server management Fewer servers, reduced costs Improved performance Deploy Windows Server ®  2008 Enterprise operating system with Internet Information Services 7.0 Implement fully automated server and application deployment Simplify management of servers that run Dell.com Reduce number of servers and rate of server growth Improve site performance to maintain good user experience Dell simplifies server management, lowers costs, and increases Dell.com Performance “ Our vision for the Dell.com 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
PATTERN:  Scale Out
PATTERN:  Specialize Web Services Image Server Web Application
PATTERN:  Split the application msdn.microsoft.com technet.microsoft.com microsoft.com
PATTERN:  Split the database 1 Reference Transaction
PATTERN:  Split the database 2 Write Copy Read Copy Read Copy
PATTERN:  Geo Distribution
PATTERN:  Offload the work
Anti-patterns Spending all your time looking at the code Caching everything (twice!) Services calling services (especially across the network)
DEMO:  Team System Load Testing
Discussion:  “Scale Later”
BREAK: 15 Minutes
SESSION 2: Architecting for  Usable Web Applications
PART 1:  What’s the  Secret Formula?
What’s your  favorite  application?
What application do you  use the most ?
Effective  Satisfying  Efficient Useful Adaptive Reliable Cost-effective Desirable Usable
Experience   Engineering User Needs Interaction Design Information Design Visual Design Experiences that create value! + + +
PART 2:  What is our  palette?
Application Archetypes Information / Reference E-Commerce Data  Viewer/Editor Utility Entertainment Document Viewer/Editor
UX Continuum SharePoint  ASP.NET+AJAX  Gadgets  RIAs  Infopath  OBA  Winforms  WPF  XNA Ubiquity Richness Next Generation
SharePoint Sites
Standards Based Web Apps (ASP.NET + AJAX  & Mashups)
Gadgets
Rich Internet Applications (Silverlight)
Infopath Forms
Office Business Applications
Standards Based Windows Applications (Winforms)
WPF Applications
XNA Applications
DEMO:  UX IQ
PART 3:  Best  Practices
Form follows function
Create a set of design tenets
Use the appropriate level of fidelity
DEMO:  ProtoXAML
Build  with the customer   and  user’s input
Build for ease of use ..but don’t forget the power users 70 20 10
Plan for concurrency
Balance the computing load
Balance security  with usability
Build for supportability &  maintenance
What are some of  your  best practices?
© 2008 microsoft corporation. all rights reserved. this presentation is for informational purposes only. microsoft makes no warranties, express or implied, in this summary.

ArcReady - Scalable And Usable Web Applications