What services may knowadvanced
Splitting a system into services is easy; the decision that matters is what they are allowed to know about each other, and the answer is a shared contract and an event rather than a reference and a call.
Ordering and Billing become separate services. The interesting question is not how to host two things — it is what they are allowed to know about each other.
Neither service references the other; both reference the shared contracts package.
Published in full, before you start — every point is one of these and there is nothing else.
Splitting a system into services is easy; the decision that matters is what they are allowed to know about each other, and the answer is a shared contract and an event rather than a reference and a call.