Architectures with Windows Azure


Published on

Architectures with Windows Azure by Damir Dobric

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 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 APINotes
  • 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 smallerNotes
  • Architectures with Windows Azure

    1. 1. New possibilities with Windows Azure Platform ServicesDipl.-Ing. Damir Dobric Technology Advisor in Business Platform Division – Microsoft Corp. Microsoft Most Valuable ProfessionalLead Architectdaenet Email: Blog:
    2. 2. AgendaStorageCachingRelaying Queuing Topics
    3. 3. Moores 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
    4. 4. Limit of vertical scale ?
    5. 5. 256 Core Processor
    6. 6. PaaS =Multithreaded + Multicore + Multimachine Program Windows Azure Platform Thread 1 Thread 2 Thread 1 Thread 2 Thread 1 Thread 2 Thread 1 Thread 2Processor x64 – Core I Processor x64 – Core II Processor x64 – Core I Processor x64 – Core II Thread 1 Thread 2 Thread 1 Thread 2 Thread 1 Thread 2 Thread 1 Thread 2Processor x64 – Core III Processor x64 – Core IV Processor x64 – Core III Processor x64 – Core IV Machine I Machine I today– tomorrow
    7. 7. Cloud Services “IaaS” “PaaS” “SaaS”Infrastructure-as-a-Service Platform-as-a-Service Software-as-a-Service HOST BUILD CONSUME
    8. 8. Platform Services Windows Azure Services Service AccessCache Bus Control Storage SQL Server Integration
    9. 9. 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
    10. 10. 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: azure-page-blobs-and-how-to-efficiently-upload-and-download-page-blobs.aspx
    11. 11. Demo - StorageStorageCachingRelaying Queuing Topics
    12. 12. Caching Cache Client Client Config Cache Port TCP22233 Cache Host 1 Cache Host 2Arbitration Port Cluster PortTCP22235 TCP22234 (live tick) PowerShell Cluster Administration Configuration Replication Port TCP22233
    13. 13. Demo - CachingStorageCachingRelaying Queuing Topics
    14. 14. Service BusConnectivity Messaging Relaying Queues Tunneling Topics Eventing PubSub Push BrokerService Registry Integration Naming Routing Discovery Coordination Transformation
    15. 15. Service Bus Connectivity Service Bus 1. Outbound, bi- Forwarder directional TCP socket2. Outbound, bi- connectiondirectional TCPsocketconnection 3. Route and relay the message, and send it to the service.Client Service
    16. 16. WCF Relay Protocol SupportMicrosoft.ServiceBus.dll v1.6
    17. 17. Demo - RelayingStorageCachingRelaying Queuing Topics
    18. 18. Operation styles Intermediary “Push” = Direct send of message to receiver Broker“Pull” Sender sends message to queue. Broker hold message for query
    19. 19. Broker Style (Queuing)• Load Balancing (Competing Consumer) Broker• Offline Mode Broker
    20. 20. Concentrator-Pattern (Fan-In) QUEUE
    21. 21. Message Distribution (Fan-Out) TOPIC
    22. 22. BrokeredMessageBroker Message Properties Body
    23. 23. Demo - MessagingStorageCachingRelaying Queuing Topics
    24. 24. 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
    25. 25. Transactions Support Receiver Transactions are local - not distributed! Sender Queue Receiver Receiverusing (TransactionScope scope = new TransactionScope()){ queueClient.Send(msg1); queueClient.Send(msg2); scope.Complete();}
    26. 26. 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 = 64Source:
    27. 27. RecapStorageCachingRelaying Queuing Topics
    28. 28. Q&A