Microsoft Azure Platform Overview
March, 2010Dmytro Maleev
2
Clouds?
Microsoft Azure Overview
Windows Azure
SQL Azure
Windows Azure App Fabric
References
Q&A
Agenda
3
Clouds?
4
Windows Azure: Provides a Windows-based environment for running applications and storing data on servers in Microsoft data centers.
SQL Azure: Provides data services in the cloud based on SQL Server.
App Fabric: Offers distributed infrastructure services to cloud-based and local applications.
Microsoft Azure Overview
5
Part of the larger Azure Services Platform, Windows Azure is a platform for running Windows applications and storing data in the cloud.
Windows Azure
6
Services Provided by Windows Azure
7
.NET 3.5 SP1
Server 2008 – 64bit
Full Trust
Web Role
IIS7 Web Sites (ASP.NET, FastCGI)
Web Services (WCF)
Worker Role
Stateless Servers
Http(s)
What is Compute Service?
8
Blobs, Tables, Queues
Designed for the cloud
3 replicas
Guaranteed consistency
Accessible directly from the internet via REST API
Does not require compute
Access via storage account
Sample Storage Client in SDK
What is Storage?
9
Binary Large Object
Blobs stored in Containers
1 or more Containers per account
Scoping is at container level
…/Container/blobpath
Metadata, accessed independently
Private or Public container access
Content Delivery Network
Windows Azure Drive
Snapshot Drive
Blobs
10
Two types of Blobs: Block blobs and Page blobs.
Block Blobs:
Optimized for streaming.
1 Block Blob 64mb or up to 50.000 Block Blobs with Max Size 4mb each.
Writing a block blob is two steps operation.
Page Blobs:
Optimized for random read/write operations and provide the ability to write to a range of bytes in a blob.
Page blobs are a collection of pages. A page is a range of data that is identified by its offset from the start of the blob.
Write to page blobs happen in-place and are immediately committed to the blob.
The maximum size for a page blob is 1 TB. A page written to a page blob may be up to 1 TB in size.
Understanding Blobs
11
This is not DATABASE Tables! Table service offers structured storage in the form of tables
Entities and properties (rows & columns)
Tables scoped by account
Designed for billions+
Scale-out using partitions
Partition key & row key
Operations performed on partitions
Efficient queries
No limit on number of partitions
Use ADO.NET Data Services
LINQ
Tables
12
Tables store data as collections of entities. Entities are similar to rows. An entity has a primary key and a set of properties. A property is a name, typed-value pair, similar to a column.
An entity may have up to 255 properties, including the 3 system.
An entity always has the following system properties:
PartitionKey property
RowKey property
Timestamp property
Tables, Entities, and Properties
13
Simple asynchronous dispatch queue
Create and delete queues
Message:
Retrieved at least once
Max size 8kb
Operations:
Enqueue
Dequeue
RemoveMessage
Queues
14
Microsoft SQL Azure Database is a cloud-based relational database platform built on SQL Server technologies.
Familiar SQL Server relational model
Familiar Development Model
High Availability
Scalability
Uses existing APIs & tools
Friction free provisioning and reduced management
SQL Azure Firewall
Accessible to all from PHP, Ruby, and Java
SQL Azure
15
Access Scenarios
16
Constants
Constraints
Cursors
Index management and rebuilding indexes
Local temporary tables
Reserved keywords
Stored procedures
Statistics management
Transactions
Triggers
Tables, joins, and table variables
Transact-SQL language elements
User-defined functions
Views
SQL Azure. Supported
17
Common Language Runtime (CLR)
Database file placement
Database mirroring
Distributed queries
Distributed transactions
Filegroup management
Global temporary tables
Spatial data and indexes
SQL Server configuration options
SQL Server Service Broker
System tables
Trace Flags
SQL Azure. Not supported
18
2 types of accounts:
1GB databases.
10GB databases.
Only SQL Authentication.
Currently SQL Azure supports a maximum of five databases including the master database, so only four user databases can be created.
Multiple Active Result Sets (MARS) is not supported
“Huron” Data Sync
SQL Azure. Additional facts.
19
Originally known as BizTalk Services, the functions provided by .NET Services address common infrastructure challenges in creating distributed applications.
Windows Azure App Fabric
20
Access Control: An increasingly common approach to identity is to have each user supply an application with a token containing some set of claims. The application can then decide what this user is allowed to do based on these claims. Doing this effectively across companies requires identity federation, which lets claims created in one identity scope be accepted in another. It might also require claims transformation, modifying claims when they’re passed between identity scopes. The Access Control service provides a cloud-based implementation of both.
Service Bus: Exposing an application’s services on the Internet is harder than most people think. The goal of Service Bus is to make this simpler by letting an application expose Web services endpoints that can be accessed by other applications, whether on-premises or in the cloud. Each exposed endpoint is assigned a URI, which clients can use to locate and access the service. Service Bus also
Access Control & Service Bus
21
Access Control
If user is a manager
22
Claims!
23
How it works?
Does user has a GoldMember claim?
24
Service Bus.
25
Problem Description
26
Possible Usage
27
Official Microsoft Azure Site:
http://www.microsoft.com/windowsazure/
Windows Azure Training Kit:
http://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&displaylang=en
Windows Azure Application. Riviera:
http://code.msdn.microsoft.com/riviera
Windows Azure Application examples:
http://blogs.msdn.com/goto100/archive/2009/12/23/multi-tenanted-applications-on-windows-azure-and-sql-azure-added-to-my-todo-list-for-2010.aspx
References
28
Q&A
?