Software and Services – Azure and .NET Service Bus

On January 15th Juval Lowy from IDesign presented for VISUG some new concepts related to WCF, Cloud Computing and Azure. Unfortunately we did not receive a copy of the slides. Two major things I remembered from his presentation:

  • .NET Service bus as relay service in the cloud solves a lot of the pain
  • self hosting is required and not yet supported in IIS 7

Web Services are a nice thing but become very hard once you leave the local network. Think about all that is required to tunnel client connections through the firewall to the server and vice versa.

Microsoft came up with a nice solution: Microsoft .NET Service Bus. Why don’t we put a relay service in the cloudn’t? The client connects in a secure way to the relay service, the server exposes (registers) itself to the relay service and the relay service plays the role of forwarding requests between the two.

service-bus

Because the server in this scheme does not require being public addressable, we bypass the problem of public IP address becoming more and more extinct. Both client and server can have dynamic IP-s in this situation. Services register themselves and the relay host has a list of available services through RSS feeds.

One of the problems is that for this work services must be instantiated before the first client request arrives. Currently something not supported by IIS7 were they are instantiated on the first client request.

In fact the service bus supports two ways to connect: relay and direct connect. In relay every request passes through the service bus. In direct connect the service bus plays the role of DNS so client and server can find each other. Once the initial connection is established client and server communicate directly. So they start using relay and go to direct communication as soon as possible.

This schema is not limited to 1 server’s client-kind of connections. Multicasting is supported as well: 1 server’s clients.

Microsoft’s idea was to extend .NET technologies to the cloud – through WCF bindings – using existing internet standards – HTTP, SOAP, Atom – in a scalable way – services hosted in MS’s data centers.

For more details about Azure and .Net Service Bus: http://www.microsoft.com/azure/servicebus.mspx A high level overview of Azure: Making sense of Windows Azure and the Azure Services Platform – Simon Devies (PPTX 3.41 MB)

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.