What is micro-services architecture -----

Hi guys, do you know something has been prevailing in this field for quite a while now is the need to move away from the usual traditional norms of application development and deployment to a more acceptable deployment architecture. If you are not from development you may not know with all due respect , however, before they used to build big projects but nowadays they are built in microservices, small components, then one can be deployed to customers has they are built instead of having one big (huge) product that takes time, money and resources its rather split into microservices in an agile methodology. The concept of microservices is that instead of developing all at once , we rather build into small components of each product. A critical example of such scenario is this let say a customer wants us to build an hospital management system that comprises of Doctor, Nurse , pharmacy, Admin, lab-technologies, help-desk, access-authentication and customer-analytics modules ,we could build one module(component) as microservice at a time test and deploy to customer instead of waiting till all the modules are built for the customer. So if a customer says he wants a particular module more we should be able to develop the additional product, we could create the Dockerfile for this module ,build the docker image with the jar, war file ,base-image (from dockerhub) ,put it all in a container and deploy that microservice .We could develop kubernetes deployment(Manifest.yaml) file for the app and deploy through kubernestes orchestration tool(k8s). Now the question What if you are asked the following what exactly would your response be

  1. What is Microservices Architecture
  2. Why is Microservice architecture preferred over Monolithic architecture, what advantages does this gives in software development life cycle.