We know it's useful to split complex systems into logical services. We feel the benefits of modular deployment of microservices, and our cognitive load is eased when we only deal with one piece of code at a time. But how do we know where to draw the service boundaries? In complex business domains, it's often difficult to know where to start. And when you get your boundaries wrong, it's often only a matter of time before you hear yourself say "it would be easier to re-write everything".
Join Adam as he shares practical advice on how to discover the service boundaries hidden in your systems. We'll examine a sample business domain and discover the techniques we can apply to tease out the natural separation of concerns. We'll investigate some of the common pitfalls, including some of the crazy mistakes Adam has made during the last 20 years of developing complex systems.