The Author Online Book Forums are Moving

The Author Online Book Forums will soon redirect to Manning's liveBook and liveVideo. All book forum content will migrate to liveBook's discussion forum and all video forum content will migrate to liveVideo. Log in to liveBook or liveVideo with your Manning credentials to join the discussion!

Thank you for your engagement in the AoF over the years! We look forward to offering you a more enhanced forum experience.

lutzhank (61) [Avatar] Offline
Hello Chris,

I would be interested in learning more about resolving all kinds of dependency cycles, Not just on design level (resolvable by DIP), but also on the component and especially on service level (cycle between large business components), with the goal to reach a maintainable architecture again.

Would Microservices qualify as measure to disentangle coupled services?

Are you planning to address this subject?

Kind Regards,

Lutz Hankewitz
chris.birchall (13) [Avatar] Offline
Re: Serivce Dependencies and removal of cycles
Hi Lutz,

Thanks for the feedback!

I hadn't given much thought to dependency cycles specifically, but in the chapter on re-architecting I am planning a section on "spaghetti services", e.g. services that communicate with each other using over-specific point-to-point APIs. I could certainly address the subject there.

Microservices are certainly one way to tackle the problem, but they also come with their own downsides. While microservices are fashionable these days, and they do provide benefits such as allowing teams to be more autonomous and iterate faster, they are not an architectural panacea. For example,

* unless they're done well, microservices can result in unacceptably high latency for the end user
* controlling the versioning of each service's API can be very hard work, especially if you (knowingly or accidentally) introduce a breaking change to an API
* the operations cost of keeping dozens of services running 24/7 shouldn't be underestimated

All in all, this is a fascinating subject. There are still a lot of unsolved problems in the world of microservices, so I can't pretend to have all the answers, but I'll try to fit a discussion of the subject into the book somewhere.

lutzhank (61) [Avatar] Offline
Re: Serivce Dependencies and removal of cycles
Hi Chris,

thanks for the reply. The section about "spaghetti services" in the book sounds promising.

Thanks also for your thoughts about microservices, an interesting subject indeed.

Looking forward to read about Re-architecting.