Building Performant, Reliable, and Scalable Integrations with Mule ESB

26
1

description

How to build integrations with Mule ESB that meet your customers' needs around performance, scalability, and reliability. Presented with Rupesh Ramachandran at MuleSoft CONNECT 2014.

Transcript of Building Performant, Reliable, and Scalable Integrations with Mule ESB

Page 1: Building Performant, Reliable, and Scalable Integrations with Mule ESB

1

Page 2: Building Performant, Reliable, and Scalable Integrations with Mule ESB

2

Building Performant, Reliable, Scalable Integrations with Mule ESB

Ryan Hoegg, Integration Architect, ConfluexRupesh Ramachandran, Solutions Architect, MuleSoft

Page 3: Building Performant, Reliable, and Scalable Integrations with Mule ESB

3

Service Level Agreement

First Class Requirements

Precision Matters

Page 4: Building Performant, Reliable, and Scalable Integrations with Mule ESB

4

Page 5: Building Performant, Reliable, and Scalable Integrations with Mule ESB

5

Reliability SLAs

AvailabilityUptimeTime to Recovery

Message LossMaximum GuaranteeDetectionRecovery

Page 6: Building Performant, Reliable, and Scalable Integrations with Mule ESB

6

Scalability SLAs

CapacityPeakSustained(Degraded)

Message VolumeMessage Size

Page 7: Building Performant, Reliable, and Scalable Integrations with Mule ESB

7

Performance SLAs

Response Time ThroughputConcurrencySustainability

Page 8: Building Performant, Reliable, and Scalable Integrations with Mule ESB

8

Performance Tuning: Big picture

Mule ESBJVMOperating SystemFile SystemNetworkDownstream Systems

Page 9: Building Performant, Reliable, and Scalable Integrations with Mule ESB

9

Performance: Best Practices

Asynchronous vs SynchronousReal-time vs BatchStateful vs Stateless (web scale)On-Premise vs iPaaS

Page 10: Building Performant, Reliable, and Scalable Integrations with Mule ESB

10

Performance: Manage SLA’s

Page 11: Building Performant, Reliable, and Scalable Integrations with Mule ESB

11

Performance: Case Study

Use Case: API GatewayXML to JSON transformsMixed Payload Sizes

Page 12: Building Performant, Reliable, and Scalable Integrations with Mule ESB

12

Performance: Case Study

Test Case Mule ESB 3.5 EE as API Gateway

Infrastructure Amazon EC2 with 10GbE network

Throughput ~8000tps

Latency ~5ms

Scale Linear scale out, to 6 boxes*

Page 13: Building Performant, Reliable, and Scalable Integrations with Mule ESB

13

Performance Characteristics: Mule ESB 3.5 EE

Page 14: Building Performant, Reliable, and Scalable Integrations with Mule ESB

14

Making SLAs a Reality

PrioritizeModelMeasure

Page 15: Building Performant, Reliable, and Scalable Integrations with Mule ESB

15

Tuning: Focusing on What Matters

ObserveIdentify hot spotGenerate loadCompare with SLA

Page 16: Building Performant, Reliable, and Scalable Integrations with Mule ESB

16

Tuning: Improve Scalability

Scale Up, Scale OutSEDAStore and ForwardMessage Oriented Middleware

Page 17: Building Performant, Reliable, and Scalable Integrations with Mule ESB

17

Case Study: Gaming Platform

Public Beta Launch“Code Complete”Players are unforgiving

Page 18: Building Performant, Reliable, and Scalable Integrations with Mule ESB

18

Case Study: Gaming Platform

1. Catalog Services, Estimate Load

2. Prioritize

3. Isolate Mule and Instrument

4. Generate Load

5. Observe

6. Tune

Page 19: Building Performant, Reliable, and Scalable Integrations with Mule ESB

19

Case Study: Gaming Platform

Page 20: Building Performant, Reliable, and Scalable Integrations with Mule ESB

20

Case Study: Gaming Platform

Page 21: Building Performant, Reliable, and Scalable Integrations with Mule ESB

21

Tuning: Improve Reliability

Reliable Acquisition PatternTransactionsRetryDelegate

Page 22: Building Performant, Reliable, and Scalable Integrations with Mule ESB

22

Case Study: Retail

Business Critical Integration“Code Complete”Losing Purchase Orders

Page 23: Building Performant, Reliable, and Scalable Integrations with Mule ESB

23

Case Study: Retail

1. Determine failure modes

2. Decide how to respond

3. Induce and observe

4. Apply reliability patterns

Page 24: Building Performant, Reliable, and Scalable Integrations with Mule ESB

24

Case Study: Retail

Page 25: Building Performant, Reliable, and Scalable Integrations with Mule ESB

25

Questions?Please visit Confluex and

MuleSoft experts in the Expo Hall

Page 26: Building Performant, Reliable, and Scalable Integrations with Mule ESB

26