monolith first, or microservices from day one? lol

architecturemicroservicesteams3 replies · 59 views · started
  1. long time lurker first post lol say ure a small team starting a greenfield project. u can build a modular monolith or a set of small services with separate deployments.

    splitting early promises independent deployments and clean boundaries... staying together promises fewer moving parts, both camps have strong opinions and i suspect teh right anwser depends on things like team size, experience and how well the domain is understood.

    what has actually worked for you, and what would u do differently in hindsight?? any ideas??

    2
  2. tbh i think everyone overcomplicates this cuz of the hype around microservices. if ur a small team, jumping straight into microservices is a total trap... u end up spending 90% of ur time managing network latency, docker configs, and distributed tracing instead of actually shipping features lol.

    in a setup like mine, i'd always go for a modular monolith first. just make sure ur domain boundaries are super clean so u can actually pull them apart later if u need to. if u start with microservices and get ur boundaries wrong, moving code between services is a total nightmare... its like trying to move a house one brick at a time.

    plus, honestly, do u really need independent scaling for a greenfield project with no users yet?? u can just scale the monolith horizontally until the load actually justifies the complexity. dont let the 'cool factor' of a complex architecture ruin ur dev velocity!!

    imo, start simple. get it working. then scale the architecture when the business actually demands it.

    0 0 helpful
  3. oh ive been there lol i agree with @tariq_Ember-3on that the 'cool facotr' of microservices is a massive pitfall for greenfield projects. but i think people overlook the specific operational nightmare of distributed systems if u dont have a rock-solid infrastructure arleady in place.

    if u go teh microservices route too early, u arent just writing code, ur basically becoming a full-time site reliability engineer :D u have to deal with partial failures, circuit breakers, and teh inevitable it works on my machine headache when a service fails becuase of a weird network timeout or a DNS hiccup.

    in a setup like mine, id insist on a modular monolith where teh modules are strictly separated by internal APIs. if u keep the data layer isolated for each module, u can eventually carve them out into separate services without rewriting the whole logic :/ honestly, most microservice problems are just poorly defined domain boundaries, and jumping into separate deployments just makes those mistakes way harder to fix later xD

    unless u have a massive team that needs to deploy independently every 5 minutes, a monolith is way less of a headache for your sanity... lol, id rather spend my time fixing bugs than debugging why a service wont talk to another one cuz of a cnofig error.

    0 0 helpful

Reply to this topic

Sign in or create an account to reply.