1 neil kidd mtc architect - dpe neilkidd neil kidd mtc architect - dpe neilkidd

Post on 18-Jan-2018

222 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Windows Azure

Neil KiddMTC Architect - DPEhttp://blogs.msdn.com/NeilKidd

The next 40 minutes

Understand what Windows Azure is Understand the reasons to use Windows Azure

Business and TechnicalWhy Windows Azure is Game ChangingBased on my:

Experience building Proof of ConceptsDiscussions with colleaguesTalking to customers

I’m not from the Product Group

Azure™ Services Platform

Windows Azure

Operating System for the CloudOS provides services for that platform

The CTP is a platform for writing highly scalable and available applicationsBut, it might become ...

Promise of Azure

Microsoft runs your applicationNo Upfront CostsLow Admin overhead

Kept patchedScale on demandFault tolerant

What does Success 2.0 look like?

Users

Servers

Add some Web Servers

Buy bigger SQL Box

Rearchitect Database to

scale out

Buy more of everything

Unusedcapacity

Windows Azure Datacenter

Your Service

Windows Azure Building Blocks

LB

Internet

Web Site(ASPX, ASMX, WCF)Web Site

(ASPX, ASMX, WCF)Web Role

(ASPX, WCF)

Worker Service

Worker Role

LB

StorageTables Blobs

Queue

Azure

Partial Trust

“Dev Fabric”

Dev Environment

HV-enabled Server Core base VHD

Image-Based Deployment

Host Partition

Host partition differencing

VHD

Guest Partition

Guest partition

differencing VHD

Guest partition

differencing VHD

Server Enterprise base VHD

Guest partition

differencing VHD

Application VHD

Application VHD

Application VHD

Server Core base VHD

Server Enterprise base VHD

Maintenance OS

App1 Package App3 Package App2 Package

Guest Partition Guest Partition

Azure Tables

Tables - CapabilitiesWhat tables don’t do

Not relationalNo Referential Integrity

No JoinsLimited Queries

No Group byNo AggregationsLimited IndexesNo Transactions

What tables can do

CheapVery Scalable

FlexibleDurable

If these are important to you, use:

Data Model

Data stored in TablesA Table is a set of Entities (rows)An Entity is a set of Properties (columns)

Entity has:PartitionKey – enables scalabilityRowKey – unique id within the partition

the only indexed property Timestamp – for optimistic concurrency255 properties for your dataMax size of 1MB

Azure Queues

Azure Queues

Queue

Msg 1

Msg 2

Msg 3

Msg 4

Worker Role

Worker Role

PutMessage

Web Role

GetMessage (Timeout)

RemoveMessage

Msg 2Msg 1

Worker Role

Msg 2

Azure Queues

Queues guarantee a message will be processed at least once.Allows recovery in the event of errorsWrite your code to expect failures e.g.

Inserts/Deletes might fail as already performedData in inconsistent state (part processed)

Azure Blobs

Block

Blob Storage ConceptsKey concepts account, container, blob, and blocks

BlobContainerAccount

IMG001.JPG

IMG002.JPG

Movies

Block AAAA

Block AAAB

Block AAAC

Account

Pictures

MOV1.AVI

Blob NamespaceBlob URL:http://<Account>.blob.core.windows.net/<Container>/<BlobName>Example:

Account – sallyContainer – musicBlobName – rock/rush/xanadu.mp3URL: http://sally.blob.core.windows.net/music/rock/rush/xanadu.mp3

BlobContainerAccount

sally

pictures

IMG001.JPG

IMG002.JPG

movies MOV1.AVI

Azure Compute

Azure Compute Instance

Tech Preview offers one type of VMPlatform: 64-bit Windows Server 2008CPU: 1.5-1.7 GHz x64 equivalentMemory: 1.7 GBNetwork: 100 MbpsTransient local storage: 250 GBAzure storage also available: 50 GB

Full service model will support more options

Taking the Search out of Search & Rescue

Man OverBoard Guardian

Case Study

MOB Guardian

MOB Guardian

Built on:Windows Server 2003SQL Server 2005.Net 2.0

This system is in productionIt has so far saved the lives of 5 peopleWe were asked if Azure could run the application.

Taking the Search out of Search & Rescue

Man Overboard Guardian

video

What we did & what we learnt

Worker Role Architecture

NewMsg

Queue

Parse & Route

AlarmQueue

PosRpt

Queue

CancelQueue

AlarmProcessor

Pos ReportProcessor

CancelProcessor

IncidentTable

Pos RptTable

TimerTable

EventTable

OverdueProcessor

PosRpt

Queue

CancelQueue

AlarmProcessor

Pos ReportProcessor

CancelProcessor

IncidentTable

Pos RptTable

TimerTable

EventTable

OverdueProcessor

NewMsg

Queue

Parse & Route

AlarmQueue

Queues for Reliability

AlarmProcessor

IncidentTable

Pos RptTable

EventTable

Porting Tables

Vessel Position Reporting System – SQL Server

VesselId

xxx-xx1

Time

10:15 14 Nov

Latitude

01.23

Longitude

53.24

Speed

0

xxx-xx1 10:05 14 Nov 04.45 54.32 5

xxx-xx1 09:55 14 Nov 02.32 52.34 4

xxx-xx2 10:15 14 Nov 01.23 51.23 10

To find last pos report for vessel in SQL:

select TOP(1) * from PosRptsorder by [Time] DESCwhere VesselId = ???

Porting Tables

Solving this the Azure wayPartitionKey

Time Latitude Longitude Speed

xxx-xx1 10:15 14 Nov 01.23 53.24 0

xxx-xx1 10:05 14 Nov 04.45 54.32 5

xxx-xx1 09:55 14 Nov 02.32 52.34 4

xxx-xx2 01.23 51.23 1010:15 14 Nov

PartitionKey

VesselId

Porting Tables

PartitionKey

RowKey Latitude Longitude Speed

xxx-xx1

10:15 14 Nov 01.23 53.24 0

10:05 14 Nov 04.45 54.32 5

09:55 14 Nov 02.32 52.34 4

RowKey needs to be a string

2521756430999999999

2521756436999999999

2521756442999999999

xxx-xx2

10:15 14 Nov 01.23 51.23 10

PartitionKey

10:15 14 Nov(DateTime.MaxValue – time).Ticks.ToString ()

Stored in-order:Just need to do a

top on the partition

time.Ticks.ToString ()

100 nanoseconds!Makes it descending

Azure Storage - Tables

Store in new tableMind set:

SQL Server – normalised inserts, complex queriesAzure – Multiple inserts, simple queries

Get creative with the partition and row key

“That works great, but what if I want to query all the

vessels with in 5 miles of a location?”

Coming In The Commercial Release …Calendar 2009

Business modelConsumption-based billingStrict SLAs with financial guarantees

Global reachPresence in multiple datacentersGeo-distribution

Service hosting optionsNative code support

Summary

Windows Azure CTP is a:“Platform for writing highly scalable and available applications”

Apply for tokenshttp://azure.net

Opens up a new wave of inovation

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED

OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

top related