Microservice Architecture – Devstringx
Prior to Microservices architecture, Monolithic architecture was in practice in which all the software components are grouped together into a single package (code for different features remains on the same server). Microservice architecture is a design pattern for Service-Oriented Architecture (SOA) in which the application is divided into small components and each component is developed and deployed independently, each service is autonomous and implements a single business function.
Major Features:
- As a Component –
- Microservice is treated as independent components which can be deployed independently.
- Coupling –
- All microservices are loosely coupled with one another which ensures that changes done in one do not affect other microservices.
- Troubleshooting –
- With microservice troubleshooting, the fault becomes easy as only the affected microservice will go down and the rest will continue to function.
- Autonomous –
- As microservices are treated autonomy and independent so different development team can work independently.
- Focused –
- Each microservice is developed to deliver only one business task.
Challenges:
- Distributed System –
- Different technologies will be used to develop microservices which increases complexity.
- Monitoring –
- It will have more services to monitor in comparison to Monolithic architecture.
- Costly –
- Microservice Architecture is costly as different servers need to be maintained for different services.