Architectures with Windows Azure
-
Upload
damir-dobric -
Category
Technology
-
view
179 -
download
3
description
Transcript of Architectures with Windows Azure
New possibilities with Windows Azure Platform Services
Dipl.-Ing. Damir Dobric
Lead Architectdaenet
Technology Advisor in Business Platform Division – Microsoft Corp.Microsoft Most Valuable Professional
Email: [email protected]: http://developers.de
Storage
Caching
Queuing Topics
Agenda
Relaying
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
Limit of vertical scale ?
256 Core Processor
Machine I
PaaS = Multithreaded + Multicore + Multimachine
ProgramWindows Azure Platform
today– tomorrow
Processor x64 – Core I
Thread 1
Thread 2
Processor x64 – Core II
Thread 1
Thread 2
Processor x64 – Core III
Thread 1
Thread 2
Processor x64 – Core IV
Thread 1
Thread 2
Machine I
Processor x64 – Core I
Thread 1
Thread 2
Processor x64 – Core II
Thread 1
Thread 2
Processor x64 – Core III
Thread 1
Thread 2
Processor x64 – Core IV
Thread 1
Thread 2
Cloud Services
Software-as-a-Service
CONSUME
“SaaS”Platform-as-a-Service
BUILD
“PaaS”Infrastructure-as-a-
ServiceHOST
“IaaS”
Windows Azure ServicesWindows Azure Services
AccessControl
ServiceBus
SQL Server IntegrationStorageCache
Pub/Sub
Queues
Identity
Workflows
WCF Services
Rules
Adapters
Pipelines
Business Activity
Monitoring
Gen Purpose
IndustrySpecific
Transforms
Discovery
Routing
Platform Services
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
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
Demo - Storage
Storage
Caching
Queuing TopicsRelaying
Caching
Cache Host 1 Cache Host 2
Cluster Configuration
PowerShellAdministration
Cache Client Client ConfigCache Port TCP22233
Cluster Port TCP22234 (live tick)
Arbitration Port TCP22235
Replication Port TCP22233
Demo - Caching
Storage
Caching
Queuing TopicsRelaying
Service Bus
ConnectivityRelayingTunnelingEventingPush
MessagingQueuesTopicsPubSubBroker
Service RegistryNamingDiscovery
IntegrationRoutingCoordinationTransformation
Service Bus Connectivity
Service Bus
Client
1. Outbound, bi-directional TCP socket connection2. Outbound,
bi-directional TCP socket connection
Service
3. Route and relay the message, and send it to the service.
Forwarder
WCF Relay Protocol SupportMicrosoft.ServiceBus.dll v1.6
Demo - Relaying
Storage
Caching
Queuing TopicsRelaying
Operation styles
IntermediarySender Receiver
BrokerSender Receiver
“Push” = Direct send of message to receiver
“Pull” Sender sends message to queue. Broker hold message for query
Broker Style (Queuing)
• Load Balancing (Competing Consumer)
• Offline Mode
BrokerSender
Receiver
Receiver
BrokerSender
Receiver
Concentrator-Pattern (Fan-In)
QUEUESenderReceiv
er
Sender
Sender
Message Distribution (Fan-Out)
TOPICSenderReceiv
er
Receiver
Receiver
BrokeredMessageBroker Message
Body
Properties
Key Value
Key Value
Key Value
Key Value
Body
Demo - Messaging
Storage
Caching
Queuing TopicsRelaying
Receive styles• Receive and Delete
– Faster. – Message lost if
receiver crashes or transmission fails.
• Peek Lock– Slower– Locked when received.– Reappears
if not deleted within lock timeout
– Reappearson Abandon
– Deleted on Complete
Broker ReceiverReceive and Delete
Broker Receiver2. Complete/ Abandon
1. Peek/Lock
Transactions SupportTransactions are local - not distributed!
Sender Receiver
Queue
Receiver
Receiver
using (TransactionScope scope = new TransactionScope()){ queueClient.Send(msg1); queueClient.Send(msg2); scope.Complete();}
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
Recap
Storage
Caching
Queuing TopicsRelaying
Q&A