Integration
When integrating with 3rd party web services, legacy systems, and line-of-business applications, connectivity issues and downtime can cause problems.
NServiceBus overcomes these problems with 2 levels of retries – immediate retries to compensate for transient errors like deadlocks in databases, and delayed retries to address legacy systems that may be down for hours at a time.
The Cloud
In order to get the most out of the potentially unlimited number of machines that cloud providers make available, developers need to embrace asynchronous communication models between these machines.
NServiceBus takes away the complexity of connecting to cloud infrastructure like Azure Queues and Azure Service Bus, also including cost-minimizing features to reduce the number of calls to them based on load.
Scalability
Many distributed systems quickly run into the limits of making synchronous calls across the network. Sometimes creating additional processes that poll the database for entities of a certain status can improve matters slightly, though at the cost of delaying those business processes.
NServiceBus enables business processes to proceed in real-time by channeling the communication through queues outside the database. With support for patterns like Publish/Subscribe, NServiceBus enables additional processes to get invoked asynchronously without impacting the performance of existing services or even changing any existing code.
Developer Productivity
Many companies have already rolled out large enterprise infrastructure like Tibco, WebSphere, BizTalk and aren’t looking to replace it. Unfortunately, many of these technologies cater to the lowest-common denominator when it comes to their API.
The extensibility of NServiceBus allows it to run just as well on top of these existing solutions providing developers a simple and elegant programming model built on best practices for testability, decoupling, and reliability. After using NServiceBus, most developers just don’t want to go back.