1. What is a micro-service?
A microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. (http://www.martinfowler.com/articles/microservices.html)
2. Can you explain what are the advantages of micro-services over a monolithic project?
A microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. (http://www.martinfowler.com/articles/microservices.html)
2. Can you explain what are the advantages of micro-services over a monolithic project?
- Change cycles are tied together in a monolithic application; a change made to a small part of the application requires the entire monolithc to be rebuilt and deployed.
- Scaling of a monolithic application requires scaling of the entire application rather than parts of it that require greater resource.
- Different tools/frameworks/languages can be employed by different microservices, allowing developers to choose the best tools for a specific task.