a developer's journey from monoliths to microservices - edson yanaga

43
A Developer's Journey From Monoliths to Microservices Edson Yanaga Director of Developer Experience @yanaga

Upload: j-on-the-beach

Post on 16-Apr-2017

96 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: A developer's journey from monoliths to microservices - Edson Yanaga

A Developer's Journey From Monoliths to Microservices

Edson Yanaga Director of Developer Experience @yanaga

Page 2: A developer's journey from monoliths to microservices - Edson Yanaga

Join developers.redhat.com2

Java Champion Microsoft MVP

Page 3: A developer's journey from monoliths to microservices - Edson Yanaga

“Now, every company is a software company” — Forbes

Page 4: A developer's journey from monoliths to microservices - Edson Yanaga

Join developers.redhat.com4

Page 5: A developer's journey from monoliths to microservices - Edson Yanaga

Software is made by people for people

Page 6: A developer's journey from monoliths to microservices - Edson Yanaga

Legacy

Page 7: A developer's journey from monoliths to microservices - Edson Yanaga

Any code delivered into production is Legacy

Page 8: A developer's journey from monoliths to microservices - Edson Yanaga

Feedback Loop

Page 9: A developer's journey from monoliths to microservices - Edson Yanaga

Join developers.redhat.com9

Context

Page 10: A developer's journey from monoliths to microservices - Edson Yanaga

What is preventing you from delivering faster?

Page 11: A developer's journey from monoliths to microservices - Edson Yanaga

Bugs Testing

Integration problems Continuous Integration

Manual Deployment Continuos Delivery

Integration problems again Microservices

Page 12: A developer's journey from monoliths to microservices - Edson Yanaga

We’re scaling people, not software

Page 13: A developer's journey from monoliths to microservices - Edson Yanaga

We’re solving integration issues by reducing the context to a cohesive Microservice

Page 14: A developer's journey from monoliths to microservices - Edson Yanaga

Conway’s Law

Page 15: A developer's journey from monoliths to microservices - Edson Yanaga

Join developers.redhat.com

“organizations which design systems (…) are constrained to produce designs which are copies of the communication structures of

these organizations.”

15

Page 16: A developer's journey from monoliths to microservices - Edson Yanaga

Join developers.redhat.com16

“Two Pizza Rule” — Jeff Bezos

Page 17: A developer's journey from monoliths to microservices - Edson Yanaga

How do I run my Microservices?

Page 18: A developer's journey from monoliths to microservices - Edson Yanaga

PaaS

Page 19: A developer's journey from monoliths to microservices - Edson Yanaga

Buy or Build?

Page 20: A developer's journey from monoliths to microservices - Edson Yanaga

Join developers.redhat.com20

Page 21: A developer's journey from monoliths to microservices - Edson Yanaga

Join developers.redhat.com21

Page 22: A developer's journey from monoliths to microservices - Edson Yanaga

How do I begin my journey?

Page 23: A developer's journey from monoliths to microservices - Edson Yanaga

Join developers.redhat.com

Strangler Application

23

Page 24: A developer's journey from monoliths to microservices - Edson Yanaga

Domain-Driven Design Bounded Contexts

Page 25: A developer's journey from monoliths to microservices - Edson Yanaga

Join developers.redhat.com25

Page 26: A developer's journey from monoliths to microservices - Edson Yanaga

Join developers.redhat.com26

Page 27: A developer's journey from monoliths to microservices - Edson Yanaga

Join developers.redhat.com27

Wildfly Swarm

Spring Boot

Node.js

Page 28: A developer's journey from monoliths to microservices - Edson Yanaga

Join developers.redhat.com

API Gateway

28

Page 29: A developer's journey from monoliths to microservices - Edson Yanaga

Join developers.redhat.com29

Page 30: A developer's journey from monoliths to microservices - Edson Yanaga

Join developers.redhat.com30

API Gateway

Page 31: A developer's journey from monoliths to microservices - Edson Yanaga

“reliability must come from software” — Jeff Dean (Google)

Page 32: A developer's journey from monoliths to microservices - Edson Yanaga

Join developers.redhat.com

Design for Failure

32

Page 33: A developer's journey from monoliths to microservices - Edson Yanaga

Join developers.redhat.com33

Circuit Breaker Bulkhead

Page 34: A developer's journey from monoliths to microservices - Edson Yanaga

Smart Routing

Page 35: A developer's journey from monoliths to microservices - Edson Yanaga

Join developers.redhat.com

Synchronous or Asynchronous?

35

Page 36: A developer's journey from monoliths to microservices - Edson Yanaga

HTTP/REST or Message Broker?

Page 37: A developer's journey from monoliths to microservices - Edson Yanaga

Join developers.redhat.com

What about reporting?

37

Page 38: A developer's journey from monoliths to microservices - Edson Yanaga

Command Query Responsibility Segregation

(CQRS)

Page 39: A developer's journey from monoliths to microservices - Edson Yanaga

Join developers.redhat.com39

http://teiid.jboss.org

Page 40: A developer's journey from monoliths to microservices - Edson Yanaga

Remember? It’s a journey

Page 41: A developer's journey from monoliths to microservices - Edson Yanaga

And we are taking the first steps

Page 42: A developer's journey from monoliths to microservices - Edson Yanaga

Want to follow the path?Join

developers.redhat.com

Page 43: A developer's journey from monoliths to microservices - Edson Yanaga

plus.google.com/+RedHat

linkedin.com/company/red-hat

youtube.com/user/RedHatVideos

facebook.com/redhatinc

twitter.com/RedHatNews

Thank you!