Upload
vuongcong
View
215
Download
1
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
Wμ
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