👋 Welcome! A tech blog where a backend developer shares experiences in Backend, Infrastructure, Troubleshooting, and more ✨
Architecture & Design

Architecture & Design

Sharing system architecture and design decisions and experiences.

All Posts

MSA Was Too Much for Us - Our Journey to Modular Monolith

Hello. I’m Jeongil Jeong, a backend developer working at a proptech platform. Our company had successfully completed a zero-downtime migration from a legacy Java Servlet monolithic service to MSA and was operating it in production. The process wasn’t easy, but we learned a great deal by experiencing...

Read more →

February 20, 2026

[Reflections on MSA 7/7] Do We Really Need MSA?

Previous: [Reflections on MSA 6/7] Event-Based Data Consistency Issues and Solutions in MSA Over the past six parts, we’ve explored various aspects of MSA. How to divide services, how to communicate between them, how to respond to failures, and how to separate data while maintaining consistency. I’v...

Read more →

January 22, 2026

[Reflections on MSA 6/7] Event-Based Data Consistency Issues and Solutions in MSA

Previous: [Reflections on MSA 5/7] How Should We Separate Data? In the previous part, we explored why we should separate DBs in MSA environments and how to solve the JOIN problem after separation. There were two methods: API Composition and Data Replication. But choosing “data replication” doesn’t m...

Read more →

January 21, 2026

[Reflections on MSA 5/7] How Should We Separate Data in MSA?

Previous: [Reflections on MSA 4/7] How Failures Propagate and Where We Should Break the Chain In the previous part, we explored how failures propagate in MSA environments and various patterns to prevent them. From Timeout, Retry, to Circuit Breaker, there were many different approaches. But there’s ...

Read more →

January 20, 2026

[Reflections on MSA 4/7] How Failures Propagate and Where We Should Break the Chain

Previous: [Reflections on MSA 3/7] Inter-Service Communication in MSA - How Should We Do It? In the previous part, we looked at communication methods between services in an MSA environment. We had various options from REST, gRPC, to message queues. However, regardless of which communication method y...

Read more →

January 19, 2026

[Reflections on MSA 3/7] Inter-Service Communication in MSA - How Should We Do It?

Previous: [Reflections on MSA 2/7] How to Divide Services in MSA In the previous episode, we looked at how to divide services and the principles and considerations for setting boundaries. One of the things I thought about most while working in an MSA environment was “inter-service communication.” Wh...

Read more →

January 16, 2026

[Reflections on MSA 2/7] How to Divide Services in MSA

Previous: [Reflections on MSA 1/7] What is MSA (Microservices Architecture)? In the previous episode, we explored the concept of MSA, its background, and various alternatives. If you’ve decided to adopt MSA, you now face the first question. “How do we divide services?” Why is this question important...

Read more →

January 15, 2026

[Reflections on MSA 1/7] What is MSA (Microservices Architecture)?

As developers, I think we all encounter moments when we find ourselves pondering about MSA (Microservices Architecture). Each time, we fall into various considerations. I’ve also had moments of contemplating MSA before. However, it was mostly at the level of side projects or reading development arti...

Read more →

January 14, 2026

From 16 Repositories to One - MSA Multi-Module Migration Story

Introduction Hello. I’m Jeongil Jeong, a 3rd-year backend developer working at a proptech platform. In March 2025, I joined the team and went through the process of converting 16 backend projects managed in individual Repositories into a multi-module structure based on a single Repository. I’d like ...

Read more →

October 16, 2025

Is Gradual MSA Transition an Illusion? - Battling with Tightly Coupled Legacy Services

Hello, I’m Jeongil Jeong, a 3rd-year backend developer working at a proptech platform. I joined the team recently in March, and like many companies, our team was undertaking the grand journey of transitioning legacy services to Microservices Architecture (MSA) for better scalability and maintainabil...

Read more →

July 21, 2025