Microservices with JBoss EAP & OpenShift

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

Transcript of Microservices with JBoss EAP & OpenShift

Microservices with

JBoss EAP & OpenShift (and more)

Bob McWhirter

Who is Bob?• Bob McWhirter

• Project lead for WildFly Swarm • Founder of…

• Drools • The Codehaus • TorqueBox

• Director of Research & Prototyping, JBoss

Microservices

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

All of this requires discipline

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

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

ServiceWell-definedInputs

Well-definedOutputs

• Loosely coupled implementations • Loosely coupled locations

Which leads us to …

“organizations which design systems ... are constrained to

produce designs which are copies of the communication structures of

these organizations"

–Melvin Conway

A monolithic organization

produces monolithic software

Which leads us to …

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.

Therefore, your bounded-context should be something solvable by

less than 8 people…

including the Product Manager.

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

Caveats…

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

microservices.

Monthly/Weekly/Hourly releases

of 200 microservices is not easy

Things that can help

Because what’s tested is exactly what should be

deployed

If you’re deploying continuously, you should be

building continuously

If you’re deploying continuously, automated

provisioning is useful

And things like OpenShift can provide cross-cutting

functionality

So you want to write a microservice…

My App

JBoss EAP

95% ofMy App

JBoss EAP

Service#1

JBoss EAP

Network

90% ofMy App

JBoss EAP

Service#1

JBoss EAP

Network

Service#2

JBoss EAP

Network

Service#2

Service#5

Service#4

Service#1

Service#3

If I have 45 small services, why EAP?

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

JAX-RSCDIJMSJPABatch

Bean ValidationJCAJMXNaming…more!

Jolokia

NetflixOSS

Logstash

Keycloak/Red Hat SSO

Swagger

Service#2

Service#5

Service#4

Service#1

Service#3

Thanks!