![Page 1: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/1.jpg)
Introducing Nimbus – Azure Service Bus made easy
Damian Maclennan Andrew Harcourt
@damianm @uglybugger
1
![Page 2: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/2.jpg)
2
Readify Principal Consultants
![Page 3: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/3.jpg)
What is a Service Bus anyway ?????
3
![Page 4: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/4.jpg)
4
![Page 5: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/5.jpg)
5
Queues
![Page 6: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/6.jpg)
6
Topics and Publish / Subscribe
![Page 7: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/7.jpg)
7
Why use a service bus ?
Microservice Architecture
![Page 8: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/8.jpg)
8
ENTERPRISE SERVICE BUS
![Page 9: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/9.jpg)
Microservice ESB
Loosely Coupled Orchestrated
Independently Scalable Centralised Bottleneck
Fault tolerant Single Point of Failure
Free $$$$$$
9
ESB vs Microservice (A totally unbiased view)
![Page 10: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/10.jpg)
• Azure Service Bus
• RabbitMQ
• MSMQ (With a little help)
• ZeroMQ
10
Service Bus Implementations
![Page 11: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/11.jpg)
Azure Service Bus is
Bus As A Service
11
![Page 12: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/12.jpg)
BAAS12
![Page 13: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/13.jpg)
Azure Service Bus is totes AMQP compliant!!!!
(for all of your “Open Standards” needs)
13
![Page 14: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/14.jpg)
14
![Page 15: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/15.jpg)
Azure Service Bus has excellent documentation
(with community comments)
15
![Page 16: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/16.jpg)
16
![Page 17: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/17.jpg)
17
To TEH CODEZ
![Page 18: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/18.jpg)
18
Azure Service Bus Sample
![Page 19: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/19.jpg)
Surely there’s a better way!
19
![Page 20: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/20.jpg)
20
NServiceBus Handler Example
![Page 21: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/21.jpg)
NServiceBus makes us sad for
different reasons
21
![Page 22: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/22.jpg)
22
![Page 23: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/23.jpg)
23
![Page 24: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/24.jpg)
So we made a thing!
24
![Page 25: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/25.jpg)
https://github.com/damianmac/nimbus
https://twitter.com/NimbusAPI
25
Nimbus – Azure Service Bus Made Easy
![Page 26: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/26.jpg)
• Open Source… really
• Nice Request / Response model
• Simple to configure
• Async
• Doesn’t tie you to a particular anything
• Handles some scenarios that others don’t
• Works On Premise too with Windows Service Bus
26
Why we wrote Nimbus and why we think it’s good
![Page 27: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/27.jpg)
27
MOAR CODEZ
![Page 28: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/28.jpg)
28
Nimbus Architecture Patterns and Scenarios
![Page 29: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/29.jpg)
29
Command / Consumer
ApplicationEmail
Service
SendEmailCommand
![Page 30: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/30.jpg)
30
Command / Competing Consumer
ApplicationEmail
Service
SendEmailCommand
EmailService
EmailService
Only one of these will get the message.
![Page 31: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/31.jpg)
31
Publish / Subscribe
Application
Customer Purchase History Service
OrderConfirmedEvent
Logistics Service
EmailService
All of these things are interested in this event.
![Page 32: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/32.jpg)
32
Request / Response
Application
Customer Purchase History Service
CustomerHistoryRequest
CustomerHistoryResponse
![Page 33: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/33.jpg)
33
Request / Response Load Balancing
Application
Customer Purchase History Service
CustomerHistoryRequest
CustomerHistoryResponse
Customer Purchase History Service
Customer Purchase History Service
Only one of these will get the message.
![Page 34: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/34.jpg)
34
Multicast Request / Response with Timeout
ApplicationFailed
Attempt Service
FraudlentCardRequest
IsThisDodgyResponse
Usage Rate Service
Geographic Risk
Assessment Service
All of these have n milliseconds to return an opinion.
![Page 35: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/35.jpg)
35
Multicast Request / Response take first
ApplicationRisk
Assessment Service
FraudlentCardRequest
YesThisIsDodgyResponse
Risk Assessment
Service
Risk Assessment
Service
We take the response from fastest responder.
![Page 36: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/36.jpg)
36
Competing Publish / Subscribe
ApplicationLogistics Service
OrderConfirmedEvent
Logistics Service
Logistics Service
Only one of these instances should react.
![Page 37: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/37.jpg)
So what next ?
37
![Page 38: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/38.jpg)
38
![Page 39: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/39.jpg)
39
http://www.nuget.org/packages/Nimbus/
![Page 40: Introducing Nimbus - Azure Service Bus made easy](https://reader034.vdocuments.net/reader034/viewer/2022042614/554f72acb4c905bb178b52ea/html5/thumbnails/40.jpg)
Damian Maclennan
@damianm
Andrew Harcourt
@uglybugger
40
Need Help ?