Microservices Without DDD is Risky Business!
Just about everyone is doing microservices these days, at least that's what they're claiming. Microservices is the new black! But, how well are they really doing? When breaking things up there is a risk of ending up in the same rut as SOA did a decade ago, this time creating distributed monoliths. Is it at all possible to reach the promised land consisting of autonomous, cohesive, and loosely coupled services that can give your business the necessary agility in a competitive market?
Scientific research has shown that loosely coupled and well-encapsulated architectures is the most central factor in IT success, but it is critical that it is done the right way. Domain-driven design is often mentioned as an essential technique, especially modularising using bounded contexts that reflects the business domain. Combined with service-orientation this can lead to sustainable designs rooted in and governed by the business strategy. We will have a closer look at central aspects from both tool boxes, focusing on designing robust and autonomous modules that can be built and maintained independently by stable product teams. Since the business agility is constrained by the technical agility, these teams can now focus on building great products instead of fighting the architecture.
This is my oldest talk, actually first held in 2016. It has evolved a lot since then, with more data from the industry and personal experience. Have done it both online and live at conferences like NDC, Build Stuff, NDC. Recordings have gotten 7k+ views on YouTube, links can be found on my LinkedIn page https://www.linkedin.com/in/trondhjort/.
Senior IT Consultant and sociotechnical practitioner.