Consideration While Moving to a Microservices
Architecture How do you organize your codebase? Do you
create a repository for each service/do you create a single 'mono
repo' for all services? How do you do CI & CD?
Very difficult to decide on the technology stack for a
monolithic application but for microservice bit less decision but
have to decide the technology.
Balanced approach need to take where there is a preferred
technology stack across the application.
Find the pros and cons of why a different stack is more
suitable for microservice(language, testing, logging, security etc
framework, cloud provider if wanted to upload, infrastructure,
storage(cloud base), monitoring tools support etc.).
Level of Independence
Microservice should completely independent as well as Database
and UI side.
Can share some components across the microservices mostly
Database upto certain extend.
Spend time finding ways to ensure consistency after converting.
Infrastructure and Monitoring
Need to select correct patterns such as API gateway, service
discovery and hybrid pattern etc
Load balancing and scaling
Create a repository for each service/only one(Mono) repository,
you need to decide.