Windows Azure AppFabric Service Bus Future – PDC10 Session Review

Clemens Vasters – Principal Technical Lead @ Windows Azure Team


Service Bus Today

  • Naming fabric or Structure that sits out on the internet that provides us to create a namespace
  • When we create a namespace for the service bus, Microsoft provisions a tenant in a multi-tenant value fabric for us, where we can create endpoints, message buffers, and communicate through those.
  • Around this routing fabric we have several nodes where we connect and that’s is where the fabric is being used.
  • Use Case Samples:
    • Message Queues: Wherever you need some application queue
      • Airline that is using this to check-in and synchronize devices using this
    • Outside Services: Whenever you need to provide a public facing service, but your internal service
    • MultiCast (Eventing)
    • Direct Connect (Bridge two environments through Firewalls and NAT.

A look into the Future

  • Service Bus Capability Scope
    • Connectivity (currently in the CTP)
      • Service Relay
      • Protocol Tunnel
      • Eventing
      • Push
    • Messaging (currently in the CTP)
      • Queuing
      • Pub/Sub
      • Reliable Transfer
    • Service Management
      • Naming
      • Discovery
      • Monitoring
    • Orchestration (Workflow)
      • Routing
      • Coordination
      • Transformation


  • Service Bus October 2010 Labs (labs release not parity with production services)
    • New and Improved
      • Load Balancing
        • I need to be able to take multiple listeners and host them on Service Bus and have load balancing on them
        • This is not possible on the production environment, and in the Labs we have a new protocol called AnyCast to provide this.
      • Richer Management
      • Durable Message Buffers
        • We want to be more queues and less about message buffers
    • In this October 2010 Labs Release we don’t have:
      • HttpListeners
      • Capabilities in the Service Registry
      • Missing some composition capabilities
      • Missing all the bindings
    • The purpose is to gather feedback about this new protocol


  • Durable Message Buffers
Version Storage TTL Capacity Messages
Production In-Memory 10 mins 2 MB 60KB
Labs Durable and Replicated Storage No Limit 100 MB 256KB
    • Same Lightweight REST protocol
    • Long pooling support
    • Future Releases
      • Reliable Transfer protocol options
      • Higher throughput transport options
      • Volatile buffers for higher throughput
    • Currently the same protocol backed up with a REAL Queuing system that is reliable and capacity.

  • Listener Load Balancing
    • Connection point management separate from listener
      • Explicit Management of service bus connection points to the service bus
      • We gain the ability to know if someone is listening or not.
    • Multiple listeners can share the same connection point
    • Load balancing and no single point of failure
    • Sticky sessions


  • Session Multiplexing
    • One socket per listener
    • Optimized for short sessions, and short messages
      • The latency for setting up that session is now very short
    • No extra round-trip to set up a session
    • Note: The purpose is to reduce latency

  • Explicit Streaming Support (Default model in production Today)
    • One socket per client
    • Optimized for long sessions, streaming and very large messages
    • Lightweight handshake, mostly ‘naked’ end-to-end socket afterwards
    • Note: This will be made available later into the Labs


  • Protocols
    • Currently allowed
      • NMF (net.tcp)
      • Http(S)
    • Currently thought
      • FTP
      • SMTP
      • SMS
      • Other
        • Candidate Example of those:  XMPP, … (not planned but thought as possible candidates)

  • Messaging
    • Reliable, transacted, end-to-end message, transfer of message sequences
    • Local Transactions
    • Batches are transferred completely or not at all

  • Service Bus Pub/Sub – Topics
    • Service Bus Topics
      • Think of as a message log with multiple subscriptions
    • Durable message sequences for multiple readers with per-subscription cursors
    • Pull Model consumption using messaging protocols
    • Service Bus manages subscription state

  • Service Bus Pub/Sub – Eventing
    • Service Bus Events
      • We already have it with neteventrelaybinding
    • Multicast event distribution
    • Push delivery via outbound push or connectivity listeners
    • Same subscription and filter model as topics
    • Considering UDP for (potentially lossy) ultra-low latency delivery

  • Service Bus Push Notifications
    • Distribution points allow for push delivery to a variety of targets
    • Built on top of pub/sub topic infrastructure
    • Protocol adapters for HTTP, NET/TCP, SMS, SMTP, …
    • Subscription-level AuthN and reference headers

  • Monitoring
    • Monitor of Service Bus state
    • System events exposed as topics with pull and push delivery
    • Events can flow into store for analytics
    • Ad-Hoc queries into existing resources and their state

  • Discovery
    • Discovery of Service Bus resources and resource instances
    • Eventing and query mechanisms similar to monitoring
    • Service Presence
    • Custom Taxonomies

What can you do know. Use AppFabric Service Bus Labs

One comment on “Windows Azure AppFabric Service Bus Future – PDC10 Session Review

  1. Windows Azure AppFabric is Microsoft’s next-generation middleware application platform in the cloud, providing access control with federated identity, high-density, multi-tenant component-hosting, caching services, on-premise connectivity, rich publish/subscribe messaging, and integration services. Clemens Vasters, an Architect on the AppFabric product team at Microsoft is coming to India this April at Great Indian Developer Summit. He will provide an overview of the AppFabric services that are already commercially available and the new services that Microsoft will bring to market until the end of this year. The summit will take place from 19-22 April, 2011 at IISc, Bangalore.

Leave a Reply

Your email address will not be published. Required fields are marked *


* Copy This Password *

* Type Or Paste Password Here *

9 Spam Comments Blocked so far by Spam Free Wordpress

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>