News for hackers. Stuff that matters.
Re:Distributed Systems Reading List by kortex on Tuesday December 08, 2020 @09:10AM (#25345266)
The trick is to find "fault lines" throughout your monolith - places where it's easy to create separation of concerns and narrow interfaces. Maintain and document these like they are external APIs. Only pass simple data through it (serialized or anything easy to serialize).

When the time comes, cleave these chunks off and wrap them in RPC/REST/graphql.

It's good form even for monoliths since it makes for an easy interface to test.

Re:Distributed Systems Reading List by alexjplant on Tuesday December 08, 2020 @03:06PM (#25350640)
+1 to you sir. I was just having a discussion this past weekend with some technical friends and noted that a well-architected monolith often lends itself to easy deconstruction such that you get the best of both worlds when they're necessary in your product lifecycle.
Re:Distributed Systems Reading List by herodoturtle on Wednesday December 09, 2020 @01:26AM (#25355910)
Good tip, and I learnt some new terminology too ("fault lines").

I guess the trick when building new monoliths is to identify these fault lines up front - as opposed to hopefully finding them later.

Will certainly guide my development going forward, thanks.