Member-only story

The Steps I Take to Transition from SOA to Microservices

Rafael A. George Duval
1 min readOct 21, 2024

--

Sometimes, there are better solutions than services for managing a codebase.

More defined boundaries between services can improve the coupling problem.

The size of each service should match the structure of the team managing it. If a codebase is too large for a small team to handle, it makes sense to break it down into more minor services. In a monolithic application, only one point of access is usually available.

As applications grow, their complexity increases, both accidentally and intentionally.

Additionally, confidence often decreases unless there’s a suite testing many services. The idea that services are the only way to isolate complexity isn’t entirely accurate; this can be achieved without using services.

The key is that the team agrees on a straightforward interface for communication among different areas.

That interface should be a domain event, the highest level of decoupling between sub-modules within a system.

By applying these principles to existing code, each piece can have a known set of inputs and a single output, the domain event. Yet, this approach requires a level of discipline that many teams may not be used to.

--

--

Rafael A. George Duval
Rafael A. George Duval

Written by Rafael A. George Duval

✍🏼 Building a Solo Digital Media Company 🧪 Snippets of Text [https://snippetsoftext.substack.com/subscribe]

No responses yet