Top Banner
Microservices or SOA Guillermo GARCIA OCHOA @ggarciaocom Join us in our microservices journey ! [email protected]
66

Microservices vs SOA

Jan 28, 2018

Download

Technology

inovia
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Microservices vs SOA

Microservices or SOAGuillermo GARCIA OCHOA

@ggarciaocomJoin us in our microservices journey !

[email protected]

Page 2: Microservices vs SOA

This presentation is not about FACTS. It is only an educated OPINION based on my experience.

Disclaimer

Page 3: Microservices vs SOA

My experience

2004 2010

Page 4: Microservices vs SOA

My experience

Software Engineering Services

EAI Projects

Organizations with:Multi cultural

Technical HeterogeneityConcurrency/Overlapping

Conflicts of Interest

2004 2010

Page 5: Microservices vs SOA

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

Page 6: Microservices vs SOA

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

Page 7: Microservices vs SOA

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

Page 8: Microservices vs SOA

What “growth” means for organisations

Page 9: Microservices vs SOA

What “growth” means for organisations

More jobs

(of differents

kinds)

Page 10: Microservices vs SOA

What “growth” means for organisations

More jobs

(of differents

kinds)

More tools

(of differents

kinds)

Page 11: Microservices vs SOA

What “growth” means for organisations

More jobs

(of differents

kinds)

More tools

(of differents

kinds)

More

complex

KPI’s

Page 12: Microservices vs SOA

How to handle “growth”

mono*

multi*

Page 13: Microservices vs SOA

How to handle “growth”

mono*

multi*

Governed

multi*

Page 14: Microservices vs SOA

How to handle “growth”

mono*

multi*

Governed

multi*

Page 15: Microservices vs SOA

How to handle “growth”

mono*

multi*

Governed

multi*

Page 16: Microservices vs SOA

How to handle “growth”

mono*

multi*

Governed

multi*

Page 17: Microservices vs SOA

Enabling

Defining

Composing

Governing

The “DIFFERENT FACETS”

Page 18: Microservices vs SOA

Enabling

Defining

Composing

Governing

The “DIFFERENT FACETS”

Page 19: Microservices vs SOA

Enabling

Defining

Composing

Governing

The “DIFFERENT FACETS”

Page 20: Microservices vs SOA

Enabling

Defining

Composing

Governing

The “DIFFERENT FACETS”

Page 21: Microservices vs SOA

Enabling

Defining

Composing

Governing

The “DIFFERENT FACETS”

Page 22: Microservices vs SOA

mono* Governed

multi*

Enabling

Defining

Composing

Governing

Page 23: Microservices vs SOA

Enabling

Defining

Composing

Governing

mono* Governed

multi*

Page 24: Microservices vs SOA

Enabling

Defining

Composing

Governing

mono* Governed

multi*

Page 25: Microservices vs SOA

Enabling

Defining

Composing

Governing

mono* Governed

multi*

Page 26: Microservices vs SOA

Enabling

Defining

Composing

Governing

mono* Governed

multi*

Page 27: Microservices vs SOA

multi*

Governed

multi*

Enabling

Defining

Composing

Governing

Page 28: Microservices vs SOA

Enabling

Defining

Composing

Governing

multi*

Governed

multi*

Page 29: Microservices vs SOA

Enabling

Defining

Composing

Governing

multi*

Governed

multi*

Page 30: Microservices vs SOA

Enabling

Defining

Composing

Governing

multi*

Governed

multi*

Page 31: Microservices vs SOA

Enabling

Defining

Composing

Governing

multi*

Governed

multi*

Page 32: Microservices vs SOA

An example ...Comparing “Service

Composition” Strategies

Page 33: Microservices vs SOA

Comparing “Service Composition” Strategies

mono*

multi*

Governed

multi*

Page 34: Microservices vs SOA

Comparing “Service Composition” Strategies

mono*

multi*

Governed

multi*

Page 35: Microservices vs SOA

Comparing “Service Composition” Strategies

mono*

multi*

Governed

multi*

Page 36: Microservices vs SOA

Service Composition with “Choreography”

Page 37: Microservices vs SOA

Contact

Service

Create

Message

Service

Send

Service Composition with “Choreography”

Page 38: Microservices vs SOA

Contact

Service

Create

Message

Service

Send

Create

Accou

nt

Contact

Service

Create

Message

Service

Send

Import

Clients

Service Composition with “Choreography”

Page 39: Microservices vs SOA

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”

Page 40: Microservices vs SOA

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

Page 41: Microservices vs SOA

Message

Service

Send

Contact

Service

Create

Create

Accou

nt

Message

Service

Send

Contact

Service

Create

Import

Clients

Service Composition with “Orchestration”

Page 42: Microservices vs SOA

Message

Service

Send

Contact

Service

Create

Create

Accou

nt

Orchestrator

...

Message

Service

Send

Contact

Service

Create

Import

Clients

Orchestrator

...

Service Composition with “Orchestration”

Page 43: Microservices vs SOA

Message

Service

Send

Contact

Service

Create

Create

Accou

nt

Orchestrator

...

Message

Service

Send

Contact

Service

Create

Import

Clients

Orchestrator

...

......

Service Composition with “Orchestration”

Page 44: Microservices vs SOA

Service

Orchestration

● Users invoke the Orchestrators services

● The Orchestrators compose the services

● Users and Roles can be defined locally

● The “business logic” is centralized

Page 45: Microservices vs SOA

Choreography

or

Orchrestation?

Page 46: Microservices vs SOA

Choreography

or

Orchrestation?BOTH

Page 47: Microservices vs SOA

MS MS

MS MS

Choreography / Orchestration Strategy

Page 48: Microservices vs SOA

MS MS

MS MS

MS MS

MS MS

MS MS

MS MS

Choreography / Orchestration Strategy

Page 49: Microservices vs SOA

Orchestrator

Choreography / Orchestration Strategy

MS MS

MS MS

MS MS

MS MS

MS MS

MS MS

Page 50: Microservices vs SOA

Choreography

or

Orchrestation?

BOTH

● Use them as “Principle of Abstraction” (grouping principle)

● Define when to use one or another

● … and stick to it!

Page 51: Microservices vs SOA

Even

Microservices

evangelist are

using both ...

Page 52: Microservices vs SOA

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/

Page 53: Microservices vs SOA

“This is netflix re-inventingBPEL in Microservicesspace using its customDSL.”

https://www.infoq.com/news/2016/12/

netflix-conductors

Page 54: Microservices vs SOA

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 ...

Page 55: Microservices vs SOA

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 ...

Page 56: Microservices vs SOA

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 ...

Page 57: Microservices vs SOA

Questions ? Opinions?

Facts ?Guillermo GARCIA OCHOA

@ggarciaocomJoin us in our microservices journey !

[email protected]

Page 58: Microservices vs SOA

Annexes

Page 59: Microservices vs SOA

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

Page 60: Microservices vs SOA

Well-known

differences

between SOA

and

Microservices

● Interactions in SOA use X* (XML / XSD / Xpath / *). Microservices recommends JSON.

Page 61: Microservices vs SOA

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

Page 62: Microservices vs SOA

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”

Page 63: Microservices vs SOA

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

Page 64: Microservices vs SOA

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

Page 65: Microservices vs SOA

How to “Peel the Onion”

… when you don’t have a

knife“Microservicing” in an Startup

Our next presentation ...

Page 66: Microservices vs SOA

Thanks / Merci / GraciasGuillermo GARCIA OCHOA

@ggarciaocomJoin us in our microservices journey !

[email protected]