The 6 Rules for Modernizing Your Legacy
Java Monolith with Microservices
by Kevin Webber (@kvnwbbr)
ALegacyMonolith Story
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
heritage
architecture
» Single points of failure
» Impossible to scale out
(shared mutable state, etc)
» Different non-functional
requirements (reads,
writes, compute)
» Optimized for none!
» Long, risky release cycles
Howdo Microservices
help?
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
Microservices
» Ubiquitous language
» Well defined models &
boundaries
» Single responsibility
» Independently deployable,
scalable, resilient
» Communicate via async
messaging
» Own their data
» Don't expose a public API
Approach?
Principles
» responsive, resilient,
elastic, message-driven
Approach?
Principles
» responsive, resilient,
elastic, message-driven
Concepts
» bounded contexts (DDD),
event sourcing, CQRS, CAP
(eventual consistency)
Approach?
Principles
» responsive, resilient,
elastic, message-driven
Concepts
» bounded contexts (DDD),
event sourcing, CQRS, CAP
(eventual consistency)
Tools
» Typesafe Reactive Platform
(Play, Akka, Spark)
Conceptsand patterns
We will cover:
» Domain Driven Design (DDD)
» Async messaging
» API management
» Dependency management
» CQRS & event sourcing
» Transactions & ordering
Domain Driven Design
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
Getting started
» Model sub-domain at package
level
» Tip: Visualize existing
architecture with a tool
like Structure101
» Define public RESTful API
at package level (use async
messaging inside package at
service level)
» Refactor for physical
separation, remove package
Goingasync
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
Async Benefits
» Not wasting resources
» Memory, CPU, threads
» Embracing failure
» Not expecting a return
from a remote service
» Designing for all
scenarios
API management
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
API mgmt.
» Messaging patterns
» Pub/sub, point-to-point,
streaming
» API gateway
» Routing, aggregation,
protocol translation
» Discovery
» Service discovery,
registry, versioning
Dependencymanagement
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
CQRS & eventsourcing
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
Transactionsand
ordering
Considerations
» ACID doesn't work across location/trust boundaries
» No 2-Phase commits (2PC)
» No holding locks for the duration of work
» In distributed systems we need to compensate for
for failure rather than prevent failure
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
Whatnext?
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices
Microservices
with Lightbend
» Play for API gateway
» Akka for core microservices
(DDD, CQRS, event sourcing)
» ConductR for cluster
management (service
registry, discovery,
architecture visualization,
security)
Lagom
Monolithto microservices
» Webinar: March 17, 1PM PST / 4PM EST
» https://www.lightbend.com/discover-lagom
» Ready-to-use connectors: event-sourcing, CQRS
» Launch all microservices with a single command
» Instantly visible code updates
Thankyou!
Visit https://www.lightbend.com/products/lightbend-
reactive-platform to get started
Contactinfo
» Twitter: @kvnwbbr
» Email: kevin.webber@lightbend.com
LIGHTBEND REACTIVE PLATFORM

Full Lifecycle Support for Play, Akka, Scala and Spark
Give your project a boost with Reactive Platform:
• System orchestration for resilient releases
• Real-time monitoring of asynchronous systems
• Self-healing for network partitions, node and apps
• Availability protected with configurable user quotas
• Certified, load-tested Reactive Runtime
Enjoy learning? See about the availability of
on-site training for Scala, Akka, Play and Spark!
GET STARTED
The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices

More Related Content

PPTX
Lightbend Training for Scala, Akka, Play Framework and Apache Spark
PDF
Nine Neins - where Java EE will never take you
PPTX
A Deeper Look Into Reactive Streams with Akka Streams 1.0 and Slick 3.0
PDF
Microservices, Monoliths, SOA and How We Got Here
PDF
What is reactive
PDF
Revitalizing Aging Architectures with Microservices
PPT
Sneaking Scala through the Back Door
PPTX
Benefits Of The Actor Model For Cloud Computing: A Pragmatic Overview For Jav...
Lightbend Training for Scala, Akka, Play Framework and Apache Spark
Nine Neins - where Java EE will never take you
A Deeper Look Into Reactive Streams with Akka Streams 1.0 and Slick 3.0
Microservices, Monoliths, SOA and How We Got Here
What is reactive
Revitalizing Aging Architectures with Microservices
Sneaking Scala through the Back Door
Benefits Of The Actor Model For Cloud Computing: A Pragmatic Overview For Jav...

What's hot (20)

PDF
The Future of Services: Building Asynchronous, Resilient and Elastic Systems
PDF
What is Reactive programming?
PDF
Digital Transformation with Kubernetes, Containers, and Microservices
PPTX
Microservices and Integration: what's next with Istio service mesh
PPTX
Reactive Revealed Part 2: Scalability, Elasticity and Location Transparency i...
PDF
How would ESBs look like, if they were done today.
PPTX
Designing microservices
PDF
URP? Excuse You! The Three Metrics You Have to Know
PDF
Microservices Architecture
PDF
THEFT-PROOF JAVA EE - SECURING YOUR JAVA EE APPLICATIONS
PDF
The Road Most Traveled: A Kafka Story | Heikki Nousiainen, Aiven
PDF
Integrating Apache Kafka and Elastic Using the Connect Framework
PDF
20160317 lagom sf scala
PDF
Control and monitor_microservices_with_microprofile
PPTX
Micro service architecture
PPTX
Designing apps for resiliency
PDF
Gradual migration to MicroProfile
PDF
Monitor Micro-service with MicroProfile metrics
PDF
Transactions in micro-services (fall 2019)
PDF
The Reactive Principles: Eight Tenets For Building Cloud Native Applications
The Future of Services: Building Asynchronous, Resilient and Elastic Systems
What is Reactive programming?
Digital Transformation with Kubernetes, Containers, and Microservices
Microservices and Integration: what's next with Istio service mesh
Reactive Revealed Part 2: Scalability, Elasticity and Location Transparency i...
How would ESBs look like, if they were done today.
Designing microservices
URP? Excuse You! The Three Metrics You Have to Know
Microservices Architecture
THEFT-PROOF JAVA EE - SECURING YOUR JAVA EE APPLICATIONS
The Road Most Traveled: A Kafka Story | Heikki Nousiainen, Aiven
Integrating Apache Kafka and Elastic Using the Connect Framework
20160317 lagom sf scala
Control and monitor_microservices_with_microprofile
Micro service architecture
Designing apps for resiliency
Gradual migration to MicroProfile
Monitor Micro-service with MicroProfile metrics
Transactions in micro-services (fall 2019)
The Reactive Principles: Eight Tenets For Building Cloud Native Applications
Ad

Viewers also liked (20)

PDF
Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...
PDF
Distributed Systems Done Right: Why Java Enterprises Are Embracing The Actor ...
PDF
Understanding Akka Streams, Back Pressure, and Asynchronous Architectures
PDF
DLJCJUG 2015: The Seven Deadly Sins of Microservices
PPTX
Akka 2.4 plus new commercial features in Typesafe Reactive Platform
PDF
Microservices Practitioner Summit Jan '15 - Don't Build a Distributed Monolit...
PDF
CARTO ENGINE
PPTX
API-driven Legacy Migration: Results from Project Winterfell
PDF
REST и HATEOAS
PPTX
API Services: Building Apps That Stand Out
PPTX
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
PDF
Securing RESTful services with Spring HATEOAS & Hdiv
PDF
Hypermedia api (HATEOAS)
PDF
HCLT Whitepaper: Legacy Modernization
PPTX
BPM for SOA+ESB+API and cloud
PDF
How to become a Product Samurai - Chris Lukassen
PPTX
Apiworld
PPTX
Legacy to industry leader: a modernization case study
PDF
Twilio Signal 2016 API Architecture
PPTX
Going Reactive in Java with Typesafe Reactive Platform
Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...
Distributed Systems Done Right: Why Java Enterprises Are Embracing The Actor ...
Understanding Akka Streams, Back Pressure, and Asynchronous Architectures
DLJCJUG 2015: The Seven Deadly Sins of Microservices
Akka 2.4 plus new commercial features in Typesafe Reactive Platform
Microservices Practitioner Summit Jan '15 - Don't Build a Distributed Monolit...
CARTO ENGINE
API-driven Legacy Migration: Results from Project Winterfell
REST и HATEOAS
API Services: Building Apps That Stand Out
Modernizing the Legacy - How Dish is Adapting its SOA Services for a Cloud Fi...
Securing RESTful services with Spring HATEOAS & Hdiv
Hypermedia api (HATEOAS)
HCLT Whitepaper: Legacy Modernization
BPM for SOA+ESB+API and cloud
How to become a Product Samurai - Chris Lukassen
Apiworld
Legacy to industry leader: a modernization case study
Twilio Signal 2016 API Architecture
Going Reactive in Java with Typesafe Reactive Platform
Ad

Similar to The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices (20)

PDF
Microservices: Architecture for the Real-time Organization
PDF
Revitalizing Walmart's Aging Architecture for Web Scale
PPTX
Exploring microservices in a Microsoft landscape
PDF
Microservices: Where do they fit within a rapidly evolving integration archit...
PPTX
Microservices Corporate Style
PDF
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
PDF
Redis and Kafka - Advanced Microservices Design Patterns Simplified
PPTX
Micro services Architecture
PDF
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
PDF
Internet Scale Architecture
PPTX
Net core microservice development made easy with azure dev spaces
PPTX
Accelerate DevOps/Microservices and Kubernetes
PPTX
Monoliths to Microservices with Jave EE and Spring Boot
PDF
Database@Home : Data Driven Apps - Data-driven Microservices Architecture wit...
PPTX
Introduction To Microservices
PPSX
Microservices Docker Kubernetes Istio Kanban DevOps SRE
PDF
Monolithic to Microservices Architecture
PPTX
AWS Serverless Community Day Keynote and Vendia Launch 6-26-2020
PDF
Stay productive while slicing up the monolith
PPTX
Microservice & Service Mesh Workshop
Microservices: Architecture for the Real-time Organization
Revitalizing Walmart's Aging Architecture for Web Scale
Exploring microservices in a Microsoft landscape
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices Corporate Style
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
Redis and Kafka - Advanced Microservices Design Patterns Simplified
Micro services Architecture
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Internet Scale Architecture
Net core microservice development made easy with azure dev spaces
Accelerate DevOps/Microservices and Kubernetes
Monoliths to Microservices with Jave EE and Spring Boot
Database@Home : Data Driven Apps - Data-driven Microservices Architecture wit...
Introduction To Microservices
Microservices Docker Kubernetes Istio Kanban DevOps SRE
Monolithic to Microservices Architecture
AWS Serverless Community Day Keynote and Vendia Launch 6-26-2020
Stay productive while slicing up the monolith
Microservice & Service Mesh Workshop

More from Lightbend (20)

PDF
IoT 'Megaservices' - High Throughput Microservices with Akka
PDF
How Akka Cluster Works: Actors Living in a Cluster
PDF
Putting the 'I' in IoT - Building Digital Twins with Akka Microservices
PDF
Akka at Enterprise Scale: Performance Tuning Distributed Applications
PDF
Detecting Real-Time Financial Fraud with Cloudflow on Kubernetes
PDF
Cloudstate - Towards Stateful Serverless
PDF
Digital Transformation from Monoliths to Microservices to Serverless and Beyond
PDF
Akka Anti-Patterns, Goodbye: Six Features of Akka 2.6
PPTX
Lessons From HPE: From Batch To Streaming For 20 Billion Sensors With Lightbe...
PDF
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
PDF
Microservices, Kubernetes, and Application Modernization Done Right
PDF
Full Stack Reactive In Practice
PDF
Akka and Kubernetes: A Symbiotic Love Story
PPTX
Scala 3 Is Coming: Martin Odersky Shares What To Know
PDF
Migrating From Java EE To Cloud-Native Reactive Systems
PDF
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
PDF
Designing Events-First Microservices For A Cloud Native World
PDF
Scala Security: Eliminate 200+ Code-Level Threats With Fortify SCA For Scala
PDF
How To Build, Integrate, and Deploy Real-Time Streaming Pipelines On Kubernetes
PDF
A Glimpse At The Future Of Apache Spark 3.0 With Deep Learning And Kubernetes
IoT 'Megaservices' - High Throughput Microservices with Akka
How Akka Cluster Works: Actors Living in a Cluster
Putting the 'I' in IoT - Building Digital Twins with Akka Microservices
Akka at Enterprise Scale: Performance Tuning Distributed Applications
Detecting Real-Time Financial Fraud with Cloudflow on Kubernetes
Cloudstate - Towards Stateful Serverless
Digital Transformation from Monoliths to Microservices to Serverless and Beyond
Akka Anti-Patterns, Goodbye: Six Features of Akka 2.6
Lessons From HPE: From Batch To Streaming For 20 Billion Sensors With Lightbe...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
Microservices, Kubernetes, and Application Modernization Done Right
Full Stack Reactive In Practice
Akka and Kubernetes: A Symbiotic Love Story
Scala 3 Is Coming: Martin Odersky Shares What To Know
Migrating From Java EE To Cloud-Native Reactive Systems
Running Kafka On Kubernetes With Strimzi For Real-Time Streaming Applications
Designing Events-First Microservices For A Cloud Native World
Scala Security: Eliminate 200+ Code-Level Threats With Fortify SCA For Scala
How To Build, Integrate, and Deploy Real-Time Streaming Pipelines On Kubernetes
A Glimpse At The Future Of Apache Spark 3.0 With Deep Learning And Kubernetes

Recently uploaded (20)

PDF
Beginner’s Guide to Kentico Xperience Step by Step.pdf
PPTX
Greedy best-first search algorithm always selects the path which appears best...
PPTX
Folder Lock 10.1.9 Crack With Serial Key
PDF
C language slides for c programming book by ANSI
PDF
OpenImageIO Virtual Town Hall - August 2025
PDF
Difference Between Website and Web Application.pdf
PDF
WhatsApp Chatbots The Key to Scalable Customer Support.pdf
PDF
OpenTimelineIO Virtual Town Hall - August 2025
PPTX
WJQSJXNAZJVCVSAXJHBZKSJXKJKXJSBHJBJEHHJB
PDF
solman-7.0-ehp1-sp21-incident-management
PPTX
Independent Consultants’ Biggest Challenges in ERP Projects – and How Apagen ...
PPTX
ESDS_SAP Application Cloud Offerings.pptx
PDF
MaterialX Virtual Town Hall - August 2025
PPTX
UNIT II: Software design, software .pptx
PPTX
StacksandQueuesCLASS 12 COMPUTER SCIENCE.pptx
PDF
Coding with GPT-5- What’s New in GPT 5 That Benefits Developers.pdf
PPTX
Bandicam Screen Recorder 8.2.1 Build 2529 Crack
PPTX
Chapter_05_System Modeling for software engineering
PDF
Top AI Tools for Project Managers: My 2025 AI Stack
PDF
Building an Inclusive Web Accessibility Made Simple with Accessibility Analyzer
Beginner’s Guide to Kentico Xperience Step by Step.pdf
Greedy best-first search algorithm always selects the path which appears best...
Folder Lock 10.1.9 Crack With Serial Key
C language slides for c programming book by ANSI
OpenImageIO Virtual Town Hall - August 2025
Difference Between Website and Web Application.pdf
WhatsApp Chatbots The Key to Scalable Customer Support.pdf
OpenTimelineIO Virtual Town Hall - August 2025
WJQSJXNAZJVCVSAXJHBZKSJXKJKXJSBHJBJEHHJB
solman-7.0-ehp1-sp21-incident-management
Independent Consultants’ Biggest Challenges in ERP Projects – and How Apagen ...
ESDS_SAP Application Cloud Offerings.pptx
MaterialX Virtual Town Hall - August 2025
UNIT II: Software design, software .pptx
StacksandQueuesCLASS 12 COMPUTER SCIENCE.pptx
Coding with GPT-5- What’s New in GPT 5 That Benefits Developers.pdf
Bandicam Screen Recorder 8.2.1 Build 2529 Crack
Chapter_05_System Modeling for software engineering
Top AI Tools for Project Managers: My 2025 AI Stack
Building an Inclusive Web Accessibility Made Simple with Accessibility Analyzer

The 6 Rules for Modernizing Your Legacy Java Monolith with Microservices