Monolithic Architecture
This is considered to be the "traditional" method of application development. Monolithic applications are designed with the intent of handling multiple related tasks. Components of monolithic applications are NOT independently deployable; they depend greatly on other components.
Pros
- Simple to develop
- Horizontal scalability
- Testability
Cons
- Components in a monolithic application are interdependent. If one goes down, the whole application likely will.
- Updating can be troublesome since you have to test the whole application rather than each component as you update them.
Microservice Architecture
Better known as microservices, microservice architecture structures applications as a collection of services. In a microservice application, components are independently deployable.
Pros
- Components are independent of one another, making for quick testing and development of each component.
- Future proof (adaptability)
- Allows for applications to be developed, tested, and delivered quickly
Cons
- Increased complexity
- Components may be independent, but they still need to work together to make the application work. A component may be able to function on its own, but it needs to be able to interact with the entire application.
Youtube Video
Other links:
https://microservices.io/
https://www.mulesoft.com/resources/api/microservices-vs-monolithic
Top comments (0)