Really like this article from Glyph on how, and when to split up your monoservice into more services. I especially like his point that it's more about team construction than it is about engineering:
One thing about this insight that may disappoint some engineers is the realization that service-oriented architecture is much more an engineering management tool than it is an engineering tool.
I think this is a point people often miss when debating SPAs - teams often choose them because it allows them to separate a team to work on the frontend from a team working on the backend.
Similarly, the choice of GraphQL can be about allowing the frontend team more freedom to use data without having to directly interact with the backend team.
In these cases, the technology choices are driven by the mechanics of managing engineering teams, when we usually think of it being the reverse.