CC-Project-Architecture-Repo

Regarding my current project I want to use "Microservice-Based-Architecture" since they are easier to debug, escalate and therefore maintain baseides there is no heavy-weight tasks and no need for example for an event driven architecture.

while I try to find suitable reasons why I want to use the microservice ; on the one hand ; I find that this architecture has a lot of advantages by comparing it to the traditional archecture as the following:

  1. fault isolation: it deals with modules so when single module encounter a failure this will not affect the larger application so it works correctly.
  2. solve what is so called as "Technology lock-in":so the developer feel free to try out any new technology without any limitation or restrections,
  3. highly scalable, ease of understanding and ease of deployment

on the other side there are a little bit potential challenges that might be accompained with using this type of architecture such as the following:

  1. it is suitable for large companies
  2. it is sometimes complex to communicate between service and the other because of the "independencies"; and the coders have to write extra modules to avoid or prevent "crashing".

to sum up; microservice has numerous pros and cons ; but is pros overweigh its cons and with training all of the mentioned drawbacks can be handeled.