Isolation and composition – a contradiction?
The design principle isolation that was introduced in the previous chapter and composability that is introduced in this chapter might seem to contradict each other. How can you have autonomous services if you compose larger services out of smaller ones? Wouldn't that mean that the composed service is dependent on the smaller services?
The answer is that service composition promotes isolation of services. Isolation is viewed from the perspective of consumers, a consumer should be able to invoke a service independently without needing to know if other services need to be invoked before or afterwards. Service composition wraps such dependencies and knowledge of how to combine them into a separate service, thereby hiding this from the consumer and offering a new autonomous service.
Isolation is also known as loose-coupling, too many dependencies between services make them tightly coupled and therefore harder to change. As you know from the previous...