Slide 1

Slide 1 text

Divide and Conquer: Send Forth the Microservices Jennifer Reif Email: [email protected] Twitter: @JMHReif LinkedIn: linkedin.com/in/jmhreif Github: github.com/JMHReif Website: jmhreif.com

Slide 2

Slide 2 text

Who Am I? • Developer + Advocate • Continous learner • Technical content writer • Conference speaker • Other: family, horses, books, cats Jennifer Reif Email: [email protected] Twitter: @JMHReif LinkedIn: linkedin.com/in/jmhreif Github: github.com/JMHReif Website: jmhreif.com

Slide 3

Slide 3 text

Monolith What is it? • Functionality in single app • Intentional or morphed over time • Pros: • One-and-done • Less communication • Cons: • Find/reuse code, Implement fi xes • Resource consumption, Handle failures Photo from Google Images

Slide 4

Slide 4 text

Microservices What are they? • Small applications for limited/single function • Communicate necessary data • Pros: • Independent, Small footprint • Reliable, Scalable • Cons: • Testing, communication coordination • Additional layers/operations Photo from Google Images

Slide 5

Slide 5 text

Note! Monolith vs microservices • Neither solution is a silver bullet • Simplicity and complexity exist in both! • ALSO, classi fi cation of micro services varies • Scope of functionality • Async vs sync communication • Level of automation

Slide 6

Slide 6 text

Layer3 - client Layer2 - API Layer1 - database Docker-compose Demo architecture Service1 Service2 MongoDB - Goodreads

Slide 7

Slide 7 text

Let’s Code!

Slide 8

Slide 8 text

Where to go next? What could we do? • Polyglot - data stores • Messaging (async) - Kafka • Orchestration - Kubernetes • Testing - unit and integration • Scaling and monitoring - tool suites • Deployment - cloud services

Slide 9

Slide 9 text

Resources Code and learning more… • Code (level 5): github.com/JMHReif/microservices-java • Blog: jmhreif.com/blog/ • Neo4j graph database: dev.neo4j.com/aura-java Jennifer Reif Email: [email protected] Twitter: @JMHReif LinkedIn: linkedin.com/in/jmhreif Github: github.com/JMHReif Website: jmhreif.com