20
1 Death of the ESB: 10 Pitfalls in the transition to Cloud-Native Integration Rishikesh Palve, 25 th Oct 2017 – Open Source Summit Europe 2017

In master slide if needed Swap Logo - schd.ws of the ESB - 10... · Swap Logo if needed In master slide 1 Death of the ESB: 10 Pitfalls in the transition to Cloud-Native Integration

Embed Size (px)

Citation preview

Swap Logoif neededIn master slide

1

Death of the ESB: 10 Pitfalls in the transition to Cloud-Native Integration

Rishikesh Palve, 25th Oct 2017 – Open Source Summit Europe 2017

Swap Logoif neededIn master slide

2

What are we going to talk about today?

© Copyright 2000-2017 TIBCO Software Inc.

A quick recap on what

are ESBs

ESBs ??

What has changed? And

why does it matter?

Cloud & Edge Native

Common mistakes and

how do we address them

Pitfalls & Lessons

Who are we and how can

we help you or where

can you send feedback

About Me/Us

Swap Logoif neededIn master slide

3

Evolution of Integration Patterns

© Copyright 2000-2017 TIBCO Software Inc.

What?MicroservicesWeb APIs

WOAHow?In-Memory, MulticoreREST, JSON

Why?Mobile, Cloud,API Economy, IoT

What?ESBReal-time

SOAHow?XML, SOAP, WS-*Process Modeling

Why?E-CommerceBPM

What?AdaptersReal-time

EAIHow?Client-ServerMessaging Middleware

Why?ERPAnalytics

What?Batch JobsNon-realtime

How?MainframeETL, Databases

ETLWhy?Data ProcessingMIS Pr

oduc

tivi

ty,

Agi

lity

& E

ase

of C

onsu

mpt

ion

“Application integration can be

described as making independently

designed applications work together”

Swap Logoif neededIn master slide

4

Enterprise Service Bus (ESB)

© Copyright 2000-2017 TIBCO Software Inc.

Enterprise Service Bus

• Architecture for application integration

• Enables discrete heterogeneous apps & services to

communicate with each other and exchange data

• Central (Messaging + App) Bus + tech-specific “Adapters”

• Leverages SOA (Service Oriented Architecture)

• Performs a set of common functions, such as

• Data transformation and manipulation

• Supports Message Exchange Patterns (MEP)

• Mediation & Protocol Conversion

• Service Orchestration

Swap Logoif neededIn master slide

5

Cloud & Edge Native Integration

© Copyright 2000-2017 TIBCO Software Inc.

MicroservicesContainer

MicroservicesContainer

A PI

BW

Java

On-

Pre

m

Leg

acy

Inte

grat

ion

Mic

rose

rvic

es

W S

PaaS Saa

SA PI

IaaS

MicroservicesContainer

Nod

e

A PI

A PI

A PI

CloudNative

EdgeNative

• Follows a set of specific patterns

• Small, independent, granular services

• Built around business capabilities/reqs

• Modern-infra friendly – containers, modularized

build/deploy/manage, automation ready, easy to

scale up/down based on SLAs/rules

• Clean separation of state, config data

• Consistently deploy/communicate from anywhere – no

dependency on server/infra/language

• NOT JUST RETROFITTING EXISTING TECH!

Swap Logoif neededIn master slide

6

#1 – Reuse SOAPful APIs & Server-side conversations as-is

© Copyright 2000-2017 TIBCO Software Inc.

Strangler Pattern Compose APIs

LOAD

BALANCER

Old

New

New

Old

Old

New

Client

Ph

ase

IP

has

e II

Ph

ase

III

referencing Martin Fowler’s work in 2004

Adapters SOAP Services

Wrap Proxy

Swap Logoif neededIn master slide

7

• Introspect and define types of service communication•Map out existing process for certificate request, approval, deployment and storing of secrets

•Group or classify services – remember IPs/locations are ephemeral and there are no fixed boundaries any longer

•Define policies for groups or clusters and ideally automate enforcement as part of CD process

•Encrypt data in transit and at rest•Enforce: Testing + Regular Library Updates

#2 – Key and certificate management are not part of the things that change

© Copyright 2000-2017 TIBCO Software Inc.

Swap Logoif neededIn master slide

8

#3 – 1 public-facing API = 1 App

© Copyright 2000-2017 TIBCO Software Inc.

Bounded Context A

Bounded Context B

Bounded Context C

μG

GW

μG

W

μSμS μS

μSμS

μSμSμS

External APIs and API

Management

•External or Business APIs are often composed

by choreography between smaller and finer

internal APIs (and their respective app

implementations)

•Each individual microservice/API has it’s own

independent lifecycle

•Final API lifecycle reflects changes down the

chain through versioning and managed

publish to external consumers

•Approach: ✔ API products & App Platforms

VS. ✖ API programs and App Projects

Swap Logoif neededIn master slide

9

• Qualities of tall apps• Horizontally Scalable• Fast startup times• Resiliency to servers going

and coming at will

Pros: Speed, Easier in terms of effort (short-term)Cons: Operational overheads and related risk, costs and potential rework

#4 – LIFT-&-SHIFT ☹

© Copyright 2000-2017 TIBCO Software Inc.

Swap Logoif neededIn master slide

10

• Can you externalize and manage state?• Can you break down the runtime

dependencies and run them independently?

• Can the config and env variables be defined externally?

• Are you creating bloated containers or these are optimized for your app workloads?

• Scaling and elasticity can be leveraged without any effort?

• No hard dependencies on OS or file-system

#5 – Can put my current tools in a Docker container, sure it will work, right?

© Copyright 2000-2017 TIBCO Software Inc.

Swap Logoif neededIn master slide

11

#6 – all systems I integrate to have to be co-located always

© Copyright 2000-2017 TIBCO Software Inc.

People &Processes

Data &Systems

APIs

Data spans across users,

patterns, deployments

and connected endpoints

Per

son

as

App Developers

Business Users

Integration Specialist

Deployment ModelOn-Premises Cloud Things

End

-Poin

ts

On-Premises

Mobile

Cloud

Things

Integration PatternsB2B ProcessAPI MFTApplication

Swap Logoif neededIn master slide

12

#7 – dev = code, qa = test, ops = build and manage

© Copyright 2000-2017 TIBCO Software Inc.

• Break silos

• Enforce mandatory automation for entire lifecycle

• Integration testing – not as an after-thought

• Collective responsibility for each service

Swap Logoif neededIn master slide

13

#8 – Bandwidth is always aplenty and resiliency comes from cloud

© Copyright 2000-2017 TIBCO Software Inc.

• Bandwidth is expensive and unreliable – especially on devices and IoT scenarios

• Build to minimize network/wire chatter

• Cloud could imply ephemeral servers and containers – build for rapid start/recovery

• Design to account for fragile/legacy back-ends (circuit breakers)

Swap Logoif neededIn master slide

14

#9 – footprints don’t matter as much

© Copyright 2000-2017 TIBCO Software Inc.

• Cloud Infrastructure• “Herd of Cattle”On-Premises Infra

“My Pet”IoT Edge Infra

“Swarm of Bees”

Cloud Infra“Herd of Cattle”

Swap Logoif neededIn master slide

15

#10 – Once the tech and tooling is addressed, the problem is resolved

© Copyright 2000-2017 TIBCO Software Inc.

Address Microservice

Biz Dev OpsOR

☒☑

Credit Check Microservice

Biz Dev Ops

Fulfillment Microservice

Biz Dev Ops

BusinessTeam

Addr CC Fulfill

DevelopmentTeam

Addr CC Fulfill

OperationsTeam

Addr CC Fulfill

Culture & Organization

Swap Logoif neededIn master slide

16

Central bus arch → Distributed apps & endpoints

© Copyright 2000-2017 TIBCO Software Inc.

Enterprise Service BusMicroservicesContainer

MicroservicesContainer

A P I

B WJa

va

On-

Pre

m

Leg

acy

Inte

grat

ion

Mic

rose

rvic

es

W S

PaaS Saa

SA P I

IaaS

MicroservicesContainer N

ode

A P I

A P I

A P I

Cloud

Native

EdgeNativ

e

Leverage the wide spectrum of OS frameworks and best practices available but customize the

journey to your use-case and app landscape

Swap Logoif neededIn master slide

17

What we have been doing for 20+ years

© Copyright 2000-2017 TIBCO Software Inc.

API Management

APIs Events

Microservices / Flows

Connectors

Deploy anywhere

Connect to anything100’s of connectorsBuild your own

Systems & Data IoT Devices

Messaging

CloudPaaSHybridOn-PremEdge devices

Swap Logoif neededIn master slide

18© Copyright 2000-2017 TIBCO Software Inc.

Open Source ultra-light edge microservices for

- IoT Integration- Edge-based Machine Learning- Conversational Engine for UX

- Cloud-native Microservices + Serverless Computing*

0.3.11st Public Docker Hub Release

0.3.2 0.3.3

2017-032017-01 2017-04

App Modelsupport for WI

Trigger reuseSupport for WI Support for GW

0.4.0

2017-06

Native lambda support*Adaptive triggers for IoT*Support for GW

2016-03

Inception

2016-03

0.2.11st GitHub OSS Release ……….

Project Flogo

Swap Logoif neededIn master slide

19

what can you do next?

© Copyright 2000-2017 TIBCO Software Inc.

Stay back and grab a beer? ☺

Docker Pull? Go to flogo.io

Check out the code – github.com/tibcosoftware/flogo

Swap Logoif neededIn master slide

© Copyright 2000-2017 TIBCO Software Inc.

@rishikeshpalve

[email protected]