Which architecture to select for your application — Microservice or Monolithic?

Vijay S
2 min readFeb 12, 2022

--

Image Source: Revdebug.com

Microservice Architecture vs Monolithic Architecture

Key difference:

Microservice : Where the apps are built with small pieces of independent components that are integrated with APIs.
Monolithic : A single platform that compromise all relevant layers for an application like Database, Client Side UI, Server side application layer and managed in a single block.

Where it can be used:

Microservice : Complex application that needs to be built with integrating with multiple other applications. Large Scale systems that needs to be catering to multiple line of business.
Monolithic : Small application with 1 or 2 integrations, Application that can be built with single database and fewer tables to start with. As the vertical and horizontal scaling happens within the same application it can grow bigger.

Team needed:

Microservice Need a large team with different skill set based on the integrations. DB Skills, Front end Client Skills, API building skills, Technology on Integrating systems skills, DevOps Skills and so on.
Monolithic : Smaller team is required with specific technology to start with as it grows to a large application with more features the team size will be incremental however the skillset will be the same.

Pros:

Microservice : As built in small pieces, easy to develop and deploy small units, can be scaled horizontally (creating more number of services within the same infra).
Monolithic : Single technology so simple development as no multi language skills required. Tracking and monitoring is comparatively less complex as the entire application lies in single block.

Cons:

Microservice : Increasing complexity as multiple integrations and touch points, Security needs to be considered at every layer and every integrations, management of multi skill technology.
Monolithic : As the application grow, the code base will become huge and cumbersome, Swift or update to newer technology will be challenging and will become dependent.

Evaluate the purpose of your application and accordingly define the architecture so that it can be scaled.

--

--

Vijay S
0 Followers

IT visionary focus on digital transformation of organization, strong believer of breaking legacy is the way for organization growth