Top Banner
Microservices with JBoss EAP & OpenShift (and more) Bob McWhirter
56

Microservices with JBoss EAP & OpenShift

Apr 15, 2017

Download

Software

bobmcwhirter
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 with JBoss EAP & OpenShift

Microservices with

JBoss EAP & OpenShift (and more)

Bob McWhirter

Page 2: Microservices with JBoss EAP & OpenShift

Who is Bob?• Bob McWhirter

• Project lead for WildFly Swarm • Founder of…

• Drools • The Codehaus • TorqueBox

• Director of Research & Prototyping, JBoss

Page 3: Microservices with JBoss EAP & OpenShift

Microservices

Page 4: Microservices with JBoss EAP & OpenShift
Page 5: Microservices with JBoss EAP & OpenShift

• Helps define architecture • Independent release cycles • Accelerate business velocity

Page 6: Microservices with JBoss EAP & OpenShift

All of this requires discipline

Page 7: Microservices with JBoss EAP & OpenShift
Page 8: Microservices with JBoss EAP & OpenShift

• Each service does one thing well,with well-defined bounds

• If it used to be a library, it’s probably a service now

Page 9: Microservices with JBoss EAP & OpenShift

ServiceWell-definedInputs

Well-definedOutputs

Page 10: Microservices with JBoss EAP & OpenShift
Page 11: Microservices with JBoss EAP & OpenShift

• Loosely coupled implementations • Loosely coupled locations

Page 12: Microservices with JBoss EAP & OpenShift

Which leads us to …

Page 13: Microservices with JBoss EAP & OpenShift
Page 14: Microservices with JBoss EAP & OpenShift

“organizations which design systems ... are constrained to

produce designs which are copies of the communication structures of

these organizations"

–Melvin Conway

Page 15: Microservices with JBoss EAP & OpenShift

A monolithic organization

produces monolithic software

Page 16: Microservices with JBoss EAP & OpenShift

Which leads us to …

Page 17: Microservices with JBoss EAP & OpenShift
Page 18: Microservices with JBoss EAP & OpenShift

A meeting should never have so many attendees that they could not all be fed with two pizzas.

Generally, this limits the number of attendees at a meeting to less than eight.

Page 19: Microservices with JBoss EAP & OpenShift

Therefore, your bounded-context should be something solvable by

less than 8 people…

including the Product Manager.

Page 20: Microservices with JBoss EAP & OpenShift
Page 21: Microservices with JBoss EAP & OpenShift

From the MicroProfile example• Sessions • Speakers • Schedules • Attendees

Page 22: Microservices with JBoss EAP & OpenShift
Page 23: Microservices with JBoss EAP & OpenShift
Page 24: Microservices with JBoss EAP & OpenShift

Caveats…

Page 25: Microservices with JBoss EAP & OpenShift

If you failed at SOA, you’re probably going to fail at

microservices.

Page 26: Microservices with JBoss EAP & OpenShift

Monthly/Weekly/Hourly releases

of 200 microservices is not easy

Page 27: Microservices with JBoss EAP & OpenShift

Things that can help

Page 28: Microservices with JBoss EAP & OpenShift
Page 29: Microservices with JBoss EAP & OpenShift

Because what’s tested is exactly what should be

deployed

Page 30: Microservices with JBoss EAP & OpenShift
Page 31: Microservices with JBoss EAP & OpenShift

If you’re deploying continuously, you should be

building continuously

Page 32: Microservices with JBoss EAP & OpenShift
Page 33: Microservices with JBoss EAP & OpenShift

If you’re deploying continuously, automated

provisioning is useful

Page 34: Microservices with JBoss EAP & OpenShift

And things like OpenShift can provide cross-cutting

functionality

Page 35: Microservices with JBoss EAP & OpenShift

So you want to write a microservice…

Page 36: Microservices with JBoss EAP & OpenShift
Page 37: Microservices with JBoss EAP & OpenShift

My App

JBoss EAP

Page 38: Microservices with JBoss EAP & OpenShift
Page 39: Microservices with JBoss EAP & OpenShift

95% ofMy App

JBoss EAP

Service#1

JBoss EAP

Network

Page 40: Microservices with JBoss EAP & OpenShift
Page 41: Microservices with JBoss EAP & OpenShift

90% ofMy App

JBoss EAP

Service#1

JBoss EAP

Network

Service#2

JBoss EAP

Network

Page 42: Microservices with JBoss EAP & OpenShift
Page 43: Microservices with JBoss EAP & OpenShift

Service#2

Service#5

Service#4

Service#1

Service#3

Page 44: Microservices with JBoss EAP & OpenShift
Page 45: Microservices with JBoss EAP & OpenShift
Page 46: Microservices with JBoss EAP & OpenShift
Page 47: Microservices with JBoss EAP & OpenShift
Page 48: Microservices with JBoss EAP & OpenShift
Page 49: Microservices with JBoss EAP & OpenShift
Page 50: Microservices with JBoss EAP & OpenShift

If I have 45 small services, why EAP?

Page 51: Microservices with JBoss EAP & OpenShift
Page 52: Microservices with JBoss EAP & OpenShift

• Wraps the server around your service. • Built upon WildFly/EAP. • Smaller footprint. • Single deployable artifact.

Page 53: Microservices with JBoss EAP & OpenShift

JAX-RSCDIJMSJPABatch

Bean ValidationJCAJMXNaming…more!

Page 54: Microservices with JBoss EAP & OpenShift

Jolokia

NetflixOSS

Logstash

Keycloak/Red Hat SSO

Swagger

Page 55: Microservices with JBoss EAP & OpenShift

Service#2

Service#5

Service#4

Service#1

Service#3

Page 56: Microservices with JBoss EAP & OpenShift

Thanks!