Nick Sutterer: when you use bounded contexts properly in a DDD application, slicing later along their borders into microservices is much easier. Inter-context communication should go through public messaging contracts, not by publishing internal events, to avoid leaking current implementations across services.