Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Neil Kidd MTC Architect - DPE NeilKidd Neil Kidd MTC Architect - DPE NeilKidd.

Similar presentations


Presentation on theme: "1 Neil Kidd MTC Architect - DPE NeilKidd Neil Kidd MTC Architect - DPE NeilKidd."— Presentation transcript:

1 1 Neil Kidd MTC Architect - DPE http://blogs.msdn.com/ NeilKidd Neil Kidd MTC Architect - DPE http://blogs.msdn.com/ NeilKidd

2 The next 40 minutes Understand what Windows Azure is Understand the reasons to use Windows Azure Business and Technical Why Windows Azure is Game Changing Based on my: Experience building Proof of Concepts Discussions with colleagues Talking to customers I’m not from the Product Group

3

4 Windows Azure

5 Promise of Azure Microsoft runs your application No Upfront Costs Low Admin overhead Kept patched Scale on demand Fault tolerant

6 What does Success 2.0 look like? Users Servers Add some Web Servers Buy bigger SQL Box Buy bigger SQL Box Rearchitect Database to scale out Buy more of everything Unusedcapacity

7 Windows Azure Datacenter Your Service Windows Azure Building Blocks LB InternetInternet Web Site (ASPX, ASMX, WCF) Web Site (ASPX, ASMX, WCF) Web Site (ASPX, ASMX, WCF) Web Site (ASPX, ASMX, WCF) Web Role (ASPX, WCF) Web Role (ASPX, WCF) Worker Service Worker Role LB StorageStorage Tables Blobs Queue

8 Partial Trust “Dev Fabric” Dev Environment

9 HV-enabled Server Core base VHD Image-Based Deployment Host Partition Host partition differencing VHD Guest Partition Guest partition differencing VHD Server Enterprise base VHD Guest partition differencing VHD Application VHD Server Core base VHD Server Enterprise base VHD Maintenance OS App1 Package App3 Package App2 Package Guest Partition

10 Azure Tables

11 Tables - Capabilities What tables don’t do Not relational No Referential Integrity No Joins Limited Queries No Group by No Aggregations Limited Indexes No Transactions What tables can do CheapCheap Very Scalable FlexibleFlexible DurableDurable If these are important to you, use:

12 Data Model Data stored in Tables A Table is a set of Entities (rows) An Entity is a set of Properties (columns) Entity has: PartitionKey – enables scalability RowKey – unique id within the partition the only indexed property Timestamp – for optimistic concurrency 255 properties for your data Max size of 1MB

13 Azure Queues

14 QueueQueue Msg 1 Msg 2 Msg 3 Msg 4 Worker Role PutMessagePutMessage Web Role GetMessage (Timeout) RemoveMessageRemoveMessage Msg 2 Msg 1 Worker Role Msg 2

15 Azure Queues

16 Azure Blobs

17 Block Blob Storage Concepts Key concepts account, container, blob, and blocks BlobContainerAccount IMG001.JPGIMG002.JPGMoviesBlock AAAABlock AAABBlock AAACAccountPicturesMOV1.AVI

18 Blob Namespace Blob URL: http://.blob.core.windows.net/ / http://.blob.core.windows.net/ / Example: Account – sally Container – music BlobName – rock/rush/xanadu.mp3 URL: http://sally.blob.core.windows.net/music/rock/rush/xanadu.mp3 BlobContainerAccount sally pictures IMG001.JPG IMG002.JPG movies MOV1.AVI

19 Azure Compute

20 Azure Compute Instance

21 Taking the Search out of Search & Rescue Man OverBoard Guardian

22 MOB Guardian

23 Built on: Windows Server 2003 SQL Server 2005.Net 2.0 This system is in production It has so far saved the lives of 5 people We were asked if Azure could run the application.

24 Taking the Search out of Search & Rescue Man Overboard Guardian

25

26 What we did & what we learnt

27 Worker Role Architecture New Msg Queue New Msg Queue Parse & Route Alarm Queue Alarm Queue Pos Rpt Queue Pos Rpt Queue Cancel Queue Cancel Queue Alarm Processor Alarm Processor Pos Report Processor Pos Report Processor Cancel Processor Cancel Processor Incident Table Incident Table Pos Rpt Table Pos Rpt Table Timer Table Timer Table Event Table Event Table Overdue Processor Overdue Processor

28 Pos Rpt Queue Pos Rpt Queue Cancel Queue Cancel Queue Alarm Processor Alarm Processor Pos Report Processor Pos Report Processor Cancel Processor Cancel Processor Incident Table Incident Table Pos Rpt Table Pos Rpt Table Timer Table Timer Table Event Table Event Table Overdue Processor Overdue Processor New Msg Queue New Msg Queue Parse & Route Alarm Queue Alarm Queue Queues for Reliability Alarm Processor Alarm Processor Incident Table Incident Table Pos Rpt Table Pos Rpt Table Event Table Event Table

29 Porting Tables Vessel Position Reporting System – SQL Server VesselIdVesselId xxx-xx1xxx-xx1 TimeTime 10:15 14 Nov LatitudeLatitude 01.2301.23 LongitudeLongitude 53.2453.24 SpeedSpeed 00 xxx-xx1xxx-xx1 10:05 14 Nov 04.4504.4554.3254.3255 xxx-xx1xxx-xx1 09:55 14 Nov 02.3202.3252.3452.3444 xxx-xx2xxx-xx2 10:15 14 Nov 01.2301.2351.2351.231010 To find last pos report for vessel in SQL: select TOP(1) * from PosRpts order by [Time] DESC where VesselId = ??? To find last pos report for vessel in SQL: select TOP(1) * from PosRpts order by [Time] DESC where VesselId = ???

30 Porting Tables Solving this the Azure way PartitionKeyPartitionKey TimeTimeLatitudeLatitudeLongitudeLongitudeSpeedSpeed xxx-xx1xxx-xx1 10:15 14 Nov 01.2301.2353.2453.2400 xxx-xx1xxx-xx1 10:05 14 Nov 04.4504.4554.3254.3255 xxx-xx1xxx-xx1 09:55 14 Nov 02.3202.3252.3452.3444 xxx-xx2xxx-xx2 01.2301.2351.2351.231010 10:15 14 Nov PartitionKeyPartitionKey VesselIdVesselId

31 Porting Tables PartitionKeyPartitionKey RowKeyRowKeyLatitudeLatitudeLongitudeLongitudeSpeedSpeed xxx-xx1xxx-xx1 10:15 14 Nov 01.2301.2353.2453.2400 10:05 14 Nov 04.4504.4554.3254.3255 09:55 14 Nov 02.3202.3252.3452.3444 RowKey needs to be a string 25217564309999999992521756430999999999 25217564369999999992521756436999999999 25217564429999999992521756442999999999 xxx-xx2xxx-xx2 10:15 14 Nov 01.2301.2351.2351.231010 PartitionKeyPartitionKey (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

32 Azure Storage - Tables “That works great, but what if I want to query all the vessels with in 5 miles of a location?”

33 Business model Consumption-based billing Strict SLAs with financial guarantees Global reach Presence in multiple datacenters Geo-distribution Service hosting options Native code support

34 Summary

35 © 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.


Download ppt "1 Neil Kidd MTC Architect - DPE NeilKidd Neil Kidd MTC Architect - DPE NeilKidd."

Similar presentations


Ads by Google