Architecting Scalable Applications in the Cloud

Preview:

DESCRIPTION

There is an increasing importance to architect applications for both growth and 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 and how they might be implemented on Windows Azure.

Citation preview

Architecting Scalable Web ApplicationsClint EdmonsonMicrosoft Corporationclinted@microsoft.comwww.notsotrivial.net

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 Load Balancer

PATTERN: Specialize

Web Services Image ServerWeb Application

PATTERN: Partition the database 1

Reference Transaction

PATTERN: Partition the database 2

Write Copy

Read CopyRead Copy

PATTERN: Partition the application

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

Balance the computing load

Offload the work

Web

Worker

NoSQL

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

Question: “Scale Later”?

Worker(Compute)

Worker(Compute)

Web(Compute)

Web(Compute)

Web(Compute)

Azure Storage(Queues)

(Blobs)(Tables)

SQL Azure(DB)

Worker(Compute)

Azure: Core Services

Your Next Step

http://aka.ms/TryAzurehttp://aka.ms/AzureBenefitshttp://aka.ms/WindowsAzureSDK

Thank You!

Clint EdmonsonMicrosoft Corporationclinted@microsoft.comwww.notsotrivial.net

Recommended