A proof of concept is being turned into a governed modernisation plan. Why does 'convert every module into its own microservice' fail as a general guideline?
Select an answer to reveal the explanation.
Short Explanation
Every service you create is something someone has to deploy, monitor, and version. That cost only pays off when the module actually needed to stand alone, so blanket splitting fails when granularity becomes the goal.
Full Explanation
The answer that identifies granularity as the goal itself rather than a means is correct because converting every module into its own microservice creates operational overhead—deployment, networking, monitoring—that is not justified unless the module actually benefits from independence. Decomposition should be justified by a real benefit, such as independent scaling, independent release cadence, or a clear ownership boundary, and each unjustified split adds operational surface area without adding value. Boundary coherence is a related concern, but the question is about the guideline's general failure mode, which is treating fragmentation as an end in itself. The option claiming that more services automatically improve resilience and that splitting components before defining ownership makes the resulting system easier to operate and support is wrong because premature splitting and unclear ownership increase operational complexity and make support harder, not easier. The option claiming that microservices cannot call one another once deployed, so splitting a cohesive module breaks it, is incorrect because microservices communicate constantly by design, typically over APIs or messaging; the objection to over-splitting has nothing to do with an inability to communicate. The option claiming IBM watsonx Code Assistant for Z is only able to generate monolithic Java applications is incorrect and does not describe a real constraint of the tooling. For the exam, remember that the objection to blanket microservice conversion is unjustified operational cost, not a technical inability to split code.