Microservices are based on architectural approach of plug and play. We can create a big software which consists of smaller independent services that communicate through a channel of APIs.
As each service is independent of another, its way easier to scale up without affecting other services. Services need not share the code with other services. Each service is meant to solve a specific problem. For eg. if we have a service for login, it will be focused on getting and authenticating user details like username, password. This separation helps in easily updating, deleting the service. The risk of failure of entire application is relatively less due to a change in a single service. This architecture also provides an ease of customizing application within shorter time span.