What Does Microservices Mean?
A microservice is a modular software component that does one defined job. Microservices, which have become the default architecture for software development, can run as a process on an application server, virtual machines (VM) or container.
Each microservice is a mini-application that has its own business logic and adapters for carrying out functions such as database access and messaging. The resulting application will have small, loosely-coupled components that communicate with each other using lightweight communication protocols. Microservices typically communicate with each other using Application Programming Interfaces (APIs).
Techopedia Explains Microservices
Microservices are increasingly being used to develop distributed software applications that run in the cloud. Their smaller code base facilitates faster development, testing and deployment. Because each transaction involves the transmission of messages across a network, however, it's important to consider network security, reliability and latency when considering moving to a microservice architecture.
Advantages of Microservices
- Multiple teams can work independently on the same component.
- Each of the components can be scaled independently.
- Each component's small code base enables the development team to produce updates more quickly.
- The independent functional nature of a microservice promotes better reusability of the code across applications.
Disadvantages of Microservices
- A microservices architecture requires API management and a Zero Trust security strategy.
- Multiple microservices need to be monitored as one single application.
- Version management can be challenging when the same component has to call the latest version of a component for one client and a previous version of the same component for another client.