You have already heard me talking or at least read a blog post about NServiceBus from me 😉 The next big release from particular software is just around the corner! This time it is not just another version of NServiceBus. No, it is a whole platform or toolset you can use to build up complex distributed systems based on NServiceBus. I give you a brief overview over the platform and then dive into ServiceMatrix. Let’s get started!
The service platform from particular software provides the following toolset at the moment of writing this blogpost (I have to mention this because these guys hammer out great tools at light speed :D):
There is actually a fifth one called ServiceControl but this is an infrastructure / behind the scene tool which you don’t really have to care about (well that’s not entirely true but this is a story for another blogpost).
I assume you already know NServiceBus. So let’s skip that.
ServiceInsight gives you visibility across queues, processes, and machines showing messages whose processing has failed (and for what reason) as well as their relation to other messages.
Complete under-the-hood view of your system’s behavior
- Message flow and Endpoint interactions
- Detailed performance information
- Auto-Refresh for near real-time updates
- Full-text searching, filtering, and sorting
- Supports all NServiceBus transports
- Detailed error information with full stacktrace
- Send failed message back to be reprocessed
- Fully Integrated with the Particular Platform
- Sequence & Timeline views (Coming Soon!)
- Saga and Workflow view (Coming Soon!)
That is the marketing description from the website. For me I’d say ServiceInsight is “In the brain of Andreas Öhlund”. Andreas Öhlund has great knowledge about different transports, how to monitor and maintain distributed systems and more. So this is essentially his deep and broad knowledge baken into a tool which helps you regaining control over your distributed system. Even debugging it!
- which components make up which services
- which contracts those services expose
- where messages are sent
- which events those messages cause
- which services are subscribed to those events
That’s the marketing description from the website. For me I’d say ServiceMatrix is Udi Dahan’s best thinking compiled into a Visual Studio plugin which helps you to do SOA right! Everytime you want to something dirty like sending commands over service boundaries this tool will tell you NONONO, don’t do that! Ok I confess Udi would say this in a much more calm and eloquent way than I can express that in this blogpost.
Keep track of your system’s endpoints health, monitor for any processing errors, send failed messages for reprocessing and make sure your specific environment’s needs are met – All in one consolidated dashboard.
- Active Endpoint heartbeat monitoring and notifications
- Failed Messages notifications and details (including full stacktrace)
- Send failed message back to be reprocessed or archived
- Customized validation of your system’s health using Custom Checks
- Advanced context visualization and data display with ServiceInsight integration
- Full set of REST API exposed for custom development
That’s the marketing description from the website. For me I’d say ServicePulse is “In the brain of Andreas Öhlund”^2. Taking the ideas of ServiceInsight farther by enabling endpoint monitoring and custom health checking. Even your managers will get excited about this tool!
Enough mouthwathering. How do we install the platform? Here is a sneak peak how the installation experience could look like. But until the full platform is released you have to download each installer individually.
You choose the tools you want to install. Hit install.
The installer will prompt you to install chocolatey (you can do it manually or let the installer do it).
The installation will take care of setting up performance counters, RavenDB, necessary windows components such as MSMQ (by default) on your machine etc. Pretty smooth experience for your development box I’d say. Some installation procedures will require you to restart your computer. You will have to proceed the installation manually after restarting at the moment (I already opened an issue about that). In the next post I’ll cover ServiceMatrix. Stay particularly tuned.