Microservices are when you design your app to be composed of many small “stand alone” services - all deployed independently. This may sound either fantastic or terrible depending on your point of view (or both at the same time!) but it is an emerging pattern for application development and deployment.
I recently did a talk on Microservices that was well received.
We kind of stumbled backwards into this at CloudBees - and have a bunch of systems that are essentially a (loose coupled) collection of microservices, which I talk about here:
The best way to think of a microservice is like a little unix single purpose app - which you combine together to do something useful on the command line.
Anyway - take a look at the presentation if you are interested in this - I plan to write about this some more soon about this emerging pattern.
The most common question asked was about latency - the assumption was that you would end up with a chain of remote (http?) calls with accumulated latency - but in practice the services fall out so that there aren’t too many “chains” like this (so far).
Microservices require a PaaS - or something like it. App deployment and management has to be cheap and easy and fast - this is part of the reason why we “fell” into it - we had a way to host apps on our own platform, so we started building our platform on our own PaaS.