microservices - goto conferencegotocon.com/dl/...whenmicroservicesmeetrealworldprojects.pdf ·...

70
MicroServices meet Real World projects #gotober #innoQ www.innoQ.com

Upload: buimien

Post on 05-May-2018

223 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

MicroServicesmeet Real World projects

#gotober #innoQwww.innoQ.com

Page 2: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

MicroServicesmeet Real World projects

#gotober #innoQwww.innoQ.com

Page 3: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Alexander Heusingfeld

[email protected]

Senior Consultant @ innoQ

@goldstift

Page 4: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Architecture Consulting...

Page 5: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

“We’d like to have a microservice architecture!”

— Customer X

Page 6: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

When reviewing a monolithic application …

© innoQ/Roman Stranghöner

Page 7: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

…and taking a look into the black box…

© innoQ/Roman Stranghöner

Page 8: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

…you’ll likely find it consists of multiple Bounded Contexts.

© innoQ/Roman Stranghöner

Page 9: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

If you cut a monolithic system along its very domains …

Page 10: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

… and wrap every domain in a separate, replaceable web application …

Page 11: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

… then that application can be referred to as a self-contained system (SCS).

Page 12: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

http://scs-architecture.org/

more information on self-contained systems (SCS)

can be found at

#gotober #innoQ

Page 13: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Architectural Decisions

Page 14: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Architectural Decisions

> Domain Architecture

Page 15: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Architectural Decisions

> Domain Architecture

> Macro Architecture

Page 16: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Architectural Decisions

> Domain Architecture

> Macro Architecture

> Micro Architecture

Page 17: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Isn't there more than that…

Page 18: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

At a project meeting…

Page 19: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Did you think about the people who make your architecture exist?

Page 20: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

us vs. them

Page 21: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

“Don’t care about this, it’s our business!”

“Alarming is our concern, don’t bother about it!”

“No need for a discussion, we always fix that during deployment.”

“That’s part of the handover to operations.”

Page 22: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

overcome “us vs. them”

Page 23: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

overcome “us vs. them”

> cross-functional != cross-department

Page 24: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

overcome “us vs. them”

> cross-functional != cross-department

> have one manager to decide on a team’s targets

Page 25: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

overcome “us vs. them”

> cross-functional != cross-department

> have one manager to decide on a team’s targets

> don’t neglect team-building

Page 26: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

overcome “us vs. them”

> cross-functional != cross-department

> have one manager to decide on a team’s targets

> don’t neglect team-building

> trust is not optional

Page 27: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

well-known pros are subjective

Page 28: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

“Operating a monolith is easier!”

Page 29: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Of course it’s easier…

Page 30: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

It’s always easier…

…if the complexity is on someone else’s desk.

Page 31: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

“Operational costs are increased!”

Page 32: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Monolith

Page 33: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Microservices?

Page 34: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Microservices?A broken Monolith?!

Page 35: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

“Separating teams duplicates work!”

Page 36: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

The manageable, domain specific scope enables the development, operation and maintenance of an SCS by an autonomous team.

Team 1

Team 2 Team 3

Page 37: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

share ideas

share concepts

don’t share functional code

Team 1

Team 2 Team 3

Page 38: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

“Deployments cannot be faster, we have an established process!”

Page 39: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ
Page 40: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ
Page 41: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ
Page 42: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

What this taught us

Page 43: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

What this taught us

> enable fast feedback for your team

Page 44: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

What this taught us

> enable fast feedback for your team

> automate what’s next to you first

Page 45: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

What this taught us

> enable fast feedback for your team

> automate what’s next to you first

> do your homework before you teach others

Page 46: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

What this taught us

> enable fast feedback for your team

> automate what’s next to you first

> do your homework before you teach others

> other people will notice the benefits

Page 47: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

What this taught us

> enable fast feedback for your team

> automate what’s next to you first

> do your homework before you teach others

> other people will notice the benefits

> complex processes can be adopted, divide them and take one step at a time

Page 48: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

“pets vs. cattle”

Page 49: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

https://w

ww.flickr.com

/photos/cornelii/531691572

https://w

ww.flickr.com

/photos/cornelii/531691572

Page 50: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

https://w

ww.flickr.com

/photos/cornelii/531691572

https://w

ww.flickr.com

/photos/cornelii/531691572

Page 51: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

summarized: change perspectives!

Page 52: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ
Page 53: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ
Page 54: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

http://izismile.com

/2013/01/22/buyers_bew

are_its_a_m

atter_of_perspective_3_pics.html

Page 55: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

A company which embraced and evolved

Page 56: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

http://projectcartoon.com

/cartoon/1

Page 57: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Modernisation Strategies

Page 58: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Big Bang

Page 59: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Change via Copy

Page 60: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Change via Extraction

Page 61: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Strangulate Bad Parts

Page 62: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

http://aim42.org/

more information on software modernisation

can be found at

#gotober #innoQ

Page 63: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

conclusion

Page 64: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Conway’s Law

“Organizations which design systems are constrained to produce systems which are copies of the communication structures of

these organizations.” – M.E. Conway

Organization → Architecture

Page 65: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Summary

#gotober #innoQ

Page 66: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Summary

> distributed systems are hard - organizational impact, too

#gotober #innoQ

Page 67: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Summary

> distributed systems are hard - organizational impact, too

> don't forget: there's always at least one other perspective

#gotober #innoQ

Page 68: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Summary

> distributed systems are hard - organizational impact, too

> don't forget: there's always at least one other perspective

> Don’t overwhelm people, change one thing at a time

#gotober #innoQ

Page 69: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Summary

> distributed systems are hard - organizational impact, too

> don't forget: there's always at least one other perspective

> Don’t overwhelm people, change one thing at a time

> not everyone who wants microservices is immediately capable to establish them

#gotober #innoQ

Page 70: MicroServices - GOTO Conferencegotocon.com/dl/...WhenMicroservicesMeetRealWorldProjects.pdf · MicroServices meet Real World projects  #gotober #innoQ

Thank you! Questions?

Comments?

Alexander Heusingfeld | @goldstift

[email protected]

innoQ Deutschland GmbH

Krischerstr. 100 40789 Monheim am Rhein Germany Phone: +49 2173 3366-0

innoQ Schweiz GmbH

Gewerbestr. 11 CH-6330 Cham Switzerland Phone: +41 41 743 0116www.innoq.com

Ohlauer Straße 43 10999 Berlin Germany

Ludwigstraße 180 E D-63067 Offenbach Germany

Kreuzstr. 16 D-80331 München Germany

https://www.innoq.com/en/timeline/?tag=scs

#gotober #innoQ