One of my favorite aspects of Azure Service Bus, or most true cloud platforms, is the continuous delivery model that we as a product team use to constantly improve the service. We are capable of updating our service, while running, at any time. In fact we do it all the time and customers don’t really see an impact because the way in which we do it. When people make a comment that something is ‘like changing a tire driving down the highway’ I have a little laugh because we change all the wheels, engine, and the drive-train.
The one part we can’t change is the client that our customers use to communicate with our service. This is one reason many people like REST so much – there is no client. That said we still update our .NET client at a very regular basis. In fact twice just this month. The client package is located at http://www.nuget.org/packages/WindowsAzure.ServiceBus/.
This is where we would like customers to play a part in improving our platform and hence their solutions. Updating to the latest NuGet package is ALWAYS THE BEST PRACTICE for Azure Service Bus. Some of these updates are small – like this week’s which removes sensitive information from exceptions involving connection strings (and has zero signature change or impact to your code) – others are more significant – like improvements we’ve introduced to improve service performance for every service in Service Bus. This means that if you use Relay, Queues & Topics (messaging), Event Hubs, or Notification Hubs you should update your NuGet packages AT LEAST quarterly or better still every time you compile or deploy. That’s the power and beauty of NuGet – it makes this easy.
If you’re worried about ‘things break when I update’ you should know that we follow the Semantic Versioning 2.0.0 guidelines. This means unless we increment the major number nothing will break. For more information how NuGet facilitates this please see http://docs.nuget.org/Create/Versioning.
Even if you use the Azure SDK, you should still add Service Bus via a NuGet package and ALWAYS USE THE LATEST package. The Service Bus client is a sophisticated and powerful piece of software and like the service itself we are constantly improving it. If you were to have a support incident one of the first questions asked will be what client version you are using – and the first step towards resolution will be to update your client package.
Please – take the small amount of time to update your NuGet packages right now.