Niklas Heidloff

Application Modernization and Rabbits

What can rabbits teach us about application modernization? Learn to incrementally refactor a decade-old monolith into resilient, event-driven microservices.

Application Modernization and Rabbits
#1about 5 minutes

Using a rabbit analogy to explain application modernization

A simple analogy with rabbits illustrates the core benefits of modernizing monolithic applications, such as increased agility, better user experiences, and reduced costs.

#2about 3 minutes

Understanding the benefits and strategies for modernization

Microservices improve application resiliency, and key strategies for dealing with legacy code include retiring, rehosting (lift and shift), containerizing, or refactoring.

#3about 3 minutes

Comparing the legacy and modernized e-commerce applications

A demonstration shows the original 10-year-old Dojo-based e-commerce application and its modernized, container-based counterpart with a new UI.

#4about 3 minutes

Outlining the incremental eight-step modernization process

The modernization journey is broken down into eight incremental steps, starting from containerizing a Java EE monolith to implementing micro frontends.

#5about 5 minutes

Using tools to containerize a legacy Java application

The IBM Cloud Transformation Advisor and WebSphere Application Migration Toolkit are used to analyze legacy code and automate the process of moving it into a container.

#6about 5 minutes

Separating the frontend and migrating to open source

The application is refactored by separating the frontend and backend with REST APIs using a BFF pattern, then migrating the runtime from WebSphere to Open Liberty.

#7about 9 minutes

Using the strangler pattern to extract a microservice

The Strangler Fig pattern is applied to incrementally replace parts of the monolith, using the Mono2Micro tool to identify the catalog as the first microservice to extract.

#8about 6 minutes

Using event-driven architecture to decouple microservices

To avoid creating a distributed monolith with tight coupling, an event-driven approach with Apache Kafka is used for asynchronous communication between services.

#9about 5 minutes

Improving performance with modern runtimes and reactive code

Modern Java runtimes like Quarkus, combined with efficient JVMs like OpenJ9 and reactive programming patterns, can significantly improve application performance and efficiency.

#10about 7 minutes

Decomposing the UI monolith into micro frontends

The monolithic frontend is broken down into independent micro frontends using frameworks like Vue.js and single-spa, with RxJS for event-based communication.

#11about 15 minutes

Accessing the open source project and future plans

The complete sample application is available on GitHub with scripts for easy setup, and future work includes adding CI/CD pipelines for Kubernetes and OpenShift.

Related jobs
Jobs that call for the skills explored in this talk.

Featured Partners

Related Articles

View all articles
BR
Benjamin Ruschin
What Developers Really Need to Create Great Code Demos
Every developer on earth has, at some point, had another developer to thank for a breakthrough, a success, an aha moment they wouldn’t have had without coming across that blog post, that open-source contribution, that reply on socials or that humble ...
What Developers Really Need to Create Great Code Demos
BB
Benedikt Bischof
Using Java 17 latest features in real world projects
Welcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Ron Veen who introduced the audience to some of the most interesting features that got added to the Java language.About the speaker:Ron is a hig...
Using Java 17 latest features in real world projects
CH
Chris Heilmann
WeAreDevelopers LIVE days are changing - get ready to take part
Starting with this week's Web Dev Day edition of WeAreDevelopers LIVE Days, we changed the the way we run these online conferences. The main differences are:Shorter talks (half an hour tops)More interaction in Q&AA tips and tricks "Did you know" sect...
WeAreDevelopers LIVE days are changing - get ready to take part
DC
Daniel Cranney
Dev Digest 195: End of Likes, JavaScript’s a Zoo, and Messing with Bots!
Inside last week’s Dev Digest 195 . 👎 No more external likes 🤗 Needy programs 📉 The worst selling Microsoft product 🟨 JavaScript engines zoo 🍞 No more toasts! 🤖 Messing with bots 👔 Beware of fake job interviews 🗞️ Join over 150,000 developers alread...
Dev Digest 195: End of Likes, JavaScript’s a Zoo, and Messing with Bots!

From learning to earning

Jobs that call for the skills explored in this talk.

Rust and GoLang

Rust and GoLang

NHe4a GmbH
Karlsruhe, Germany

Remote
55-65K
Intermediate
Senior
Go
Rust
Java & Quarkus Architect

Java & Quarkus Architect

Paradigma Digital
Municipality of Valencia, Spain

Java
Azure
Kafka
Agile Methodologies
Continuous Integration
+1
Java & Quarkus Architect

Java & Quarkus Architect

Paradigma Digital
Municipality of Madrid, Spain

Java
Azure
Kafka
Agile Methodologies
Continuous Integration
+1