Scalable And Usable Web Applications

Post on 09-May-2015

3.189 views 1 download

Transcript of Scalable And Usable Web Applications

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

About Me

Clint EdmonsonArchitect Evangelistclinted@microsoft.comhttp://www.notsotrivial.net

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?

Contact Me

Clint EdmonsonArchitect Evangelistclinted@microsoft.comhttp://www.notsotrivial.net

© 2008 microsoft corporation. all rights reserved.this presentation is for informational purposes only. microsoft makes no warranties, express or implied, in this summary.