Blockchain

The IBM CIO organization’s application modernization journey: Mono2Micro

Legacy architectures of monolithic applications can be difficult to change, expensive to maintain, and pose business risks. In December 2022, Southwest Airlines canceled more than 13,000 flights due to outdated software systems and IT infrastructure. The collapse resulted in heavy losses for the airline and damaged its brand reputation. In contrast, Netflix pioneered microservices architecture and is a leader in the online streaming market, with more than 250 million subscribers in more than 200 countries.

Application modernization allows teams to develop reusable services that ultimately increase productivity and accelerate the delivery of new features.

In our last blog post, we outlined a step-by-step modernization approach, starting with runtime/operations modernization, followed by architectural modernization and refactoring monoliths into microservices. In this blog, we dive deeper into modernizing the architecture of Java™ 2 Platform, Enterprise Edition (J2EE) applications and explain how IBM Mono2Micro™ tools have accelerated innovation.

The following diagram shows the general J2EE architecture for a monolithic application. The various components, including client-side UI, server-side code, and database logic, are tightly coupled and interdependent. Because these apps are deployed as a single unit, small changes often result in long churn times.

The first step in modernizing the architecture is to separate the client-side UI from the server-side components and change the data exchange mechanism from Java objects to JSON. The Backend for Frontend (BFF) service makes it easier to convert Java objects to JSON and vice versa. Separation of frontend and backend allows you to modernize and deploy independently.

The next step in modernizing your architecture is to decompose your backend code into individually deployable macro services.

IBM Mono2Micro Tool accelerates the transformation of monolithic applications into microservices. IBM Mono2Micro is an AI-powered, semi-automated toolset that uses novel machine learning algorithms and first-of-its-kind code generation technology to support your refactoring journey to full or partial microservices. We analyze monolithic applications in a static and dynamic way and then provide recommendations on how the monolithic application can be partitioned into groups of classes that can potentially become microservices.

Here’s how Mono2Micro works:

Mono2Micro, one of the largest financial applications in the CIO portfolio, provided insight into code complexity, uncovering dependencies and interactions between classes across partitions.

Mono2Micro saved over 800 hours of manual work needed to evaluate, redesign, and develop microservices architecture. Setting up Mono2Micro can take 3-4 hours to understand the different components and how they work together to refactor your monolith. But it’s worth investing a few hours to save hundreds of hours converting a monolith into a deployable microservice.

In short, modernization tools like IBM Mono2Micro and Cloud Transformation Advisor have driven faster innovation and improved cost efficiencies, but the real differentiators are:

  • Platform: Right-size your infrastructure, from bloated on-premises virtual machines to cloud-native containers.
  • People: Building a community of developers to co-create and create a future-ready culture

Modernization drives innovation, strengthens system security, and simplifies data management through business agility. Most importantly, it improves developer productivity while providing cost efficiency, resiliency, and an improved customer experience.

Explore IBM Mono2Micro™ today

Related Articles

Back to top button