50

Customers Live on Windows Azure Platform

Embed Size (px)

Citation preview

Page 1: Customers Live on Windows Azure Platform

Introduction to Building Applications with Windows AzureTNCVenkata RanganChairman Vishwak Solutionswwwvenkatarangancomblog

Wednesday 9th Feb 2010 1045AM

Customers Live on Windows Azure Platform

httpwwwmicrosoftcomwindowsazureevidence

Overview

gt Windows Azure for Application Developers

gt Building an Azure Application from Scratch in Visual Studio 2010 Beta 2

gt Tables Blob amp Queuesgt Build an application using SQL Azure gt Review Applicationgt Wrap Up

Session Objectives

gt Understand the major parts of Windows Azure

gt Experience building an application with Windows Azure

gt Leave feeling confident that you can build your own applications with Windows Azure

Windows Azure for Application Developers

Portal HostedService

Storage

SDK

Develop Deploy Run

Roles

Role

Code Configuration

Load Balanced Instances

Role

Instance 1

Instance 2

httpyourappcloudappnet

Web vs Worker Role

Web Role

IIS Host

Your Code

Worker RoleSystem Host

Your Code

Development Fabric and Storage

Local Machine

Windows Azure Simulation Environment

Development Fabric

Development Storage

Portal

Web Role

Demo

Hello Cloud ndash Web Role

Web Role

What Wersquore Going To Code

gt Step 1 - Create a Cloud Service project with a Web Role

gt Step 2 - Write our code and test it locally

gt Step 3 ndash Deploy to the Cloud

Fundamental Storage Abstractions

gt Tables ndash Provide structured storage A Table is a set of entities which contain a set of properties

gt Queues ndash Provide reliable storage and delivery of messages for an application

gt Blobs ndash Provide a simple interface for storing named files along with metadata for the file

gt Drives ndash Provides durable NTFS volumes for Windows Azure applications to use (new)

15

Storage

Storage

Account

Queue

Blob

Tables

Windows Azure Storage Account

gt User creates a globally unique storage account namegt Can choose geo-location to host storage account

gt ldquoUS Anywhererdquo ldquoUS North Centralrdquo ldquoUS South Centralrdquo gt Can co-locate storage account with compute

accountgt Receive a 256 bit secret key when creating account

gt Storage Account Capacity at Commercial Availabilitygt Each storage account can store up to 100 TB gt Default limit of 5 storage accounts per subscription

Create a Storage Account

Demo

Tables

Windows Azure Tablesgt Provides Structured Storage

gt Massively Scalable Tablesgt Billions of entities (rows) and TBs of datagt Can use thousands of servers as traffic

grows

gt Highly Available amp Durablegt Data is replicated several times

gt Familiar and Easy to use APIgt ADONET Data Services ndash NET 35

SP1gt NET classes and LINQgt REST ndash with any platform or language20

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 2: Customers Live on Windows Azure Platform

Customers Live on Windows Azure Platform

httpwwwmicrosoftcomwindowsazureevidence

Overview

gt Windows Azure for Application Developers

gt Building an Azure Application from Scratch in Visual Studio 2010 Beta 2

gt Tables Blob amp Queuesgt Build an application using SQL Azure gt Review Applicationgt Wrap Up

Session Objectives

gt Understand the major parts of Windows Azure

gt Experience building an application with Windows Azure

gt Leave feeling confident that you can build your own applications with Windows Azure

Windows Azure for Application Developers

Portal HostedService

Storage

SDK

Develop Deploy Run

Roles

Role

Code Configuration

Load Balanced Instances

Role

Instance 1

Instance 2

httpyourappcloudappnet

Web vs Worker Role

Web Role

IIS Host

Your Code

Worker RoleSystem Host

Your Code

Development Fabric and Storage

Local Machine

Windows Azure Simulation Environment

Development Fabric

Development Storage

Portal

Web Role

Demo

Hello Cloud ndash Web Role

Web Role

What Wersquore Going To Code

gt Step 1 - Create a Cloud Service project with a Web Role

gt Step 2 - Write our code and test it locally

gt Step 3 ndash Deploy to the Cloud

Fundamental Storage Abstractions

gt Tables ndash Provide structured storage A Table is a set of entities which contain a set of properties

gt Queues ndash Provide reliable storage and delivery of messages for an application

gt Blobs ndash Provide a simple interface for storing named files along with metadata for the file

gt Drives ndash Provides durable NTFS volumes for Windows Azure applications to use (new)

15

Storage

Storage

Account

Queue

Blob

Tables

Windows Azure Storage Account

gt User creates a globally unique storage account namegt Can choose geo-location to host storage account

gt ldquoUS Anywhererdquo ldquoUS North Centralrdquo ldquoUS South Centralrdquo gt Can co-locate storage account with compute

accountgt Receive a 256 bit secret key when creating account

gt Storage Account Capacity at Commercial Availabilitygt Each storage account can store up to 100 TB gt Default limit of 5 storage accounts per subscription

Create a Storage Account

Demo

Tables

Windows Azure Tablesgt Provides Structured Storage

gt Massively Scalable Tablesgt Billions of entities (rows) and TBs of datagt Can use thousands of servers as traffic

grows

gt Highly Available amp Durablegt Data is replicated several times

gt Familiar and Easy to use APIgt ADONET Data Services ndash NET 35

SP1gt NET classes and LINQgt REST ndash with any platform or language20

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 3: Customers Live on Windows Azure Platform

Overview

gt Windows Azure for Application Developers

gt Building an Azure Application from Scratch in Visual Studio 2010 Beta 2

gt Tables Blob amp Queuesgt Build an application using SQL Azure gt Review Applicationgt Wrap Up

Session Objectives

gt Understand the major parts of Windows Azure

gt Experience building an application with Windows Azure

gt Leave feeling confident that you can build your own applications with Windows Azure

Windows Azure for Application Developers

Portal HostedService

Storage

SDK

Develop Deploy Run

Roles

Role

Code Configuration

Load Balanced Instances

Role

Instance 1

Instance 2

httpyourappcloudappnet

Web vs Worker Role

Web Role

IIS Host

Your Code

Worker RoleSystem Host

Your Code

Development Fabric and Storage

Local Machine

Windows Azure Simulation Environment

Development Fabric

Development Storage

Portal

Web Role

Demo

Hello Cloud ndash Web Role

Web Role

What Wersquore Going To Code

gt Step 1 - Create a Cloud Service project with a Web Role

gt Step 2 - Write our code and test it locally

gt Step 3 ndash Deploy to the Cloud

Fundamental Storage Abstractions

gt Tables ndash Provide structured storage A Table is a set of entities which contain a set of properties

gt Queues ndash Provide reliable storage and delivery of messages for an application

gt Blobs ndash Provide a simple interface for storing named files along with metadata for the file

gt Drives ndash Provides durable NTFS volumes for Windows Azure applications to use (new)

15

Storage

Storage

Account

Queue

Blob

Tables

Windows Azure Storage Account

gt User creates a globally unique storage account namegt Can choose geo-location to host storage account

gt ldquoUS Anywhererdquo ldquoUS North Centralrdquo ldquoUS South Centralrdquo gt Can co-locate storage account with compute

accountgt Receive a 256 bit secret key when creating account

gt Storage Account Capacity at Commercial Availabilitygt Each storage account can store up to 100 TB gt Default limit of 5 storage accounts per subscription

Create a Storage Account

Demo

Tables

Windows Azure Tablesgt Provides Structured Storage

gt Massively Scalable Tablesgt Billions of entities (rows) and TBs of datagt Can use thousands of servers as traffic

grows

gt Highly Available amp Durablegt Data is replicated several times

gt Familiar and Easy to use APIgt ADONET Data Services ndash NET 35

SP1gt NET classes and LINQgt REST ndash with any platform or language20

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 4: Customers Live on Windows Azure Platform

Session Objectives

gt Understand the major parts of Windows Azure

gt Experience building an application with Windows Azure

gt Leave feeling confident that you can build your own applications with Windows Azure

Windows Azure for Application Developers

Portal HostedService

Storage

SDK

Develop Deploy Run

Roles

Role

Code Configuration

Load Balanced Instances

Role

Instance 1

Instance 2

httpyourappcloudappnet

Web vs Worker Role

Web Role

IIS Host

Your Code

Worker RoleSystem Host

Your Code

Development Fabric and Storage

Local Machine

Windows Azure Simulation Environment

Development Fabric

Development Storage

Portal

Web Role

Demo

Hello Cloud ndash Web Role

Web Role

What Wersquore Going To Code

gt Step 1 - Create a Cloud Service project with a Web Role

gt Step 2 - Write our code and test it locally

gt Step 3 ndash Deploy to the Cloud

Fundamental Storage Abstractions

gt Tables ndash Provide structured storage A Table is a set of entities which contain a set of properties

gt Queues ndash Provide reliable storage and delivery of messages for an application

gt Blobs ndash Provide a simple interface for storing named files along with metadata for the file

gt Drives ndash Provides durable NTFS volumes for Windows Azure applications to use (new)

15

Storage

Storage

Account

Queue

Blob

Tables

Windows Azure Storage Account

gt User creates a globally unique storage account namegt Can choose geo-location to host storage account

gt ldquoUS Anywhererdquo ldquoUS North Centralrdquo ldquoUS South Centralrdquo gt Can co-locate storage account with compute

accountgt Receive a 256 bit secret key when creating account

gt Storage Account Capacity at Commercial Availabilitygt Each storage account can store up to 100 TB gt Default limit of 5 storage accounts per subscription

Create a Storage Account

Demo

Tables

Windows Azure Tablesgt Provides Structured Storage

gt Massively Scalable Tablesgt Billions of entities (rows) and TBs of datagt Can use thousands of servers as traffic

grows

gt Highly Available amp Durablegt Data is replicated several times

gt Familiar and Easy to use APIgt ADONET Data Services ndash NET 35

SP1gt NET classes and LINQgt REST ndash with any platform or language20

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 5: Customers Live on Windows Azure Platform

Windows Azure for Application Developers

Portal HostedService

Storage

SDK

Develop Deploy Run

Roles

Role

Code Configuration

Load Balanced Instances

Role

Instance 1

Instance 2

httpyourappcloudappnet

Web vs Worker Role

Web Role

IIS Host

Your Code

Worker RoleSystem Host

Your Code

Development Fabric and Storage

Local Machine

Windows Azure Simulation Environment

Development Fabric

Development Storage

Portal

Web Role

Demo

Hello Cloud ndash Web Role

Web Role

What Wersquore Going To Code

gt Step 1 - Create a Cloud Service project with a Web Role

gt Step 2 - Write our code and test it locally

gt Step 3 ndash Deploy to the Cloud

Fundamental Storage Abstractions

gt Tables ndash Provide structured storage A Table is a set of entities which contain a set of properties

gt Queues ndash Provide reliable storage and delivery of messages for an application

gt Blobs ndash Provide a simple interface for storing named files along with metadata for the file

gt Drives ndash Provides durable NTFS volumes for Windows Azure applications to use (new)

15

Storage

Storage

Account

Queue

Blob

Tables

Windows Azure Storage Account

gt User creates a globally unique storage account namegt Can choose geo-location to host storage account

gt ldquoUS Anywhererdquo ldquoUS North Centralrdquo ldquoUS South Centralrdquo gt Can co-locate storage account with compute

accountgt Receive a 256 bit secret key when creating account

gt Storage Account Capacity at Commercial Availabilitygt Each storage account can store up to 100 TB gt Default limit of 5 storage accounts per subscription

Create a Storage Account

Demo

Tables

Windows Azure Tablesgt Provides Structured Storage

gt Massively Scalable Tablesgt Billions of entities (rows) and TBs of datagt Can use thousands of servers as traffic

grows

gt Highly Available amp Durablegt Data is replicated several times

gt Familiar and Easy to use APIgt ADONET Data Services ndash NET 35

SP1gt NET classes and LINQgt REST ndash with any platform or language20

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 6: Customers Live on Windows Azure Platform

Roles

Role

Code Configuration

Load Balanced Instances

Role

Instance 1

Instance 2

httpyourappcloudappnet

Web vs Worker Role

Web Role

IIS Host

Your Code

Worker RoleSystem Host

Your Code

Development Fabric and Storage

Local Machine

Windows Azure Simulation Environment

Development Fabric

Development Storage

Portal

Web Role

Demo

Hello Cloud ndash Web Role

Web Role

What Wersquore Going To Code

gt Step 1 - Create a Cloud Service project with a Web Role

gt Step 2 - Write our code and test it locally

gt Step 3 ndash Deploy to the Cloud

Fundamental Storage Abstractions

gt Tables ndash Provide structured storage A Table is a set of entities which contain a set of properties

gt Queues ndash Provide reliable storage and delivery of messages for an application

gt Blobs ndash Provide a simple interface for storing named files along with metadata for the file

gt Drives ndash Provides durable NTFS volumes for Windows Azure applications to use (new)

15

Storage

Storage

Account

Queue

Blob

Tables

Windows Azure Storage Account

gt User creates a globally unique storage account namegt Can choose geo-location to host storage account

gt ldquoUS Anywhererdquo ldquoUS North Centralrdquo ldquoUS South Centralrdquo gt Can co-locate storage account with compute

accountgt Receive a 256 bit secret key when creating account

gt Storage Account Capacity at Commercial Availabilitygt Each storage account can store up to 100 TB gt Default limit of 5 storage accounts per subscription

Create a Storage Account

Demo

Tables

Windows Azure Tablesgt Provides Structured Storage

gt Massively Scalable Tablesgt Billions of entities (rows) and TBs of datagt Can use thousands of servers as traffic

grows

gt Highly Available amp Durablegt Data is replicated several times

gt Familiar and Easy to use APIgt ADONET Data Services ndash NET 35

SP1gt NET classes and LINQgt REST ndash with any platform or language20

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 7: Customers Live on Windows Azure Platform

Load Balanced Instances

Role

Instance 1

Instance 2

httpyourappcloudappnet

Web vs Worker Role

Web Role

IIS Host

Your Code

Worker RoleSystem Host

Your Code

Development Fabric and Storage

Local Machine

Windows Azure Simulation Environment

Development Fabric

Development Storage

Portal

Web Role

Demo

Hello Cloud ndash Web Role

Web Role

What Wersquore Going To Code

gt Step 1 - Create a Cloud Service project with a Web Role

gt Step 2 - Write our code and test it locally

gt Step 3 ndash Deploy to the Cloud

Fundamental Storage Abstractions

gt Tables ndash Provide structured storage A Table is a set of entities which contain a set of properties

gt Queues ndash Provide reliable storage and delivery of messages for an application

gt Blobs ndash Provide a simple interface for storing named files along with metadata for the file

gt Drives ndash Provides durable NTFS volumes for Windows Azure applications to use (new)

15

Storage

Storage

Account

Queue

Blob

Tables

Windows Azure Storage Account

gt User creates a globally unique storage account namegt Can choose geo-location to host storage account

gt ldquoUS Anywhererdquo ldquoUS North Centralrdquo ldquoUS South Centralrdquo gt Can co-locate storage account with compute

accountgt Receive a 256 bit secret key when creating account

gt Storage Account Capacity at Commercial Availabilitygt Each storage account can store up to 100 TB gt Default limit of 5 storage accounts per subscription

Create a Storage Account

Demo

Tables

Windows Azure Tablesgt Provides Structured Storage

gt Massively Scalable Tablesgt Billions of entities (rows) and TBs of datagt Can use thousands of servers as traffic

grows

gt Highly Available amp Durablegt Data is replicated several times

gt Familiar and Easy to use APIgt ADONET Data Services ndash NET 35

SP1gt NET classes and LINQgt REST ndash with any platform or language20

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 8: Customers Live on Windows Azure Platform

Web vs Worker Role

Web Role

IIS Host

Your Code

Worker RoleSystem Host

Your Code

Development Fabric and Storage

Local Machine

Windows Azure Simulation Environment

Development Fabric

Development Storage

Portal

Web Role

Demo

Hello Cloud ndash Web Role

Web Role

What Wersquore Going To Code

gt Step 1 - Create a Cloud Service project with a Web Role

gt Step 2 - Write our code and test it locally

gt Step 3 ndash Deploy to the Cloud

Fundamental Storage Abstractions

gt Tables ndash Provide structured storage A Table is a set of entities which contain a set of properties

gt Queues ndash Provide reliable storage and delivery of messages for an application

gt Blobs ndash Provide a simple interface for storing named files along with metadata for the file

gt Drives ndash Provides durable NTFS volumes for Windows Azure applications to use (new)

15

Storage

Storage

Account

Queue

Blob

Tables

Windows Azure Storage Account

gt User creates a globally unique storage account namegt Can choose geo-location to host storage account

gt ldquoUS Anywhererdquo ldquoUS North Centralrdquo ldquoUS South Centralrdquo gt Can co-locate storage account with compute

accountgt Receive a 256 bit secret key when creating account

gt Storage Account Capacity at Commercial Availabilitygt Each storage account can store up to 100 TB gt Default limit of 5 storage accounts per subscription

Create a Storage Account

Demo

Tables

Windows Azure Tablesgt Provides Structured Storage

gt Massively Scalable Tablesgt Billions of entities (rows) and TBs of datagt Can use thousands of servers as traffic

grows

gt Highly Available amp Durablegt Data is replicated several times

gt Familiar and Easy to use APIgt ADONET Data Services ndash NET 35

SP1gt NET classes and LINQgt REST ndash with any platform or language20

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 9: Customers Live on Windows Azure Platform

Development Fabric and Storage

Local Machine

Windows Azure Simulation Environment

Development Fabric

Development Storage

Portal

Web Role

Demo

Hello Cloud ndash Web Role

Web Role

What Wersquore Going To Code

gt Step 1 - Create a Cloud Service project with a Web Role

gt Step 2 - Write our code and test it locally

gt Step 3 ndash Deploy to the Cloud

Fundamental Storage Abstractions

gt Tables ndash Provide structured storage A Table is a set of entities which contain a set of properties

gt Queues ndash Provide reliable storage and delivery of messages for an application

gt Blobs ndash Provide a simple interface for storing named files along with metadata for the file

gt Drives ndash Provides durable NTFS volumes for Windows Azure applications to use (new)

15

Storage

Storage

Account

Queue

Blob

Tables

Windows Azure Storage Account

gt User creates a globally unique storage account namegt Can choose geo-location to host storage account

gt ldquoUS Anywhererdquo ldquoUS North Centralrdquo ldquoUS South Centralrdquo gt Can co-locate storage account with compute

accountgt Receive a 256 bit secret key when creating account

gt Storage Account Capacity at Commercial Availabilitygt Each storage account can store up to 100 TB gt Default limit of 5 storage accounts per subscription

Create a Storage Account

Demo

Tables

Windows Azure Tablesgt Provides Structured Storage

gt Massively Scalable Tablesgt Billions of entities (rows) and TBs of datagt Can use thousands of servers as traffic

grows

gt Highly Available amp Durablegt Data is replicated several times

gt Familiar and Easy to use APIgt ADONET Data Services ndash NET 35

SP1gt NET classes and LINQgt REST ndash with any platform or language20

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 10: Customers Live on Windows Azure Platform

Portal

Web Role

Demo

Hello Cloud ndash Web Role

Web Role

What Wersquore Going To Code

gt Step 1 - Create a Cloud Service project with a Web Role

gt Step 2 - Write our code and test it locally

gt Step 3 ndash Deploy to the Cloud

Fundamental Storage Abstractions

gt Tables ndash Provide structured storage A Table is a set of entities which contain a set of properties

gt Queues ndash Provide reliable storage and delivery of messages for an application

gt Blobs ndash Provide a simple interface for storing named files along with metadata for the file

gt Drives ndash Provides durable NTFS volumes for Windows Azure applications to use (new)

15

Storage

Storage

Account

Queue

Blob

Tables

Windows Azure Storage Account

gt User creates a globally unique storage account namegt Can choose geo-location to host storage account

gt ldquoUS Anywhererdquo ldquoUS North Centralrdquo ldquoUS South Centralrdquo gt Can co-locate storage account with compute

accountgt Receive a 256 bit secret key when creating account

gt Storage Account Capacity at Commercial Availabilitygt Each storage account can store up to 100 TB gt Default limit of 5 storage accounts per subscription

Create a Storage Account

Demo

Tables

Windows Azure Tablesgt Provides Structured Storage

gt Massively Scalable Tablesgt Billions of entities (rows) and TBs of datagt Can use thousands of servers as traffic

grows

gt Highly Available amp Durablegt Data is replicated several times

gt Familiar and Easy to use APIgt ADONET Data Services ndash NET 35

SP1gt NET classes and LINQgt REST ndash with any platform or language20

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 11: Customers Live on Windows Azure Platform

Web Role

Demo

Hello Cloud ndash Web Role

Web Role

What Wersquore Going To Code

gt Step 1 - Create a Cloud Service project with a Web Role

gt Step 2 - Write our code and test it locally

gt Step 3 ndash Deploy to the Cloud

Fundamental Storage Abstractions

gt Tables ndash Provide structured storage A Table is a set of entities which contain a set of properties

gt Queues ndash Provide reliable storage and delivery of messages for an application

gt Blobs ndash Provide a simple interface for storing named files along with metadata for the file

gt Drives ndash Provides durable NTFS volumes for Windows Azure applications to use (new)

15

Storage

Storage

Account

Queue

Blob

Tables

Windows Azure Storage Account

gt User creates a globally unique storage account namegt Can choose geo-location to host storage account

gt ldquoUS Anywhererdquo ldquoUS North Centralrdquo ldquoUS South Centralrdquo gt Can co-locate storage account with compute

accountgt Receive a 256 bit secret key when creating account

gt Storage Account Capacity at Commercial Availabilitygt Each storage account can store up to 100 TB gt Default limit of 5 storage accounts per subscription

Create a Storage Account

Demo

Tables

Windows Azure Tablesgt Provides Structured Storage

gt Massively Scalable Tablesgt Billions of entities (rows) and TBs of datagt Can use thousands of servers as traffic

grows

gt Highly Available amp Durablegt Data is replicated several times

gt Familiar and Easy to use APIgt ADONET Data Services ndash NET 35

SP1gt NET classes and LINQgt REST ndash with any platform or language20

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 12: Customers Live on Windows Azure Platform

Hello Cloud ndash Web Role

Web Role

What Wersquore Going To Code

gt Step 1 - Create a Cloud Service project with a Web Role

gt Step 2 - Write our code and test it locally

gt Step 3 ndash Deploy to the Cloud

Fundamental Storage Abstractions

gt Tables ndash Provide structured storage A Table is a set of entities which contain a set of properties

gt Queues ndash Provide reliable storage and delivery of messages for an application

gt Blobs ndash Provide a simple interface for storing named files along with metadata for the file

gt Drives ndash Provides durable NTFS volumes for Windows Azure applications to use (new)

15

Storage

Storage

Account

Queue

Blob

Tables

Windows Azure Storage Account

gt User creates a globally unique storage account namegt Can choose geo-location to host storage account

gt ldquoUS Anywhererdquo ldquoUS North Centralrdquo ldquoUS South Centralrdquo gt Can co-locate storage account with compute

accountgt Receive a 256 bit secret key when creating account

gt Storage Account Capacity at Commercial Availabilitygt Each storage account can store up to 100 TB gt Default limit of 5 storage accounts per subscription

Create a Storage Account

Demo

Tables

Windows Azure Tablesgt Provides Structured Storage

gt Massively Scalable Tablesgt Billions of entities (rows) and TBs of datagt Can use thousands of servers as traffic

grows

gt Highly Available amp Durablegt Data is replicated several times

gt Familiar and Easy to use APIgt ADONET Data Services ndash NET 35

SP1gt NET classes and LINQgt REST ndash with any platform or language20

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 13: Customers Live on Windows Azure Platform

What Wersquore Going To Code

gt Step 1 - Create a Cloud Service project with a Web Role

gt Step 2 - Write our code and test it locally

gt Step 3 ndash Deploy to the Cloud

Fundamental Storage Abstractions

gt Tables ndash Provide structured storage A Table is a set of entities which contain a set of properties

gt Queues ndash Provide reliable storage and delivery of messages for an application

gt Blobs ndash Provide a simple interface for storing named files along with metadata for the file

gt Drives ndash Provides durable NTFS volumes for Windows Azure applications to use (new)

15

Storage

Storage

Account

Queue

Blob

Tables

Windows Azure Storage Account

gt User creates a globally unique storage account namegt Can choose geo-location to host storage account

gt ldquoUS Anywhererdquo ldquoUS North Centralrdquo ldquoUS South Centralrdquo gt Can co-locate storage account with compute

accountgt Receive a 256 bit secret key when creating account

gt Storage Account Capacity at Commercial Availabilitygt Each storage account can store up to 100 TB gt Default limit of 5 storage accounts per subscription

Create a Storage Account

Demo

Tables

Windows Azure Tablesgt Provides Structured Storage

gt Massively Scalable Tablesgt Billions of entities (rows) and TBs of datagt Can use thousands of servers as traffic

grows

gt Highly Available amp Durablegt Data is replicated several times

gt Familiar and Easy to use APIgt ADONET Data Services ndash NET 35

SP1gt NET classes and LINQgt REST ndash with any platform or language20

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 14: Customers Live on Windows Azure Platform

Fundamental Storage Abstractions

gt Tables ndash Provide structured storage A Table is a set of entities which contain a set of properties

gt Queues ndash Provide reliable storage and delivery of messages for an application

gt Blobs ndash Provide a simple interface for storing named files along with metadata for the file

gt Drives ndash Provides durable NTFS volumes for Windows Azure applications to use (new)

15

Storage

Storage

Account

Queue

Blob

Tables

Windows Azure Storage Account

gt User creates a globally unique storage account namegt Can choose geo-location to host storage account

gt ldquoUS Anywhererdquo ldquoUS North Centralrdquo ldquoUS South Centralrdquo gt Can co-locate storage account with compute

accountgt Receive a 256 bit secret key when creating account

gt Storage Account Capacity at Commercial Availabilitygt Each storage account can store up to 100 TB gt Default limit of 5 storage accounts per subscription

Create a Storage Account

Demo

Tables

Windows Azure Tablesgt Provides Structured Storage

gt Massively Scalable Tablesgt Billions of entities (rows) and TBs of datagt Can use thousands of servers as traffic

grows

gt Highly Available amp Durablegt Data is replicated several times

gt Familiar and Easy to use APIgt ADONET Data Services ndash NET 35

SP1gt NET classes and LINQgt REST ndash with any platform or language20

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 15: Customers Live on Windows Azure Platform

Storage

Storage

Account

Queue

Blob

Tables

Windows Azure Storage Account

gt User creates a globally unique storage account namegt Can choose geo-location to host storage account

gt ldquoUS Anywhererdquo ldquoUS North Centralrdquo ldquoUS South Centralrdquo gt Can co-locate storage account with compute

accountgt Receive a 256 bit secret key when creating account

gt Storage Account Capacity at Commercial Availabilitygt Each storage account can store up to 100 TB gt Default limit of 5 storage accounts per subscription

Create a Storage Account

Demo

Tables

Windows Azure Tablesgt Provides Structured Storage

gt Massively Scalable Tablesgt Billions of entities (rows) and TBs of datagt Can use thousands of servers as traffic

grows

gt Highly Available amp Durablegt Data is replicated several times

gt Familiar and Easy to use APIgt ADONET Data Services ndash NET 35

SP1gt NET classes and LINQgt REST ndash with any platform or language20

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 16: Customers Live on Windows Azure Platform

Windows Azure Storage Account

gt User creates a globally unique storage account namegt Can choose geo-location to host storage account

gt ldquoUS Anywhererdquo ldquoUS North Centralrdquo ldquoUS South Centralrdquo gt Can co-locate storage account with compute

accountgt Receive a 256 bit secret key when creating account

gt Storage Account Capacity at Commercial Availabilitygt Each storage account can store up to 100 TB gt Default limit of 5 storage accounts per subscription

Create a Storage Account

Demo

Tables

Windows Azure Tablesgt Provides Structured Storage

gt Massively Scalable Tablesgt Billions of entities (rows) and TBs of datagt Can use thousands of servers as traffic

grows

gt Highly Available amp Durablegt Data is replicated several times

gt Familiar and Easy to use APIgt ADONET Data Services ndash NET 35

SP1gt NET classes and LINQgt REST ndash with any platform or language20

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 17: Customers Live on Windows Azure Platform

Create a Storage Account

Demo

Tables

Windows Azure Tablesgt Provides Structured Storage

gt Massively Scalable Tablesgt Billions of entities (rows) and TBs of datagt Can use thousands of servers as traffic

grows

gt Highly Available amp Durablegt Data is replicated several times

gt Familiar and Easy to use APIgt ADONET Data Services ndash NET 35

SP1gt NET classes and LINQgt REST ndash with any platform or language20

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 18: Customers Live on Windows Azure Platform

Tables

Windows Azure Tablesgt Provides Structured Storage

gt Massively Scalable Tablesgt Billions of entities (rows) and TBs of datagt Can use thousands of servers as traffic

grows

gt Highly Available amp Durablegt Data is replicated several times

gt Familiar and Easy to use APIgt ADONET Data Services ndash NET 35

SP1gt NET classes and LINQgt REST ndash with any platform or language20

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 19: Customers Live on Windows Azure Platform

Windows Azure Tablesgt Provides Structured Storage

gt Massively Scalable Tablesgt Billions of entities (rows) and TBs of datagt Can use thousands of servers as traffic

grows

gt Highly Available amp Durablegt Data is replicated several times

gt Familiar and Easy to use APIgt ADONET Data Services ndash NET 35

SP1gt NET classes and LINQgt REST ndash with any platform or language20

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 20: Customers Live on Windows Azure Platform

Table Storage Concepts

EntitiesTablesAccounts

moviesonline

Users

Movies

Email =hellipName = hellip

Email =hellipName = hellip

Genre =hellipTitle = hellip

Genre =hellipTitle = hellip

21

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 21: Customers Live on Windows Azure Platform

Table Data Model

gt Tablegt A storage account can create many

tablesgt Table name is scoped by accountgt Set of entities (ie rows)

gt Entitygt Set of properties (columns)gt Required properties

gt PartitionKey RowKey and Timestamp

22

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 22: Customers Live on Windows Azure Platform

Required Entity Properties

gt PartitionKey amp RowKeygt Uniquely identifies an entitygt Defines the sort ordergt Use them to scale your application

gt Timestamp gt Read onlygt Optimistic Concurrency

23

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 23: Customers Live on Windows Azure Platform

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

PartitionKey(Category)

RowKey(Title)

Timestamp

ReleaseDate

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

PartitionKey(Category)

RowKey(Title)

Timestamp ReleaseDate

Action Fast amp Furious hellip 2009

Action The Bourne Ultimatum

hellip 2007

hellip hellip hellip hellip

Animation

Open Season 2 hellip 2009

Animation

The Ant Bully hellip 2006

hellip hellip hellip hellip

Comedy Office Space hellip 1999

hellip hellip hellip hellip

SciFi X-Men Origins Wolverine

hellip 2009

hellip hellip hellip hellip

War Defiance hellip 2008

Partitions and Partition Ranges

Server BTable = Movies

[Comedy- Western)

Server ATable = Movies[Action - Comedy)

24

Server ATable = Movies

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 24: Customers Live on Windows Azure Platform

Table Operations

gt Tablegt Creategt Querygt Delete

gt Entitiesgt Insertgt Update

gt Merge ndash Partial Updategt Replace ndash Update entire entity

gt Deletegt Querygt Entity Group Transaction (new)

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 25: Customers Live on Windows Azure Platform

Queues

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 26: Customers Live on Windows Azure Platform

Windows Azure Queues

gt Queue are performance efficient highly available and provide reliable message deliverygt Simple asynchronous work dispatchgt Programming semantics ensure that a

message can be processed at least once

gt Access is provided via REST

27

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 27: Customers Live on Windows Azure Platform

Queue Storage Concepts

Messages

QueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http

256 x 256 http

http

http

28

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 28: Customers Live on Windows Azure Platform

Account Queues and Messages

gt An account can create many queuesgt Queue Name is scoped by the account

gt A Queue contains messagesgt No limit on number of messages stored in a

queuegt Set a limit for message expiration

gt Messagesgt Message size lt= 8 KBgt To store larger data store data in blobentity

storage and the blobentity name in the message

gt Message now has dequeue count 29

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 29: Customers Live on Windows Azure Platform

Queue Operations

gt Queuegt Create Queuegt Delete Queuegt List Queuesgt GetSet Queue Metadata

gt Messagesgt Add Message (ie Enqueue Message)gt Get Message(s) (ie Dequeue Message)gt Peek Message(s)gt Delete Message

30

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 30: Customers Live on Windows Azure Platform

21

11

C1

C2

How Queue Works

11

21

340

Producers Consumers

P2

P1

30

2 GetMessage(Q 30 s) msg 2

1 GetMessage(Q 30 s) msg 1

11

21

31

10

20

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 31: Customers Live on Windows Azure Platform

C1

C2

How Queue Works

340

Producers Consumers

P2

P1

11

21

2 GetMessage(Q 30 s) msg 23 C2 consumed msg 24 DeleteMessage(Q msg 2)7 GetMessage(Q 30 s) msg 1

1 GetMessage(Q 30 s) msg 15 C1 crashed

11

21

6 msg1 visible 30 s after Dequeue30

32

121112

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 32: Customers Live on Windows Azure Platform

Blobs

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 33: Customers Live on Windows Azure Platform

Blob Storage Concepts

BlobContainerAccount

sally

images

PIC01JPG

PIC02JPG

movies MOV1AVI

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 34: Customers Live on Windows Azure Platform

Blob Features and Functions

gt Store Large Objects (100s of GBs in size)

gt Associate Metadata with Blobgt Metadata is ltname valuegt pairs Up to 8KB per blobgt SetGet with or separate from blob data bits

gt Standard REST Interfacegt PutBlob

gt Inserts a new blob overwrites the existing blobgt GetBlob

gt Get whole blob or a specific rangegt DeleteBlobgt CopyBlob (new)gt SnapshotBlob (new)gt LeaseBlob (new)

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 35: Customers Live on Windows Azure Platform

Two Types of Blobs Under the Hood

gt Block Blob gt Targeted at streaming workloadsgt Each blob consists of a sequence of blocks

gt Each block is identified by a Block IDgt Size limit 200GB per blob

gt Page Blob (new)gt Targeted at random readwrite workloadsgt Each blob consists of an array of pages

gt Each page is identified by its offset from the start of the blob

gt Size limit 1TB per blob

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 36: Customers Live on Windows Azure Platform

Blob Namespace

gt Blob URLhttpltAccountgtblobcorewindowsnetltContainergt

ltBlobNamegt

gt Example gt Storage Account ndash sallygt Container ndash musicgt BlobName ndash rockrushxanadump3gt httpsallyblobcorewindowsnetmusicrockrushxanadu

mp3

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 37: Customers Live on Windows Azure Platform

Windows Azure Content Delivery Network (new)gt Scenario

gt Frequently accessed blobsgt Accessed from around the world

gt Desiregt Same experience for users no matter how far they are from the geo-

location where the storage account is hosted

gt Windows Azure Content Delivery Network (CDN) provides high-bandwidth global blob content deliverygt 18 locations globally (US Europe Asia Australia and South America) and

growing

gt Blob service URL vs CDN URLgt Windows Azure Blob URL httpsallyblobcorewindowsnetgt Windows Azure CDN URL httpltguidgtvomsecndnet gt Custom Domain Name for CDN httpeventscohowinerycom

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 38: Customers Live on Windows Azure Platform

Tables Blob and Queue

Guest Book

Demo

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 39: Customers Live on Windows Azure Platform

Recap ndash Guest Book

Web Role Worker Role

Blob

Queue

Tables

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 40: Customers Live on Windows Azure Platform

gtgtFUTURE

Windows Azure XDrive (new)

gt Provides a durable NTFS volume for Windows Azure applications to usegt Use existing NTFS APIs to access a durable drive

gt Durability and survival of data on application failover gt Enables migrating existing NTFS applications to the cloud

gt A Windows Azure Drive is a Page Blobgt Example mount Page Blob as X

gt httpltaccountnamegtblobcorewindowsnetltcontainernamegtltblobnamegt

gt All writes to drive are made durable to the Page Blobgt Drive made durable through standard Page Blob replicationgt Drive persists even when not mounted as a Page Blob

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 41: Customers Live on Windows Azure Platform

SQL Azure

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 42: Customers Live on Windows Azure Platform

SQL Azure Database

Customer Value Props

Self-provisioning and capacity on demand

Symmetry w on-premises database platform

Automatic high-availability and fault-tolerance

Automated DB maintenance (infrastructure)

Simple flexible pricing ndash ldquopay as you growrdquo

MSDatacente

r

Windows Azure

Compute

Browser

SOAPRESTHTTPS

T-SQL (TDS)

App Code(ASPNET)

SQL Server Report Server

(on-premises)

ADONETREST - EDMHTTPS

- AD Federation (LiveId AppFabric AC)

SQL AzureDatabase

T-SQL (TDS)

Relational database service

bull SQL Server technology foundation

bull Highly symmetrical

bull Highly scaled

bull Highly secure

Database ldquoas a Servicerdquo ndash beyond hosting

Highly scaled out relational database as a service

Database

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 43: Customers Live on Windows Azure Platform

T-SQL Support (full or partial)

gt Constantsgt Constraintsgt Cursorsgt Index management

and rebuilding indexes

gt Local temporary tables

gt Reserved keywordsgt Stored proceduresgt Statistics

managementgt Transactionsgt Triggers

gt Tables joins and table variables

gt Transact-SQL language elements such as gt Createdrop

databasesgt Createalterdrop

tablesgt Createalterdrop

users and loginsgt hellip

gt User-defined functions

gt Views

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 44: Customers Live on Windows Azure Platform

T-SQL Not Supported (v1)

gt Common Language Runtime (CLR)

gt Database file placement

gt Database mirroringgt Distributed queriesgt Distributed

transactionsgt Filegroup

managementgt Full Text Searchgt Global temporary

tablesgt Spatial data and

indexes

gt SQL Server configuration options

gt SQL Server Service Broker

gt System tablesgt Trace Flags

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 45: Customers Live on Windows Azure Platform

Demo

gt Reviewing a SQL Azure Accountgt Retrieve data from SQL Azure and

display

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 46: Customers Live on Windows Azure Platform

Demo

gt Setting up certificates for service management

gt Using Service Management API

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 47: Customers Live on Windows Azure Platform

Summary

gt Same Development Tools and Experience

gt Local and Cloud Based Environmentsgt Rapid Cloud Development

Deployment and Maintenance

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 48: Customers Live on Windows Azure Platform

gt Questions

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50
Page 49: Customers Live on Windows Azure Platform

copy 2010 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor other countriesThe 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

  • Slide 1
  • Introduction to Building Applications with Windows Azure
  • Customers Live on Windows Azure Platform
  • Overview
  • Session Objectives
  • Windows Azure for Application Developers
  • Roles
  • Load Balanced Instances
  • Web vs Worker Role
  • Development Fabric and Storage
  • Portal
  • Web Role
  • Hello Cloud ndash Web Role
  • What Wersquore Going To Code
  • Fundamental Storage Abstractions
  • Storage
  • Windows Azure Storage Account
  • Create a Storage Account
  • Slide 19
  • Windows Azure Tables
  • Table Storage Concepts
  • Table Data Model
  • Required Entity Properties
  • Partitions and Partition Ranges
  • Table Operations
  • Slide 26
  • Windows Azure Queues
  • Queue Storage Concepts
  • Account Queues and Messages
  • Queue Operations
  • How Queue Works
  • How Queue Works
  • Slide 33
  • Blob Storage Concepts
  • Blob Features and Functions
  • Two Types of Blobs Under the Hood
  • Blob Namespace
  • Windows Azure Content Delivery Network (new)
  • Tables Blob and Queue
  • Recap ndash Guest Book
  • Windows Azure XDrive (new)
  • SQL Azure
  • SQL Azure Database
  • T-SQL Support (full or partial)
  • T-SQL Not Supported (v1)
  • Demo
  • Demo (2)
  • Summary
  • Slide 49
  • Slide 50