Member-only story
Is Your Microservices Architecture Making Things Worse?
Microservices may only sometimes be the best solution for codebase management.
Every month, I speak with clients interested in service-oriented architecture or microservices, and they often have similar reasons for considering this approach.
Companies often cite seemingly harmless process problems, like longer lead times to add new features due to large amounts of code, extended code review time because of a vast codebase, introduction of bugs in unrelated areas due to a small change, and extended test suite run times due to complex code, as reasons for shifting to a service-oriented architecture.
Microservices is not a software architecture but a deployment strategy.
Teams that fail to manage this complexity face multiple issues at different levels as their applications grow. Due to increasing data dependencies, tests become more challenging to maintain and run slowly.
While microservices seem like an excellent solution to these problems, if proper decoupling between systems is needed, more than a well-defined API may be required.
Due to poor decoupling, adding 30 lines of code in four files may require changes across multiple services, resulting in a much more complex and…