Just had a conference today and they talked about micro services. Seems the trend these days is to push a lot of little web api's and then make your products like legos by picking the services you need to complete the project. So literally your app could be made up of 20 different web api's, where each does their very own very specific task. As a developer I like this approach because you can really break the tasks down for your team and keep things very specific and simple to work on. Just better make sure when you change an api you are really careful since it could be used in a hundred different apps.
Microservices is not a new idea. It's old. It wasn't feasible back in the day because the amount of effort to maintain hundreds of services. For each service, you need a physical machine, sysadmins to maintain the machine, developers to maintain the app, and some deployment process for updates. One service is fine, but when you have hundreds of them, who's going to take care of it all?
Now with virtualization everywhere, Puppet/Chef/Ansible/Salt scripts for server maintenance and deploys, and recently Docker that can simplify deployment dependencies, the microservices idea resurfaced again. It's not a paradigm shift. It's like dusting off an old keyboard and you realized how awesome those springy keys were.