This document discusses various Azure Platform Services including storage, caching, relaying, queuing, and topics. Storage in Azure provides blobs, drives, tables and queues for structured storage needs. Caching services improve application performance. Service Bus provides relaying for connectivity between applications and queuing/topics for messaging with publish/subscribe capabilities. Platform as a Service (PaaS) allows building and hosting applications on Azure's scalable infrastructure.
[2024]Digital Global Overview Report 2024 Meltwater.pdf
Architectures with Windows Azure
1.
2.
3. New possibilities with Windows
Azure Platform Services
Dipl.-Ing. Damir Dobric Technology Advisor in Business Platform
Division – Microsoft Corp.
Microsoft Most Valuable Professional
Lead Architect
daenet Email: damir.dobric@daenet.com
Blog: http://developers.de
5. Moore's Law
• Trend for number of transistors on integrated circuit.
• It doubles approximately every two years.
• Strongly linked to:
– processing speed,
– memory capacity,
– and even the number and size of pixels in digital cameras.
• Impact on nearly every segment of the world economy
10. Platform Services
Windows Azure Services
Service Access
Cache Bus Control Storage SQL Server Integration
11. Storage Abstractions
• Blobs – Simple named files along with metadata for the
file
• Drives – Durable NTFS volumes for Windows Azure
applications to use. Based on Blobs.
• Tables – Structured storage. A Table is a set of entities;
an entity is a set of properties
• Queues – Reliable storage and delivery of messages for
an application
12. Two Types of Blobs Under the Hood
• Block Blob
– Targeted at streaming workloads
– Each blob consists of a sequence of blocks
• Each block is identified by a Block ID
– Size limit 200GB per blob
– Optimistic Concurrency via ETags
• Page Blob
– Targeted at random read/write workloads
– Each blob consists of an array of pages
• Each page is identified by its offset from the start of the blob
– Size limit 1TB per blob
– Optimistic or Pessimistic (locking) concurrency via Leases
Sample:
http://blogs.msdn.com/b/windowsazurestorage/archive/2010/04/11/using-windows-
azure-page-blobs-and-how-to-efficiently-upload-and-download-page-blobs.aspx
16. Service Bus
Connectivity Messaging
Relaying Queues
Tunneling Topics
Eventing PubSub
Push Broker
Service Registry Integration
Naming Routing
Discovery Coordination
Transformation
17. Service Bus Connectivity
Service
Bus
1. Outbound, bi-
Forwarder directional TCP
socket
2. Outbound, bi- connection
directional TCP
socket
connection
3. Route and relay
the message, and
send it to the service.
Client Service
20. Operation styles
Intermediary
“Push” = Direct send of message to receiver
Broker
“Pull” Sender sends message to queue. Broker hold
message for query
26. Receive styles
• Receive and Delete
– Faster. Broker Receiver
– Message lost if Receive and Delete
receiver crashes or
transmission fails.
• Peek Lock
– Slower
– Locked when received.
– Reappears 1. Peek/Lock
if not deleted
within lock timeout
Broker 2. Complete/
Receiver
– Reappears
on Abandon Abandon
– Deleted on Complete
27. Transactions Support Receiver
Transactions are local - not distributed!
Sender Queue Receiver
Receiver
using (TransactionScope scope =
new TransactionScope())
{
queueClient.Send(msg1);
queueClient.Send(msg2);
scope.Complete();
}
28. Quotas
• Queue/Topic size = 1,2,3,4 or 5 GB (MaxQueueSizeInBytes)
• Concurrent connections on a queue/topic = 100
• Topics/queues per service namespace = 10000
• Message size = 256kb
• Message Hader size = 64kb
• Number of header properties = int.MaxValue
• Maximum size of property in property bag: No explicit limit. Limited
by maximum header size.
• Each Property size = 32kb (all together 64kb)
• Subscriptions per topic = 2000
• Number of SQL Filters = 2000
• Number of correlation filters = 100000
• MaxSize of filter condition string = 4kb
• Max number of expressions per rule = 64
Source: http://msdn.microsoft.com/en-us/library/windowsazure/ee732538.aspx
Slide Objectives:Explain the three established terms in the industry for cloud servicesSpeaking Points:With this in mind, it’s important to understand how to talk about our Cloud Services offerings.There is a lot of confusion in the industry when it comes to the cloud. It’s important that you understand both what is happening in the industry and how we think about the cloud. This is the most commonly used taxonomy for differentiating between types of cloud services.The industry has defined three categories of services:IaaS – a set of infrastructure level capabilities such as an operating system, network connectivity, etc. that are delivered as pay for use services and can be used to host applications. PaaS – higher level sets of functionality that are delivered as consumable services for developers who are building applications. PaaS is about abstracting developers from the underlying infrastructure to enable applications to quickly be composed. SaaS – applications that are delivered using a service delivery model where organizations can simply consume and use the application. Typically an organization would pay for the use of the application or the application could be monetized through ad revenue. It is important to note that these 3 types of services may exist independently of one another or combined with one another. SaaS offerings needn’t be developed upon PaaS offerings although solutions built on PaaS offerings are often delivered as SaaS. PaaS offerings also needn’t expose IaaS and there’s more to PaaS than just running platforms on IaaS.
Slide ObjectivesUnderstand each of the storage types at a high levelSpeaker NotesThe Windows Azure storage services provide storage for binary and text data, messages, and structured data in Windows Azure. The storage services include:The Blob service, for storing binary and text dataThe Queue service, for storing messages that may be accessed by a clientThe Table service, for structured storage for non-relational dataWindows Azure drives, for mounting an NTFS volume accessible to code running in your Windows Azure serviceProgrammatic access to the Blob, Queue, and Table services is available via the Windows Azure Managed Library and the Windows Azure storage services REST APINoteshttp://blogs.msdn.com/b/windowsazurestorage/archive/2010/03/28/windows-azure-storage-resources.aspx
Slide ObjectiveUnderstand different blob typesSpeaker NotesBlock blobs are comprised of blocks, each of which is identified by a block ID. You create or modify a block blob by uploading a set of blocks and committing them by their block IDs. If you are uploading a block blob that is no more than 64 MB in size, you can also upload it in its entirety with a single Put Blob operation.When you upload a block to Windows Azure using the Put Block operation, it is associated with the specified block blob, but it does not become part of the blob until you call the Put Block List operation and include the block's ID. The block remains in an uncommitted state until it is specifically committed. Writing to a block blob is thus always a two-step process.Each block can be a maximum of 4 MB in size. The maximum size for a block blob in version 2009-09-19 is 200 GB, or up to 50,000 blocks.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. To create a page blob, you initialize the page blob by calling Put Blob and specifying its maximum size. To add content to or update a page blob, you call the Put Page operation to modify a page or range of pages by specifying an offset and range. All pages must align 512-byte page boundaries.Unlike writes to block blobs, writes 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 but will typically be much smallerNoteshttp://msdn.microsoft.com/en-us/library/dd135734.aspx