integrating microservices in the cloud
TRANSCRIPT
Jason BloombergAtul Saini
•A leading industry analyst and expert on agile
architecture
•Advises on Digital transformation initiatives
•Popular books by Jason
- “The Agile Architecture Revolution”
- “Service Orient or Be Doomed! How Service
Orientation Will Change Your Business”
Speaker Introduction
• Founded Fiorano Software in 1995,
Currently CEO & CTO
• Been at the forefront of integration, SOA
& peer-to-peer distributed processing
• One of the first entrepreneurs to realize
the power of Microservices
Copyright © 2015, Intellyx, LLC
2
Integrating Microservices in the Cloud
Jason BloombergPresident
@theebizwizard
Copyright © 2015, Intellyx, LLC3
About Jason Bloomberg
• President of Intellyx
• Advise companies on their digital transformation initiatives & help vendors communicate their agility stories
• Write for Forbes & Wired on Digital Transformation
• Buy my latest book, The Agile Architecture Revolution
Copyright © 2015, Intellyx, LLC4
What are Microservices?
• Fine-grained units of execution– Designed to do one thing very well– Contain everything from the operating system,
platform, framework, runtime and dependencies, packaged as one unit of execution
• Microservice architecture – Promotes developing and deploying applications
composed of independent, autonomous, modular, self-contained units
Qu
ote
: Ja
naki
ram
MS
V h
ttp
://w
ww
.com
pu
terw
eekl
y.co
m/f
eatu
re/M
icro
serv
ices-
How
-to-p
rep
are
-next-
gen
era
tion
-clo
ud
-ap
plic
ati
on
s
Ph
oto
Cre
dit
: Ja
mes
Lee h
ttp
s://
ww
w.fl
ickr
.com
/ph
oto
s/jr
on
ald
lee/
Copyright © 2015, Intellyx, LLC5
Microservice Granularity
• “Granularity” a vague term• More appropriately applied to interfaces
than to code• “Fine grained” microservices can (and often
should) have coarse-grained interfaces
Copyright © 2015, Intellyx, LLC6
Parsimony
• As small as they should be but no smaller
• As part of refactoring, ask:– Would this microservice
work better if it were smaller?
– Would this microservice work better if it were split into two or more microservices?
Ph
oto
Cre
dit
: Keit
h W
illia
mso
n h
ttp
s://
ww
w.fl
ickr
.com
/ph
oto
s/elw
illo/
Copyright © 2015, Intellyx, LLC7
Cohesion
• Microservices should do one thing well• Principle of modular programming since the
1960s• Web Services often suffered from low
cohesion
Copyright © 2015, Intellyx, LLC8
Microservices & Containers
• Containers support lightweight, rapid scalability & elasticity
• Microservices well-suited for containers
• Challenges:– Managing state– Keeping track of everything– Integration, especially in
dynamic environments
Copyright © 2015, Intellyx, LLC9
Microservices vs. Web Services
• Web Services are contracted interfaces– WSDL + other policy documents
form the contract (all XML)– Abstract underlying software
• Microservices are units of execution– Container-centric (although
containers not required)
Copyright © 2015, Intellyx, LLC10
SOA & Microservices
• SOA Services suffer from “lipstick on the pig” problem– Complicated, problematic
software exposed as Services still complicated & problematic
• Call for key best practices underlying Service interfaces– Highly modular, “shared
nothing” code– Independently deployable– Easy to distribute & scale
What SOA Services should have been all along
Ph
oto
Cre
dit
: N
eil
Turn
er
htt
ps:
//w
ww
.flic
kr.c
om
/ph
oto
s/n
eilt
/
Copyright © 2015, Intellyx, LLC11
Smart vs. Dumb Pipes
• Terminology from 2014 article by James Lewis and Martin Fowler of ThoughtWorks
• “Smart” pipes are centralized, traditional ESBs that provide process execution environments (e.g. BPEL engines)
• “Dumb” pipes are lightweight and platform-agnostic– RabbitMQ for example
Dumb is better than Smart? Huh??
Ph
oto
Cre
dit
: R
ren
e S
chw
ietz
ke h
ttp
s://
ww
w.fl
ickr
.com
/ph
oto
s/re
ne-g
erm
an
y/
Copyright © 2015, Intellyx, LLC12
Challenges of Cloud Integration
• Instances (either VMs or containers) are ephemeral– Scale up or down– Any identical instance
can respond to a request
• Interactions may be asynchronous
Copyright © 2015, Intellyx, LLC13
Microservices & State
• If a microservice is keeping track of something & it goes away or a request is routed to a different microservice instance, what happens to state information?
• Caching may be part of microservice
• Storing state information in persistence tier doesn’t scale well
The key: message-managed state
Ph
oto
Cre
dit
: Kevin
Hu
tch
inso
n h
ttp
s://
ww
w.fl
ickr
.com
/ph
oto
s/h
utc
hik
e/
Copyright © 2015, Intellyx, LLC
Jason Bloomberg
President, Intellyx
@theebizwizard
Send email NOW to [email protected] to download this presentation
Thank You!
Microservice-centric Integration infrastructure
Entire Contents © 2010-15, Fiorano Software Inc. All rights reserved;
Fiorano, the Fiorano logo, FioranoMQ, Fiorano Middleware Platform, Fiorano Cloud Platform, Fiorano ESB and Fiorano SOA Platform are trademarks or registered trademarks of Fiorano Software Inc. and affiliates. All other trademarks belong to their respective owners.
By:Atul SainiCEO & CTOFiorano Software Inc.
Implemented as Coarse Grained “Server Processes”
Each Microservice ideally runs
in a separate ‘server
process’
Possible to club multiple microservice
processes into a single
process
Each container can support multiple server processes
Threads are too ‘fine grained’
Process-level execution
preferred in practice
Document-centric Interfaces
XML JSON
Microservices in Practice
Microservices in Practice …. (2)
No external dependencies!
• Each Microservice contains all the code/libraries required for independent execution
• Allows Microservices to be deployed across cloud, hybrid and on-premise networks
Attached GUI for each Microservice
• Each Microservice has an independent Graphical User Interface
• Each Microservice can be developed in one or more programming languages
• Multi-language (Java, C, C++, C#, Scripting languages), multi-platform architecture
Microservices in Practice …. (3)
Asyhchronous transport,
distributed across Cloud, Hybrid and
Enterprise environments
• Allows concurrent, parallel execution of Transformations and other computations
• Peer-to-peer data transfers for optimal performance
• Linearly scalable
All State managed in the messaging tier
• Storing state information in the persistence tier does not scale
• Raw Pipe Pitfalls: some infrastructure intelligence saves a lot of time!
MICROSERVICES
Peer-to-Peer Integration Infrastructure
Social
Mobile
Big Data & Analytics
Internetof Things
Cloud to On-prem
Database Custom Apps Legacy AppsEnterprise Systems
Integration Peer
Integration Peer
“Infrastructure” Microservices
EAIBusiness
IntelligenceCloud
ApplicationsSocial / MobileApplications Application
Microservices
Fiorano: Infrastructure for Dynamic Enterprise Services
ContentBased
Routing
Caching REST JSONWeb
Services Transformation
Scheduler Aggregation SequenceDistribution EncryptionError
Listener
InfrastructureMicroservices
Tracing, Logging Manage Lifecycle, Monitor Security Remote Deployment
Peer-to-Peer Enterprise MessagingCore Infrastructure
Core Integration Infrastructure implemented as Microservices Transformation, Routing, Aggregation, Caching, … Horizontal scalability, Message-managed stateDynamically move required functionality to the cloud compute-point
Peer-to-Peer BenefitsCritical for flexibility,Performance, scaling
Identified slow components can be run on a different server/peer instantlyRemove bottlenecks as soon as they are identified
BENEFITS OF Peer-to-Peer Messaging
Infrastructure
Centralized management / app composition
Centralized management and
application composition
Central console for management,
monitoring
Applications composed at the hub and
distributed to relevant peers at runtime
Runtime data does not traverse the central hub; just
‘admin’ info
Mobile Apps
Legacy Systems (On-prem)
Social Media / Cloud Apps
Swift Transaction
Rest/JSON
Database
WebService
SWIFT
Salesforce
SAP
Salesforce
SAP Adapter
Database
Administration and Repository Server – HA Cluster
FPS
PSPS
PS
PSPS
Tools
P2P Microservices Infrastructure
Choreographed Business Services
• Distributed
• Document-centric
• Event Driven
• Loosely Coupled
• Asynchronous
• Message-drivenPS
Business Value of Microservices
Fully integrated development, deployment, management and support
Audit services
Time to market
Citizen Integration
Real-Time business agility
Hybrid Integration
Reduce costs
Low cost of implementation
A Case Study – Delaware North Companies
“Fiorano’s peer-to-peer servers, the way they could scale, was compelling – even before the cloud. Fiorano had a very elegant solution.”
Kevin Quinlivan, CIO, Delaware North
Find full interview on Forbes article "Peanuts, Popcorn, Crackerjack -- And Mobile-First, Digital SOA” by Jason Bloomberg
A Case Study – Delaware North Companies
Challenges• Unstructured data • Manual data process • Lack of real-time data access • Disparate applications
Result•A unified business intelligence dashboard•Real-Time data access, including to Mobile interfaces• Scalable, secure and reliable system in place for digital transformation
Scott Mercer, Manager of the Service-Oriented Architecture (SOA)Solutions Team at Delaware North
"Our partners and clients love the speed at which we get data back to them and the near-real-time analytics it can provide”
Fiorano Product Portfolio
Fiorano Microservices
Platform
Fiorano API Management
• Fiorano ESB / SOA / B2B• Fiorano Cloud • FioranoMQ® (Messaging
Middleware)
Thank you !Atul SainiCEO & CTOFiorano Software Inc.
Entire Contents © 2010-15, Fiorano Software Inc. All rights reserved;
Fiorano, the Fiorano logo, FioranoMQ, Fiorano Middleware Platform, Fiorano Cloud Platform, Fiorano ESB and Fiorano SOA Platform are trademarks or registered trademarks of Fiorano Software Inc. and affiliates. All other trademarks belong to their respective owners.
Next Steps…
Contact [email protected] Download:www.fiorano.com/downloads
Which Projects ? Mobile Cloud Digital TransformationReal-time dataScalability required
DOWNLOAD and try the Fiorano Microservices
Platform
FIORANO DEMO for
key personnel
Proof of Concept for
Project
Q&A session in progress – Please type in your questions using the Chat Q&A window
Q&A Session in Progress
Next Steps…
Thank You !
To find out more about Fiorano solutions or to set up a Demo or a POC, please visit www.fiorano.com
or send an Email to [email protected].
AMERICA’SFiorano Software, Inc.230 S. California Avenue,Suite 103,Palo Alto,CA 94306 USA Tel: +1 650 326 1136Fax: +1 646 607 5875Toll-Free: +1 800 663 3621Email: [email protected]
EMEAFiorano Software Ltd 3000 Hillswood DriveHillswood Business ParkChertsey Surrey KT16 0RS UK Tel: +44 (0) 1932 895005 Fax: +44 (0) 1932 325413Email: [email protected]
APACFiorano Software Pte. Ltd. Level 42, Suntec Tower Three 8 Temasek Boulevard Singapore 038988 Tel: +65 68292234Fax: +65 68292235 Email: [email protected]