DEV Community

kevinhughes1335
kevinhughes1335

Posted on

Monolithic vs Microservice Server Architecture

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

https://youtu.be/VXk5aOLqxAA

Other links:

https://microservices.io/
https://www.mulesoft.com/resources/api/microservices-vs-monolithic

Top comments (0)