59
Ready: hitecting for Scalable and ble Web Applications

ArcReady - Scalable And Usable Web Applications

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

Page 1: ArcReady - Scalable And Usable Web Applications

ArcReady:Architecting for Scalable and Usable Web Applications

Page 2: ArcReady - 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

Page 3: ArcReady - Scalable And Usable Web Applications

SESSION 1:Architecting for

Scalable Web Applications

Page 4: ArcReady - Scalable And Usable Web Applications

So you have a scalability problem?

Congratulations!

Page 5: ArcReady - Scalable And Usable Web Applications

Scalability <> Performance

Page 6: ArcReady - Scalable And Usable Web Applications

Scalability is how your application behaves as the number of users

increases

Page 7: ArcReady - Scalable And Usable Web Applications

Performance is how your application behaves when there is just one user

Page 8: ArcReady - Scalable And Usable Web Applications

Number of Requests

Cost

per

Req

uest

Page 9: ArcReady - Scalable And Usable Web Applications

Load <> Stress

Page 10: ArcReady - Scalable And Usable Web Applications

Load is how many simultaneous users your application can serve

Page 11: ArcReady - Scalable And Usable Web Applications

Stress is how well your application behaves when resources become

limited

Page 12: ArcReady - Scalable And Usable Web Applications

Where are the scalability limits?

NetworkDatabaseWeb serverCode

Page 13: ArcReady - Scalable And Usable Web Applications

Pattern: Nickel Defense

Page 14: ArcReady - Scalable And Usable Web Applications

Pattern: Scale Up

Page 15: ArcReady - Scalable And Usable Web Applications

CASE STUDY: Scaling up with IIS7 at Dell.com

Page 16: ArcReady - Scalable And Usable Web Applications

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

Page 17: ArcReady - Scalable And Usable Web Applications

PATTERN: Scale Out

Page 18: ArcReady - Scalable And Usable Web Applications

PATTERN: Specialize

Web Services Image ServerWeb Application

Page 19: ArcReady - Scalable And Usable Web Applications

PATTERN: Split the application

msdn.microsoft.com technet.microsoft.commicrosoft.com

Page 20: ArcReady - Scalable And Usable Web Applications

PATTERN: Split the database 1

Reference Transaction

Page 21: ArcReady - Scalable And Usable Web Applications

PATTERN: Split the database 2

Write Copy

Read CopyRead Copy

Page 22: ArcReady - Scalable And Usable Web Applications

PATTERN: Geo Distribution

Page 23: ArcReady - Scalable And Usable Web Applications

PATTERN: Offload the work

Page 24: ArcReady - Scalable And Usable Web Applications

Anti-patterns

• Spending all your time looking at the code• Caching everything (twice!)• Services calling services (especially across the

network)

Page 25: ArcReady - Scalable And Usable Web Applications

DEMO: Team System Load Testing

Page 26: ArcReady - Scalable And Usable Web Applications

Discussion: “Scale Later”

Page 27: ArcReady - Scalable And Usable Web Applications

BREAK:15 Minutes

Page 28: ArcReady - Scalable And Usable Web Applications

SESSION 2:Architecting for

Usable Web Applications

Page 29: ArcReady - Scalable And Usable Web Applications

PART 1: What’s the

Secret Formula?

Page 30: ArcReady - Scalable And Usable Web Applications

What’s your favorite application?

Page 31: ArcReady - Scalable And Usable Web Applications

What application do you use the most?

Page 32: ArcReady - Scalable And Usable Web Applications

Usable

Effective Satisfying Efficient

Useful

Adaptive

Reliable

Cost-effective

Desirable

Page 33: ArcReady - Scalable And Usable Web Applications

User NeedsUser Needs

Interaction DesignInteraction Design

Information DesignInformation Design

Visual DesignVisual Design

Experiences that create value!Experiences that create value!

++

++

++

Experience EngineeringExperience Engineering

Page 34: ArcReady - Scalable And Usable Web Applications

PART 2: What is our

palette?

Page 35: ArcReady - Scalable And Usable Web Applications

Application Archetypes

Information /Reference

E-Commerce

Data Viewer/Editor

Utility Entertainment

DocumentViewer/Editor

Page 36: ArcReady - Scalable And Usable Web Applications

UX Continuum

SharePoint ASP.NET+AJAX Gadgets RIAs Infopath OBA Winforms WPF XNA

Ubiquity Richness Next Generation

Page 37: ArcReady - Scalable And Usable Web Applications

SharePoint Sites

Page 38: ArcReady - Scalable And Usable Web Applications

Standards Based Web Apps(ASP.NET + AJAX & Mashups)

Page 39: ArcReady - Scalable And Usable Web Applications

Gadgets

Page 40: ArcReady - Scalable And Usable Web Applications

Rich Internet Applications(Silverlight)

Page 41: ArcReady - Scalable And Usable Web Applications

Infopath Forms

Page 42: ArcReady - Scalable And Usable Web Applications

Office Business Applications

Page 43: ArcReady - Scalable And Usable Web Applications

Standards Based Windows Applications(Winforms)

Page 44: ArcReady - Scalable And Usable Web Applications

WPF Applications

Page 45: ArcReady - Scalable And Usable Web Applications

XNA Applications

Page 46: ArcReady - Scalable And Usable Web Applications

DEMO: UX IQ

Page 47: ArcReady - Scalable And Usable Web Applications

PART 3: Best

Practices

Page 48: ArcReady - Scalable And Usable Web Applications

Form follows function

Page 49: ArcReady - Scalable And Usable Web Applications

Create a set of design tenets

Page 50: ArcReady - Scalable And Usable Web Applications

Use the appropriate level of fidelity

Page 51: ArcReady - Scalable And Usable Web Applications

DEMO: ProtoXAML

Page 52: ArcReady - Scalable And Usable Web Applications

Build with the customer and user’s inputBuild with the customer and user’s input

Page 53: ArcReady - Scalable And Usable Web Applications

Build for ease of use

..but don’t forget the power users

70 20 10

Page 54: ArcReady - Scalable And Usable Web Applications

Plan for concurrency

Page 55: ArcReady - Scalable And Usable Web Applications

Balance the computing loadBalance the computing load

Page 56: ArcReady - Scalable And Usable Web Applications

Balance security Balance security

with usabilitywith usability

Page 57: ArcReady - Scalable And Usable Web Applications

Build for supportability & maintenanceBuild for supportability & maintenance

Page 58: ArcReady - Scalable And Usable Web Applications

What are some of your best practices?

Page 59: ArcReady - Scalable And Usable Web Applications

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