Microsoft Azure Platform Overview March, 2010 Dmytro Maleev
Clouds? Microsoft Azure Overview Windows Azure SQL Azure Windows Azure App Fabric References Q&A Agenda
Clouds?
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
Part of the larger Azure Services Platform, Windows Azure is a platform for running Windows applications and storing data in the cloud.  Windows Azure
Services Provided by Windows Azure
.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?
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?
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
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
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
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
Simple asynchronous dispatch queue Create and delete queues Message: Retrieved at least once Max size 8kb Operations: Enqueue Dequeue RemoveMessage Queues
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
Access Scenarios
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
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
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.
Originally known as BizTalk Services, the functions provided by .NET Services address common infrastructure challenges in creating distributed applications.  Windows Azure App Fabric
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
Access Control If user is a manager
Claims!
How it works? Does user has a GoldMember claim?
Service Bus.
Problem Description
Possible Usage
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
Q&A ?

Microsoft Azure

  • 1.
    Microsoft Azure PlatformOverview March, 2010 Dmytro Maleev
  • 2.
    Clouds? Microsoft AzureOverview Windows Azure SQL Azure Windows Azure App Fabric References Q&A Agenda
  • 3.
  • 4.
    Windows Azure: Providesa 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 thelarger Azure Services Platform, Windows Azure is a platform for running Windows applications and storing data in the cloud. Windows Azure
  • 6.
    Services Provided byWindows Azure
  • 7.
    .NET 3.5 SP1Server 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, QueuesDesigned 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 ObjectBlobs 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 ofBlobs: 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 notDATABASE 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 dataas 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 dispatchqueue Create and delete queues Message: Retrieved at least once Max size 8kb Operations: Enqueue Dequeue RemoveMessage Queues
  • 14.
    Microsoft SQL AzureDatabase 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.
  • 16.
    Constants Constraints CursorsIndex 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 ofaccounts: 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 asBizTalk Services, the functions provided by .NET Services address common infrastructure challenges in creating distributed applications. Windows Azure App Fabric
  • 20.
    Access Control: Anincreasingly 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 Ifuser is a manager
  • 22.
  • 23.
    How it works?Does user has a GoldMember claim?
  • 24.
  • 25.
  • 26.
  • 27.
    Official Microsoft AzureSite: 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.