Microservice is a form of service oriented to the architectural style. It is a software development technique. Microservice is a method for dividing large software applications into a loosely coupled module, in which each service executes a unique process and communicates through the API. The microservice style is usually organized according to the capabilities and priorities of the business.
Microservices make it easier to test and implement changes. Because each service is separate from the others, fault isolation is improved. Microservice architectures improve business agility with faster development and deployment of software compared to monolithic software architecture.
Microservices depend not only on the technology that is being configured to support this concept, but also on an organization that has the culture, knowledge and structures established so that development teams can adopt this model. Microservices are part of a broader shift in IT departments towards a DevOps culture, in which development teams and operations work closely to support an application throughout its life cycle and go through a rapid publishing cycle or even continuous instead of a traditional long cycle.
Run several instances of different services on a host (physical or virtual machine). There are several ways to implement a service instance on a shared host, which includes:
You must apply the microservice architecture pattern and design your system as a set of services. Each service is implemented as a set of service instances for performance and availability. Package the service as a virtual machine image and implement each service instance as a separate VM.