---
title: "A Practical Guide to the Journey from Monolith to Microservices"
source: "https://wordpress-1075849-4005834.cloudwaysapps.com/blog/a-practical-guide-to-the-journey-from-monolith-to-microservices/"
---

[Technical Blog](https://wordpress-1075849-4005834.cloudwaysapps.com/category/technical-blog/)

# A Practical Guide to the Journey from Monolith to Microservices

By [Daniel Oh](https://wordpress-1075849-4005834.cloudwaysapps.com/blog/author/daniel-oh/) on Apr 04, 2019 • 4 min read

More developers are keen on practices in terms of how they modernize monolith application into microservices easier, quicker, and smoothly. There are many microservices development frameworks such as Spring Boot and Linux container, container orchestration tools make it faster for your Microservices journey. When you develop a brand new application on top of Microservices architecture with this nice framework using an Agile methodology, it would be a perfect opportunity to make it happen without unexpected issues.

However, if you have to migrate or modernize your current monolith application to cloud-native or microservices application on top of Linux containers. That will be the real problem for most enterprise developers where they need to live in the cloud world.

## How to Modernize from Monolith to Microservices

The safe, easy way we approach to migrate and modernize applications is that we should separate 2 different methods for them. Let’s begin modernizing existing applications as below:

- Reuse existing functionality and data as much as possible

- Move existing workloads to a modern deployment platform

- Apply new processes, products, and technology to existing apps

Secondly, you get started to develop a new application as below:

- API-centric polyglot microservices architecture

- Autonomous development teams

- Agile development, continuous deployment, DevOps culture

- Containerized & orchestrated cloud deployments

Optionally, You want to consider *rehost*(aka lift & shift) for smaller or frozen application via small footprint application runtimes such as Spring Boot, Vert.x, Node.js, MicroProfile, JBoss EAP, etc.

![Diagram of Java EE app migration from legacy to modern EE platform, then to a container platform (rehost/lift & shift](/app/uploads/2019/03/0.png)

When you’ve done about lift & shift for rehosting, you want to *replatform*(aks lift & reshape) for highly scaled and high rate of change applications.

![Replatforming: Java EE app moves from legacy to modern platform, then to a container platform with microservices](/app/uploads/2019/03/0-1.png)

I’d like to share one of my customer’s success story when they adopt this approach and what their practices are for *the fast monolith* as below:

- Refactored to REST and JavaScript

- Adopted enterprise container platform

- Automated testing via open source tools

- Redefined Dev and Ops boundaries

- Continuous deployment pipeline

- Zero downtime release to production

- Release cycles from 3 months to 1 week

### Strangling the monolith

Another recommended practice to modernize enterprise applications is to *strangle the monolith*.

Strangling means incrementally replacing functionality in applications with something better(cheaper, faster, easier to maintain). As functionality is replaced, “dead” parts of monolith can be removed/retired. It includes new functionality during strangulation to make it more attractive to business stakeholders.

![Strangler fig pattern. Red box represents old system, blue is new. Arrows show traffic shifting incrementally to new system](/app/uploads/2019/03/0-2.png)

More importantly, you have to ask for yourself, your team & organization why you want to modernize from monolith to microservices at this time.

- What is your overall business objective for app modernization like biggest perceived risks?

- How much are you spending on app maintenance like lack of automation/IT standardization often the culprit?

- How long does it take to get changes into production and what is your success/fail ratio?

- How about the current skill set and do you need training on newer technology before modernization?

- Regulatory & compliance requirements such as regional CCSP workloads, data sovereignty?

## Conclusion

Application development teams are evolving their process, platform and architecture to meet modern business challenges. There are multiple technical solutions for application modernization depending on resources, regulations, and risk. In order to move faster than others, you should follow the path of modern application development that is called “*DIGITAL DARWINISM*” as below.

![Application modernization path: Reorg to DevOps, Self-Service Infra, Automation, Continuous Delivery, Advanced Deployment,](/app/uploads/2019/03/0-3.png)

Besides, you keep in mind to build a new digital architecture along with asynchronous, event-driven, anti-fragile, scalable, serverless, polyglot, reactive, microservices, agile, velocity features.

This article originated from http://www.linkedin.com/pulse/practical-guide-journey-from-monolith-microservices-daniel-oh/

[Daniel Oh](http://kr.linkedin.com/in/daniel-oh-083818112) works as a principal technical product marketing manager at Red Hat as well as CNCF ambassador to encourage developers’ participation of cloud-native app development at scale and speed.

————————————————-

[**Free Online Training**](https://wordpress-1075849-4005834.cloudwaysapps.com/events/)

Access Live and On-Demand Kubernetes Tutorials

[**Calico Enterprise – Free Trial**](https://www.calicocloud.io/home)

Solve Common Kubernetes Roadblocks and Advance Your Enterprise Adoption

[Best Practices](https://wordpress-1075849-4005834.cloudwaysapps.com/tags/best-practices/)

Add Tigera as a preferred source on Google to see more of our content in your search results.

[![Add as a preferred source on Google](https://wordpress-1075849-4005834.cloudwaysapps.com/app/themes/tigera2021/dist/img/google-preferred-source-light.png)](https://www.google.com/preferences/source?q=tigera.io)

## Related posts

[![Calico Load Balancer: Simplifying Network Traffic Management with eBPF](https://wordpress-1075849-4005834.cloudwaysapps.com/app/uploads/2026/03/Calico-Load-Balancer-Simplifying-Network-Traffic-Management-with-eBPF.png)](https://wordpress-1075849-4005834.cloudwaysapps.com/blog/calico-load-balancer-simplifying-network-traffic-management-with-ebpf/)

#### [Calico Load Balancer: Simplifying Network Traffic Management with eBPF](https://wordpress-1075849-4005834.cloudwaysapps.com/blog/calico-load-balancer-simplifying-network-traffic-management-with-ebpf/)

By [Aadhil Abdul Majeed](https://wordpress-1075849-4005834.cloudwaysapps.com/blog/author/aadhil-abdul-majeed/)
on Mar 21, 2026

Authors: Alex O’Regan, Aadhil Abdul Majeed Ever had a load balancer become the bottleneck in an on-prem Kubernetes cluster? You are not alone. Traditional hardware load balancers add cost, create coordination overhead, and can make...

[Read more](https://wordpress-1075849-4005834.cloudwaysapps.com/blog/calico-load-balancer-simplifying-network-traffic-management-with-ebpf/)

[![Lift-and-Shift VMs to Kubernetes with Calico L2 Bridge Networks](https://wordpress-1075849-4005834.cloudwaysapps.com/app/uploads/2026/03/Mar-20-Lift-and-Shift-VMs-to-Kubernetes-with-Calico-L2-Bridge-Networks.png)](https://wordpress-1075849-4005834.cloudwaysapps.com/blog/lift-and-shift-vms-to-kubernetes-with-calico-l2-bridge-networks/)

#### [Lift-and-Shift VMs to Kubernetes with Calico L2 Bridge Networks](https://wordpress-1075849-4005834.cloudwaysapps.com/blog/lift-and-shift-vms-to-kubernetes-with-calico-l2-bridge-networks/)

By [Aadhil Abdul Majeed](https://wordpress-1075849-4005834.cloudwaysapps.com/blog/author/aadhil-abdul-majeed/)
on Mar 20, 2026

On paper, lift-and-shift VM migration to Kubernetes sounds simple. Compute can be moved. Storage can be remapped. But many migration projects stall at the network boundary. VM workloads are often tied to IP addresses, network...

[Read more](https://wordpress-1075849-4005834.cloudwaysapps.com/blog/lift-and-shift-vms-to-kubernetes-with-calico-l2-bridge-networks/)

[![AI Assistant for Calico: Troubleshooting at the Speed of Thought](https://wordpress-1075849-4005834.cloudwaysapps.com/app/uploads/2026/03/Blog-Mar-20-AI-Assistant-for-Calico.png)](https://wordpress-1075849-4005834.cloudwaysapps.com/blog/ai-assistant-for-calico-troubleshooting-at-the-speed-of-thought/)

#### [AI Assistant for Calico: Troubleshooting at the Speed of Thought](https://wordpress-1075849-4005834.cloudwaysapps.com/blog/ai-assistant-for-calico-troubleshooting-at-the-speed-of-thought/)

By [Veronika Smolik](https://wordpress-1075849-4005834.cloudwaysapps.com/blog/author/veronika-smolik/)
on Mar 19, 2026

Despite the wealth of data available, distilling a coherent narrative from a Kubernetes cluster remains a challenge for modern infrastructure teams. Even with powerful visualization tools like the Policy Board, Service Graph, and specialized dashboards,...

[Read more](https://wordpress-1075849-4005834.cloudwaysapps.com/blog/ai-assistant-for-calico-troubleshooting-at-the-speed-of-thought/)

<!-- plugin=object-cache-pro client=phpredis metric#hits=6147 metric#misses=17 metric#hit-ratio=99.7 metric#bytes=2169973 metric#prefetches=0 metric#store-reads=418 metric#store-writes=14 metric#store-hits=428 metric#store-misses=6 metric#sql-queries=32 metric#ms-total=893.68 metric#ms-cache=44.52 metric#ms-cache-avg=0.1033 metric#ms-cache-ratio=5.0 -->
