What's Microservices ?
Small application that can be deployed independently, scaled independently, and tested independently and that has a single responsibility.
Single responsibility does only one thing and thing alone. In addition it can be easily understood.
One thing might be a single responsibility in terms of a functional requirement, or it might be a in terms of a non-functional requirement or cross-functional requirements.
Why Microservices now ?
Big application! It's difficult to actually any make functional changes to it. It's necessary to deploy this application into the cloud. It's necessary software as a service, but at the moment that is impossible.