Microservices vs Modular Monoliths in Production

We ran 14 microservices in production. Kafka, Kubernetes, distributed tracing, service mesh — the full setup. 🔧 And it was the right call for what we were solving: hundreds of millions of events a month, teams deploying independently, components that genuinely needed to scale at different rates. But I've worked with teams a fraction of that size running the exact same architecture — because microservices felt like the right thing to do. And they're still paying for it today. Debugging across 12 service hops. Devs spending more time managing infra than shipping features. Onboarding that takes weeks instead of days. 😅 Spring Modulith changes the question you ask at the start. Instead of "how do we split this into services," you ask "do we actually need distribution right now?" 🤔 You still get hard module boundaries enforced by the framework, clean event-driven communication, and a single deployable unit that's dead simple to run locally. The pattern I'd follow now: start with a well-modularized monolith. When a specific boundary genuinely needs to scale independently or deploy on its own cadence — extract it then. Not before. 🚀 Distribution is a solution to a real problem. Not a starting point. What are you running in production — microservices or a modular monolith? Would love to hear where teams actually landed. 👇 #Java #SpringBoot #SpringModulith #Microservices #SoftwareArchitecture #FullStackDeveloper #C2C #Remote #BackendDevelopment

  • graphical user interface, application

To view or add a comment, sign in

Explore content categories