<story><title>Challenges of micro-service deployments</title><url>http://techtraits.com/microservice.html</url></story><parent_chain></parent_chain><comment><author>manigandham</author><text>I&amp;#x27;ve yet to see a big reason for this whole SOA &amp;#x2F; microservices architecture other than in 2 specific instances:&lt;p&gt;1) massive projects with lots of developers&amp;#x2F;teams that work on well-defined functionality&lt;p&gt;2) massive projects that need to have precise capacity at each service level rather than the application level&lt;p&gt;Other than these situations, monoliths (both in architecture and deployment) will likely be faster, easier, more reliable and more productive.</text></comment>
<story><title>Challenges of micro-service deployments</title><url>http://techtraits.com/microservice.html</url></story><parent_chain></parent_chain><comment><author>voodootrucker</author><text>The only good way I&amp;#x27;ve found to do it is to have each service define it&amp;#x27;s logical (network) dependencies in a formal way, just like it does with it&amp;#x27;s GAV dependencies (including versions). This way the graph can be statically analyzed, cycles and transitive conflicts can be identified, deployment and roll back can be automated, the graph can be output to graphviz and visualized, and an automated tool can set up QA environments with a given vector of versions.&lt;p&gt;All that being said, the above setup only addresses about 1&amp;#x2F;2 the problems mentioned in the post.</text></comment>