architectures with windows azure
DESCRIPTION
Architectures with Windows Azure by Damir DobricTRANSCRIPT
![Page 1: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/1.jpg)
![Page 2: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/2.jpg)
![Page 3: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/3.jpg)
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
![Page 4: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/4.jpg)
Storage
Caching
Queuing Topics
Agenda
Relaying
![Page 5: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/5.jpg)
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
![Page 6: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/6.jpg)
Limit of vertical scale ?
![Page 7: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/7.jpg)
256 Core Processor
![Page 8: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/8.jpg)
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
![Page 9: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/9.jpg)
Cloud Services
Software-as-a-Service
CONSUME
“SaaS”Platform-as-a-Service
BUILD
“PaaS”Infrastructure-as-a-
ServiceHOST
“IaaS”
![Page 10: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/10.jpg)
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
![Page 11: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/11.jpg)
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
![Page 12: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/12.jpg)
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
![Page 13: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/13.jpg)
Demo - Storage
Storage
Caching
Queuing TopicsRelaying
![Page 14: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/14.jpg)
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
![Page 15: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/15.jpg)
Demo - Caching
Storage
Caching
Queuing TopicsRelaying
![Page 16: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/16.jpg)
Service Bus
ConnectivityRelayingTunnelingEventingPush
MessagingQueuesTopicsPubSubBroker
Service RegistryNamingDiscovery
IntegrationRoutingCoordinationTransformation
![Page 17: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/17.jpg)
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
![Page 18: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/18.jpg)
WCF Relay Protocol SupportMicrosoft.ServiceBus.dll v1.6
![Page 19: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/19.jpg)
Demo - Relaying
Storage
Caching
Queuing TopicsRelaying
![Page 20: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/20.jpg)
Operation styles
IntermediarySender Receiver
BrokerSender Receiver
“Push” = Direct send of message to receiver
“Pull” Sender sends message to queue. Broker hold message for query
![Page 21: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/21.jpg)
Broker Style (Queuing)
• Load Balancing (Competing Consumer)
• Offline Mode
BrokerSender
Receiver
Receiver
BrokerSender
Receiver
![Page 22: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/22.jpg)
Concentrator-Pattern (Fan-In)
QUEUESenderReceiv
er
Sender
Sender
![Page 23: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/23.jpg)
Message Distribution (Fan-Out)
TOPICSenderReceiv
er
Receiver
Receiver
![Page 24: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/24.jpg)
BrokeredMessageBroker Message
Body
Properties
Key Value
Key Value
Key Value
Key Value
Body
![Page 25: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/25.jpg)
Demo - Messaging
Storage
Caching
Queuing TopicsRelaying
![Page 26: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/26.jpg)
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
![Page 27: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/27.jpg)
Transactions SupportTransactions are local - not distributed!
Sender Receiver
Queue
Receiver
Receiver
using (TransactionScope scope = new TransactionScope()){ queueClient.Send(msg1); queueClient.Send(msg2); scope.Complete();}
![Page 28: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/28.jpg)
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
![Page 29: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/29.jpg)
Recap
Storage
Caching
Queuing TopicsRelaying
![Page 30: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/30.jpg)
Q&A
![Page 31: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/31.jpg)
![Page 32: Architectures with Windows Azure](https://reader036.vdocuments.mx/reader036/viewer/2022081603/557ad6abd8b42a0b188b544e/html5/thumbnails/32.jpg)