introducing nimbus - azure service bus made easy

40
Introducing Nimbus – Azure Service Bus made easy Damian Maclennan Andrew Harcourt @damianm @uglybugger 1

Upload: damianmaclennan

Post on 10-May-2015

2.188 views

Category:

Technology


1 download

DESCRIPTION

Introducing Nimbus. Azure Service Bus made easy by Damian Maclennan and Andrew Harcourt

TRANSCRIPT

Page 1: Introducing Nimbus - Azure Service Bus made easy

Introducing Nimbus – Azure Service Bus made easy

Damian Maclennan Andrew Harcourt

@damianm @uglybugger

1

Page 2: Introducing Nimbus - Azure Service Bus made easy

2

Readify Principal Consultants

Page 3: Introducing Nimbus - Azure Service Bus made easy

What is a Service Bus anyway ?????

3

Page 4: Introducing Nimbus - Azure Service Bus made easy

4

Page 5: Introducing Nimbus - Azure Service Bus made easy

5

Queues

Page 6: Introducing Nimbus - Azure Service Bus made easy

6

Topics and Publish / Subscribe

Page 7: Introducing Nimbus - Azure Service Bus made easy

7

Why use a service bus ?

Microservice Architecture

Page 8: Introducing Nimbus - Azure Service Bus made easy

8

ENTERPRISE SERVICE BUS

Page 9: Introducing Nimbus - Azure Service Bus made easy

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

• Azure Service Bus

• RabbitMQ

• MSMQ (With a little help)

• ZeroMQ

10

Service Bus Implementations

Page 11: Introducing Nimbus - Azure Service Bus made easy

Azure Service Bus is

Bus As A Service

11

Page 12: Introducing Nimbus - Azure Service Bus made easy

BAAS12

Page 13: Introducing Nimbus - Azure Service Bus made easy

Azure Service Bus is totes AMQP compliant!!!!

(for all of your “Open Standards” needs)

13

Page 14: Introducing Nimbus - Azure Service Bus made easy

14

Page 15: Introducing Nimbus - Azure Service Bus made easy

Azure Service Bus has excellent documentation

(with community comments)

15

Page 16: Introducing Nimbus - Azure Service Bus made easy

16

Page 17: Introducing Nimbus - Azure Service Bus made easy

17

To TEH CODEZ

Page 18: Introducing Nimbus - Azure Service Bus made easy

18

Azure Service Bus Sample

Page 19: Introducing Nimbus - Azure Service Bus made easy

Surely there’s a better way!

19

Page 20: Introducing Nimbus - Azure Service Bus made easy

20

NServiceBus Handler Example

Page 21: Introducing Nimbus - Azure Service Bus made easy

NServiceBus makes us sad for

different reasons

21

Page 22: Introducing Nimbus - Azure Service Bus made easy

22

Page 23: Introducing Nimbus - Azure Service Bus made easy

23

Page 24: Introducing Nimbus - Azure Service Bus made easy

So we made a thing!

24

Page 25: Introducing Nimbus - Azure Service Bus made easy

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

• 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

27

MOAR CODEZ

Page 28: Introducing Nimbus - Azure Service Bus made easy

28

Nimbus Architecture Patterns and Scenarios

Page 29: Introducing Nimbus - Azure Service Bus made easy

29

Command / Consumer

ApplicationEmail

Service

SendEmailCommand

Page 30: Introducing Nimbus - Azure Service Bus made easy

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

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

32

Request / Response

Application

Customer Purchase History Service

CustomerHistoryRequest

CustomerHistoryResponse

Page 33: Introducing Nimbus - Azure Service Bus made easy

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

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

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

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

So what next ?

37

Page 38: Introducing Nimbus - Azure Service Bus made easy

38

Page 39: Introducing Nimbus - Azure Service Bus made easy

39

http://www.nuget.org/packages/Nimbus/

Page 40: Introducing Nimbus - Azure Service Bus made easy

Damian Maclennan

@damianm

Andrew Harcourt

@uglybugger

40

Need Help ?