building applications for the cloud applications david aiken windows azure evangelist

15
Building Applications for the Cloud Applications David Aiken Windows Azure Evangelist

Upload: erika-harvey

Post on 18-Dec-2015

243 views

Category:

Documents


0 download

TRANSCRIPT

Building Applications for the Cloud Applications

David AikenWindows Azure Evangelist

Usage

Com

pute

Time

Average

Inactivity

Period

“On and Off “

On and off workloads (e.g. batch job)Over provisioned capacity is wasted Time to market can be cumbersome

Unexpected/unplanned peak in demand Sudden spike impacts performance Can’t over provision for extreme cases

Com

pute

Time

“Unpredictable Bursting“

Average Usage

Successful services needs to grow/scale Keeping up w/growth is big IT challenge Complex lead time for deployment

Average UsageCom

pute

Time

“Growing Fast“

Services with micro seasonality trends Peaks due to periodic increased demandIT complexity and wasted capacity

Com

pute

Time

Average Usage

“Predictable Bursting“

Workload Patterns Optimal for Cloud

Development Environment• SDK’s & Tools

– Windows Azure SDK– Windows Azure AppFabric SDK– Visual Studio 2010/2008– Eclipse Tooling

• Other Stuff– Windows Azure platform Training Kit– PowerShell Windows Azure Management CmdLets– Subscription– Certificate– Cloud Storage Tools– Diagnostics Tools

Billing & Subscriptions

Billing AccountWLID

SubscriptionWLID

SubscriptionWLID

SubscriptionWLID

API

Introducing Archivist

1. Find Search Term

2. Query Twitter

3. Aggregate Results

4. Repeat 200,000 times every hour

Decouple with Queues

Introducing Archivist

1. Find Search Term

2. Query Twitter

3. Aggregate Results

Decouple with Queues

More Instances

More QueuesMore Partitions

Introducing Archivist

1. Find Search Term

2. Query Twitter

3. Aggregate Results

Decouple with Queues

More Instances

More QueuesMore Partitions

Introducing Archivist

1. Find Search Term

2. Query Twitter

3. Aggregate Results

Are these Instances….

or Threads?

An Archivist Architecture

Call Twitter API & Store

Results

Calculate Aggregations

New Search SQL AzureSearch Terms

Work Scheduler

SQL AzureJob Table

Blob Storage

Table Storage

Archivist UX

measureQ length

measure CPU, Memory

CDN

Cloudy Tips

• 64 bit

• Ship everything to the cloud

• What does stateless mean anyway?

• Blobs, CDN & Silverlight

SQL Azure vs. Tables

SQL Azure vs. Table Storage

• When appropriate – use both!

• Partition– Performance– Size– Cost– Throttling

• De-Normalize

Design for failure

FailureIt doesn’t matter how many times we do the

same task, if it fails at the start on the end or the middle or repeats 300 times, the answer is

always the same!

100% Guaranteed

If your service suckscould you figure it out?

Diagnostics & Monitoring(logs, traces & perf counters)

Real Time Tracing with Service Bus

Developer Fabric Debugging

Capacity Planning / Auto Scaling

BewareA heisenbug (named after the Heisenberg Uncertainty Principle) is a computer bug that disappears or alters its characteristics when an attempt is made to study it.

- source wikipedia