Microservices vs SOA vs Monolithic

Microservices

It’s a subset of SOA style that develops a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. Those services are built and deploy independently.

ProsCons
Cost effective to scaleDeep learning curve
Preserve modularitySometimes it might be hard to define boundaries
AvailabilityHave to pick a messaging mechanism
Partial deployment
Multiple platforms, technology independent
Easy adaption to cloud

Service-Oriented Architecture

It’s an architectural style that is widely adapted by enterprise to build applications as a collection of services.

ProsCons
Easier to reuse components as servicesHigh cost in upfront development
Services as contracts / interfacesComplex service management
Scalability with load balancing
Upgradation: easier to roll out new version of services

Monolithic

It is a traditional architecture type which has been widely used in the industry. It is typically technology-focused and has 3 layers for entire application – user interface, business logic and database access, and they’re usually tightly coupled.

ProsCons
SimplicityVery large code base hence hard to make changes
ConsistencyOne module failure affecting entire system
Scalability
Inability to easily adapt to new technology

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s