Microservices: It is a software architecture style in which large and complex software system are divided into independent collaborating processes communicating with each other using language-agnostic APIs.
Microservices has a special approach of breaking a monolithic application into many smaller services that talk to each other, SOA has a broader scope.
Microservices are the kind of SOA we have been talking about for the last decade. Microservices must be independently deployable, whereas SOA services are often implemented in deployment monoliths. Classic SOA is more platform driven, so microservices offer more choices in all dimensions.