Download - 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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-