Re: There is no silver bullet
Service Oriented Architectures do work well in my experience, but making everything stateless isn't a solution when you need transactional integrity, as all systems writing data to a database do.
This is indeed the problem. The other trend I'm seeing now is each microservice to store data pertaining to that service in its own database. Which is fine, until you need to do something transactionally across multiple services, i.e. create an order and update the user's account at the same time.
So what ends up happening is someone writes an orchestration layer that wraps up calls to those individual services in a transaction-friendly way, but by then you're pretty much back to what you started with 5 years ago.
Overall though I do like the idea of microservices, especially the easy-release cycle that it allows. But - as every single poster has correctly pointed out - it does NOT negate the need for proper integration testing!