Micro Services
Micro Services
Advantages:
Improved Scalability
Fault Isolation
Localized Complexity
Increased Agility
Simplified Debugging & Maintenance
Better correspondence of developers with business users.
Smaller development teams
Better scope for technology upgradation.
Disadvantages:
Complicated as a whole.
Requires accurate pre-planning
Modular dependencies are hard to calculate.
Less control over third party applications
Modular Interdependencies are challenging to track.
More opportunities for malicious intrusions.
Complete end-to-end testing is difficult.
Deployment Challenges.
Monolithic Architecture:
o In Monolithic Architecture, all software components of the application
are assembled and packed tightly.
o In this type of architecture, different components of an application like
UI, business logic, data access layer are combined into a single
platform or program.
Microservices Architecture:
o Microservices Architecture is a collection of small functional modules.
These functional modules are independently deployable, scalable,
target specific business goals, and communicate with each other over
standard protocols.
o It is a type of SOA in which a series of autonomous components are
built and combined to make an app. These components are integrated
using APIs. This approach focuses on business priorities and
capabilities and offers high agility, i.e. each component of the app can
be built independently of the other.
Cohesion and Coupling
The strength of dependencies between services in a microservice architecture is said to be
coupling. Cohesion refers to the related logic between two or more services. The entire
concept of microservices is based on the ability to deploy and update service while keeping
other services intact. Hence, loose coupling and high cohesion is the key to a microservice
design.