Microservice architecture is a new way of developing an application as a suite of independently deployable and manageable small services talking to each other using web services(REST) or a message broker(AMQP). While there is no precise definition and others consider microservices to be simply an ideal, refined form of SOA(Service-oriented architecture ), each microservice should be relatively small so that it's easier for a developer to understand, use suitable framework and IDE, deploy, scale, easily isolate fault.