are microservices 'soa done right'?

17
Copyright © 2015, Intellyx, LLC 1 Are Microservices ‘SOA Done Right’? Jason Bloomberg President [email protected] @theebizwizard

Upload: jason-bloomberg

Post on 15-Apr-2017

432 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Are microservices 'soa done right'?

Copyright © 2015, Intellyx, LLC

1

Are Microservices ‘SOA Done Right’?

Jason BloombergPresident

[email protected]

@theebizwizard

Page 2: Are microservices 'soa done right'?

Copyright © 2015, Intellyx, LLC2

About Jason Bloomberg

• President of industry analyst firm Intellyx

• Agile digital transformation thought leader

• Write for Forbes, several blogs, biweekly newsletter the Cortex

• Buy my latest book, The Agile Architecture Revolution

Page 3: Are microservices 'soa done right'?

Copyright © 2015, Intellyx, LLC3

It’s About Architecture!

• The real question: is microservices architecture ‘SOA done right’?

• What is ‘microservices architecture’?

• What is ‘SOA done wrong’ anyway?

No argument of architects, please!

Phot

o Cr

edit:

Alp

ha d

u ce

ntau

re h

ttps:

//www

.flick

r.com

/pho

tos/

alph

aduc

enta

ure/

Page 4: Are microservices 'soa done right'?

Copyright © 2015, Intellyx, LLC4

Was First-Generation SOA ‘SOA Done Wrong’?• First-generation SOA

– ESB-Centric– Most or all services were

Web Services– XML was primary message

format• Yes, many times it was ‘done

wrong’– Didn’t meet business needs– Insufficient business agility

• Sometimes people actually got it to work!

Phot

o Cr

edit:

Phi

l Man

ker h

ttps:

//www

.flick

r.com

/pho

tos/

philm

anke

r/

Page 5: Are microservices 'soa done right'?

Copyright © 2015, Intellyx, LLC5

What About 2nd Generation, REST-Based SOA?

• REST cleaned up a lot of the Web Services mess

• Abstracted, governed service interfaces still a challenge

• REST’s architectural subtleties ambiguous & difficultREST-Based SOA still largely

predated microservices

Phot

o Cr

edit:

Cor

y Do

ctor

ow h

ttps:/

/www

.flick

r.com

/pho

tos/

doct

orow

/

Page 6: Are microservices 'soa done right'?

Copyright © 2015, Intellyx, LLC6

SOA Servicesvs. Microservices

• Web Services are contracted interfaces– WSDL + other policy documents

form the contract (all XML)– Abstract underlying software

• RESTful services are also contracted interfaces– Known by their URI & uniform

interface• Microservices are units of

execution– Container-centric (although

containers not required)

Page 7: Are microservices 'soa done right'?

Copyright © 2015, Intellyx, LLC7

No More Lipstick• SOA Services suffer from “lipstick on the pig”

problem– Complicated, problematic

software exposed as services still complicated & problematic

• Call for best practices underlying service interfaces– Highly modular, “shared

nothing” code– Independently deployable– Easy to distribute & scale

Phot

o Cr

edit:

Nei

l Tur

ner h

ttps:

//www

.flick

r.com

/pho

tos/

neilt

/

Page 8: Are microservices 'soa done right'?

Copyright © 2015, Intellyx, LLC8

What are Microservices?

Parsimonious, cohesive 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

Phot

o Cr

edit:

Jam

es L

ee h

ttps:

//www

.flick

r.com

/pho

tos/j

rona

ldle

e/

Page 9: Are microservices 'soa done right'?

Copyright © 2015, Intellyx, LLC9

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?

Phot

o Cr

edit:

AJC

http

s://w

ww.fl

ickr.c

om/p

hoto

s/aj

c1/

Page 10: Are microservices 'soa done right'?

Copyright © 2015, Intellyx, LLC10

Cohesion

• Microservices should do one thing well• Principle of modular programming since the

1960s• Web Services often suffered from low

cohesion

Page 11: Are microservices 'soa done right'?

Copyright © 2015, Intellyx, LLC11

μservice

Cracking Open a Microservice

• Shared nothing in the sense that each microservice has these elements

• Each element is itself parsimonious & coherent

Code

Runtime

CacheOS

Elements

Service Interface

Page 12: Are microservices 'soa done right'?

Copyright © 2015, Intellyx, LLC12

Right Tool for the Job

• ‘SOA Services’ become ‘enterprise services’– Abstract & expose legacy

functionality– Leverage value of existing

middleware• Microservices better for

greenfield development– Cloud and container friendly

• Straightforward continuous delivery– Also DevOps friendly

Phot

o Cr

edit:

Ana

nth

BS h

ttps:

//www

.flick

r.com

/pho

tos/

anan

th/

Page 13: Are microservices 'soa done right'?

Copyright © 2015, Intellyx, LLC13

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

Page 14: Are microservices 'soa done right'?

Copyright © 2015, Intellyx, LLC14

What about ‘Container-Oriented Architecture’?

• Still in its formative stages• Even so, doesn’t look much

like SOA, done right or not• Not clear whether

microservices-oriented architecture and container-oriented architecture will be – or should be – the same thing

Phot

o Cr

edit:

Jitz

e Co

uper

us h

ttps:

//www

.flick

r.com

/pho

tos/

jitze

1942

/

Page 15: Are microservices 'soa done right'?

Copyright © 2015, Intellyx, LLC15

Container-Oriented Architecture & the Cloud

• Container-oriented architecture builds upon cloud architecture best practices– Horizontal scalability– Elasticity– Automated recovery

from failure– Tunable data

consistency

Phot

o Cr

edit:

Lau

ren

Cool

man

http

s://w

ww.fl

ickr.c

om/p

hoto

s/wi

nter

cool

612/

Page 16: Are microservices 'soa done right'?

Copyright © 2015, Intellyx, LLC16

The Answer?

• Not a fixed goal• More of a journey of

architectural discovery• Not ‘wrong’ vs. ‘right,’ but

getting better as we go

Microservices architecture is SOA +

cloud architecture done right

Phot

o Cr

edit:

Rob

ert C

ouse

-Bak

er h

ttps:

//www

.flick

r.com

/pho

tos/

2923

3640

@N0

7/

Page 17: Are microservices 'soa done right'?

Copyright © 2015, Intellyx, LLC

Jason BloombergPresident, Intellyx

[email protected]

@theebizwizard

Send email NOW to [email protected] to download this presentation

Thank You!