Upload
microsoft-arcready
View
4.175
Download
0
Embed Size (px)
DESCRIPTION
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 Amazon.com, 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.
Citation preview
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!
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
Req
uest
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?
NetworkDatabaseWeb serverCode
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 ServerWeb Application
PATTERN: Split the application
msdn.microsoft.com technet.microsoft.commicrosoft.com
PATTERN: Split the database 1
Reference Transaction
PATTERN: Split the database 2
Write Copy
Read CopyRead 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?
Usable
Effective Satisfying Efficient
Useful
Adaptive
Reliable
Cost-effective
Desirable
User NeedsUser Needs
Interaction DesignInteraction Design
Information DesignInformation Design
Visual DesignVisual Design
Experiences that create value!Experiences that create value!
++
++
++
Experience EngineeringExperience Engineering
PART 2: What is our
palette?
Application Archetypes
Information /Reference
E-Commerce
Data Viewer/Editor
Utility Entertainment
DocumentViewer/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 inputBuild 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 loadBalance the computing load
Balance security Balance security
with usabilitywith usability
Build for supportability & maintenanceBuild 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.