Presentation is loading. Please wait.

Presentation is loading. Please wait.

Windows Azure Custom Software Development Mobile Middleware Windows Azure Storage Dipl.-Ing. Damir Dobric Lead Architect daenet

Similar presentations


Presentation on theme: "Windows Azure Custom Software Development Mobile Middleware Windows Azure Storage Dipl.-Ing. Damir Dobric Lead Architect daenet"— Presentation transcript:

1 Windows Azure Custom Software Development Mobile Middleware Windows Azure Storage Dipl.-Ing. Damir Dobric Lead Architect daenet damir.dobric@daenet.com b-dadobr@microsoft.com Microsoft vTSP – Germany Technology Advisor in Business Platform Division – Microsoft Corp. Microsoft Most Valuable Professional

2 Windows Azure Custom Software Development Mobile Middleware BLOB STORAGE Simple named files along with metadata for the file. Durable NTFS volumes (drives) QUEUE STORAGE Reliable storage and delivery of messages for an application WINDOWS AZURE STORAGE Introduction TABLE STORAGE

3 Windows Azure Custom Software Development Mobile Middleware Windows Azure Storage Storage in the Cloud – Scalable, durable, and available – Anywhere at anytime access – Only pay for what the service uses Exposed via RESTful Web Services – Use from Windows Azure Compute – Use from anywhere on the internet Various storage abstractions – Tables, Blobs, Queues, Drives

4 Windows Azure Custom Software Development Mobile Middleware Storage Account User specified globally unique account name – Can choose geo-location to host storage account US – “North Central” and “South Central” Europe – “North” and “West” Asia – “East” and “Southeast” – Can CDN Enable Account Blobs delivered via 22 global CDN nodes – Can co-locate storage account with compute account Explicitly or using affinity groups Accounts have two independent 512 bit shared secret keys 100TB per account

5 Windows Azure Custom Software Development Mobile Middleware Dev-Fabric Storage Provides a local “Mock” storage Emulates storage in cloud Allows offline development Requires SQL Express 2005/2008 or above There are some differences between Cloud and Dev Storage. http://msdn.microsoft.com/dd320275 A good approach for developers: To test pre-deployment, push storage to the cloud first Use Dev Fabric for compute connect to cloud hosted storage. Finally, move compute to the cloud. There are some differences between Cloud and Dev Storage. http://msdn.microsoft.com/dd320275 A good approach for developers: To test pre-deployment, push storage to the cloud first Use Dev Fabric for compute connect to cloud hosted storage. Finally, move compute to the cloud.

6 Windows Azure Custom Software Development Mobile Middleware The Storage Client API In this presentation we’ll cover the underlying RESTful API – Can call these from any HTTP client e.g. Flash, Silverlight, etc… Client API from SDK Microsoft.WindowsAzure.StorageClient – Provides a strongly typed wrapper around REST services

7 Windows Azure Custom Software Development Mobile Middleware Storage Security Windows Azure Storage provides simple security for calls to storage service – HTTPS endpoint – Digitally sign requests for privileged operations Two 512bit symmetric keys per storage account – Can be regenerated independently More granular security via Shared Access Signatures

8 Windows Azure Custom Software Development Mobile Middleware Storage Abstractions Blobs – Simple named files along with metadata for the file Drives – Durable NTFS volumes for Windows Azure applications to use. Based on Blobs. Tables – Structured storage. A Table is a set of entities; an entity is a set of properties Queues – Reliable storage and delivery of messages for an application

9 Windows Azure Custom Software Development Mobile Middleware Table Storage Concepts EntityTableAccount contoso customers Name =… Email = … Name =… EMailAdd= … photos Photo ID =… Date =… Photo ID =… Date =…

10 Windows Azure Custom Software Development Mobile Middleware Table Details Not an RDBMS! More on table modeling in Storage Strategies session Table – Create, Query, Delete – Tables can have metadata Entities – Insert – Update Merge – Partial update Replace – Update entire entity – Delete – Query – Entity Group Transactions Multiple CUD Operations in a single atomic transaction

11 Windows Azure Custom Software Development Mobile Middleware Entity Properties Entity can have up to 255 properties Up to 1MB per entity Mandatory Properties for every entity PartitionKey & RowKey (only indexed properties) Uniquely identifies an entity Defines the sort order Timestamp Optimistic Concurrency. Exposed as an HTTP ETag No fixed schema for other properties Each property is stored as a pair No schema stored for a table Properties can be the standard.NET types String, binary, bool, DateTime, GUID, int, int64, and double

12 Windows Azure Custom Software Development Mobile Middleware Supported Properties

13 Windows Azure Custom Software Development Mobile Middleware FirstLastBirthdate KimAkers2/2/1981 NancyAnderson3/15/1965 MarkHassallMay 1, 1976 Fav Sport Canoeing No Fixed Schema

14 Windows Azure Custom Software Development Mobile Middleware FirstLastBirthdate KimAkers2/2/1981 NancyAnderson3/15/1965 MarkHassallMay 1, 1976 Querying ?$filter=Last eq ‘Akers’

15 Windows Azure Custom Software Development Mobile Middleware Purpose of the PartitionKey Entity Locality – Entities in the same partition will be stored together – Efficient querying and cache locality – Endeavour to include partition key in all queries Entity Group Transactions – Atomic multiple Insert/Update/Delete in same partition in a single transaction Table Scalability Target throughput – 500 tps/partition, several thousand tps/account – Windows Azure monitors the usage patterns of partitions – Automatically load balance partitions – Each partition can be served by a different storage node – Scale to meet the traffic needs of your table

16 Windows Azure Custom Software Development Mobile Middleware PartitionKey (Category) RowKey (Title) TimestampModelYear Bikes Super Duper Cycle…2009 Bikes Quick Cycle 200 Deluxe…2007 … ……… Canoes Whitewater…2009 Canoes Flatwater…2006 PartitionKey (Category) RowKey (Title) TimestampModelYear Rafts 14ft Super Tourer…1999 … ……… Skis Fabrikam Back Trackers…2009 … ……… Tents Super Palace…2008 PartitionKey (Category) RowKey (Title) TimestampModelYear Bikes Super Duper Cycle…2009 Bikes Quick Cycle 200 Deluxe…2007 … ……… Canoes Whitewater…2009 Canoes Flatwater…2006 Rafts 14ft Super Tourer…1999 … ……… Skis Fabrikam Back Trackers…2009 … ……… Tents Super Palace…2008 Partitions and Partition Ranges http://msdn.microsoft.com/en-us/library/windowsazure/hh508997.aspx

17 Windows Azure Custom Software Development Mobile Middleware REST API http://myaccount.table.core.windows.net/Tables

18 Windows Azure Custom Software Development Mobile Middleware REST API – GetTable Entity REQUEST: GET https://daenet***.table.core.windows.net/Tables('GuestBookEntry') HTTP/1.1https://daenet***.table.core.windows.net/Tables('GuestBookEntry') User-Agent: Microsoft ADO.NET Data Services DataServiceVersion: 1.0;NetFx MaxDataServiceVersion: 2.0;NetFx x-ms-version: 2011-08-18 x-ms-date: Fri, 11 May 2012 11:21:35 GMT Authorization: SharedKeyLite daenet****:w4mlPBwFofgs6L9aopxg48GLA= Accept: application/atom+xml,application/xml Accept-Charset: UTF-8 Host: daenet01.table.core.windows.net RESPONSE: ResourceNotFound The specified resource does not exist. RequestId:84b635e6-5554-468b-a414-03c5677ae2db Time:2012-05-11T11:23:00.9123515Z

19 Windows Azure Custom Software Development Mobile Middleware REST API : Create Table REQUEST: POST https://daenet***.table.core.windows.net/Tables HTTP/1.1 Authorization: SharedKeyLite ***** Accept: application/atom+xml,application/xml Content-Length: 500 RESPONSE: 2012-05-11T11:21:41.3274779Z GuestBookEntry

20 Windows Azure Custom Software Development Mobile Middleware REST API - Query REQUEST: GET https://daenet***.table.core.windows.net/GuestBookEntry()?$filter=MyProperty%20eq%20538047188 HTTP/1.1https://daenet***.table.core.windows.net/GuestBookEntry()?$filter=MyProperty%20eq%20538047188 Authorization: SharedKeyLite *****= Empty Response (no data match spcified filter): GuestBookEntry https://daenet***.table.core.windows.net/GuestBookEntry 2012-05-11T11:33:22Z

21 Windows Azure Custom Software Development Mobile Middleware Demo TABLE STORAGE


Download ppt "Windows Azure Custom Software Development Mobile Middleware Windows Azure Storage Dipl.-Ing. Damir Dobric Lead Architect daenet"

Similar presentations


Ads by Google