• PeriodicallyPedantic@lemmy.ca
    link
    fedilink
    arrow-up
    15
    ·
    7 months ago

    IMO there are two underrated benefits:

    1. It enforces separation of concerns
    2. It provides options to OPS.

    Designing for micro services doesn’t mean you need to deploy it as micro services. You can deploy it as a monolith and configure it too skip the network stack

    • ☆ Yσɠƚԋσʂ ☆@lemmy.ml
      link
      fedilink
      arrow-up
      4
      arrow-down
      2
      ·
      7 months ago

      I very much agree with designing things in style of microservices in terms of having isolated components that can be reasoned about independently. In my experience, this is the only way to keep large projects manageable. Incidentally, this is also why I’ve come to appreciate functional approach with immutability as the default. It makes it much easier to write largely stateless code where all the IO happens at the edges, and then you just pass your context around explicitly through pure functions.