devlink - architecting scalable web applications

Post on 09-May-2015

1.822 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

There is an increasing importance to architect these applications for both growth and for the optimal user experience. Modern development tools allow you to develop fantastic applications, but there are pitfalls with architecting the applications in the wrong way. This talk will discuss industry proven best practices for building highly scalable web sites and applications.

TRANSCRIPT

Architecting ScalableWeb Applications

Clint EdmonsonArchitect EvangelistMicrosoft@clinted

Thank you!

• Thank you for being here!

• Thank you for inviting me!

• Thank you for the BAS!

Architect Audience Questionnaire

• Do you like bullet points?

• Do you like pictures?

• Do you like code?

• Do you like Star Wars?

Let’s get started…

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 for each user

Transactions /second

CPU

U

tiliza

tion

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

PATTERN: Scale Out

PATTERN: Specialize

Web Services Image ServerWeb Application

PATTERN: Partition the application

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

PATTERN: Partition the database 1

Reference Transaction

PATTERN: Partition the database 2

Write Copy

Read CopyRead Copy

Balance the computing load

Offload the work

Distribute globally

Cache responsibly

Plan for concurrency

Anti-patterns

• Blaming another department• “It works great on my machine!”• Attempting to maintain state• Spending all your time looking at the code• Caching everything (twice!)• Services calling services– especially across the network or networks

Discussion: “Scale Later”

Your Next Step

http://highscalability.com/

BONUS:

Alleged photo of an actual Stormtrooper Conference

Stormtrooper Convention(StormLink)

Thank you!Clint EdmonsonArchitect Evangelistclinted@microsoft.comttp://www.notsotrivial.netTwitter: @clinted

top related