Don't jump into using microservices.
Let the problems drive that decision.
In reality, most of us will rarely justify the use of microservices.
When making changes, always reconstitute the whole aggregate.
Even if it's a tiny change.
That way you can verify no business constraint is broken.
You can always optimize this later on.
Don't wait for long running jobs.
Instead, return quickly with a JobHandle object, that can be used to track the progress of the job.