How to Split a Monolith: Service Architecture and Domain-Driven Design