microservices vs soa
Post on 28-Jan-2018
253 Views
Preview:
TRANSCRIPT
Microservices or SOAGuillermo GARCIA OCHOA
@ggarciaocomJoin us in our microservices journey !
jobs@placeloop.com
This presentation is not about FACTS. It is only an educated OPINION based on my experience.
Disclaimer
My experience
Software Engineering Services
EAI Projects
Organizations with:Multi cultural
Technical HeterogeneityConcurrency/Overlapping
Conflicts of Interest
2004 2010
My experience
Software PublishersProduct Management
Organizations with:Mono cultural
Technical HomogeneityAutarky
More Biased Vision
2004 2010
Software Engineering Services
EAI Projects
Organizations with:Multi cultural
Technical HeterogeneityConcurrency/Overlapping
Conflicts of Interest
My experience
2004 2010
multi* organizations mono*
organizations
Software Engineering Services
EAI Projects
Organizations with:Multi cultural
Technical HeterogeneityConcurrency/Overlapping
Conflicts of Interest
Software PublishersProduct Management
Organizations with:Mono cultural
Technical HomogeneityAutarky
More Biased Vision
My experience
2004 2010
multi* organizations
Organizations with:Multi cultural
Technical HeterogeneityConcurrency/Overlapping
Conflicts of Interest
How organisations handles “growth”?
mono*
organizations
Organizations with:Mono cultural
Technical HomogeneityAutarky
More Biased Vision
What “growth” means for organisations
More jobs
(of differents
kinds)
More tools
(of differents
kinds)
What “growth” means for organisations
More jobs
(of differents
kinds)
More tools
(of differents
kinds)
More
complex
KPI’s
Contact
Service
Create
Message
Service
Send
Create
Accou
nt
Contact
Service
Create
Message
Service
Send
Import
Clients
Service Composition with “Choreography”
Contact
Service
Create
Message
Service
Send
Create
Accou
nt
...
User: XXXRole: New User
...
User: XXXRole: New User
...
Contact
Service
Create
Message
Service
Send
Import
Clients
...User: XXX
Role: CRM User...
Service Composition with “Choreography”
Service
Choreography
● An User must play a Roleon each service invocation
● Each service knows what to do with an User playing a given Role
● Users and Roles must be defined globally
● The “business logic” is distributed
Message
Service
Send
Contact
Service
Create
Create
Accou
nt
Message
Service
Send
Contact
Service
Create
Import
Clients
Service Composition with “Orchestration”
Message
Service
Send
Contact
Service
Create
Create
Accou
nt
Orchestrator
...
Message
Service
Send
Contact
Service
Create
Import
Clients
Orchestrator
...
Service Composition with “Orchestration”
Message
Service
Send
Contact
Service
Create
Create
Accou
nt
Orchestrator
...
Message
Service
Send
Contact
Service
Create
Import
Clients
Orchestrator
...
......
Service Composition with “Orchestration”
Service
Orchestration
● Users invoke the Orchestrators services
● The Orchestrators compose the services
● Users and Roles can be defined locally
● The “business logic” is centralized
Choreography
or
Orchrestation?
BOTH
● Use them as “Principle of Abstraction” (grouping principle)
● Define when to use one or another
● … and stick to it!
Even
Microservices
evangelist are
using both ...
by NETFLIX
(released in Q4 2016)
“We built Conductor to help us orchestrate microservices based
process flows at Netflix”
https://netflix.github.io/conductor/
“This is netflix re-inventingBPEL in Microservicesspace using its customDSL.”
https://www.infoq.com/news/2016/12/
netflix-conductors
Microservices and SOA are two kinds of ARCHITECTURES that try to address the SAME PROBLEMS but with DIFFERENT AUDIENCES, making them focus on DIFFERENT FACETS.
All that to say that ...
Microservices and SOA are two kinds of ARCHITECTURES that try to address the SAME PROBLEMS but with DIFFERENT AUDIENCES, making them focus on DIFFERENT FACETS.
If in your current project Microservices make a lot of sense, reading about SOA might help you to prepare you architecture to growth avoiding well-known pitfalls when composing and governing services.
All that to say that ...
Microservices and SOA are two kinds of ARCHITECTURES that try to address the SAME PROBLEMS but with DIFFERENT AUDIENCES, making them focus on DIFFERENT FACETS.
If in your current project Microservices make a lot of sense, reading about SOA might help you to prepare you architecture to growth avoiding well-known pitfalls when composing and governing services.
If you are in a SOA-like project, Microservices might help you enabling and defining services with well defined responsibilities and scopes.
All that to say that ...
Questions ? Opinions?
Facts ?Guillermo GARCIA OCHOA
@ggarciaocomJoin us in our microservices journey !
jobs@placeloop.com
Well-known
differences
between SOA
and
Microservices
● SOA neglects infrastructure and services release mngt comparing with Microservices
● SOA is very tied to Java / Sun / Oracle / IBM / ... Microservices is more vendor-neutral
Well-known
differences
between SOA
and
Microservices
● Interactions in SOA use X* (XML / XSD / Xpath / *). Microservices recommends JSON.
Enterprise
Service Bus
(ESB)
● “The term ESB is derived from the idea of a hardware bus which transfers messages from one subsystem to another”
Eben Hewitt in Java SOA Cookbook
WS
Choreography
● It is a specification by the W3C
● The W3C Web Services Choreography Working Group, was closed on 10 July 2009
● WS-CDL is the “candidate recommendation”
Business
Process
Execution
Language
(BPEL)
● Describe the execution of services to create a “business process”
● Is an XML language that allows creating data structures, services invocations and error handling
Business
Activity
Monitoring
(BAM)
● Software that gathers, categorize and analyse business-wise data to help “decision making”
● Usually included in the SOA roadmap
● Used to calculate the ROI of a SOA implementation
How to “Peel the Onion”
… when you don’t have a
knife“Microservicing” in an Startup
Our next presentation ...
Thanks / Merci / GraciasGuillermo GARCIA OCHOA
@ggarciaocomJoin us in our microservices journey !
jobs@placeloop.com
top related