Microservices - bradyclifford/sdlc GitHub Wiki
Pending ...
- Team communication: Teams often need to communicate to solve integration problems, which may lead to politics and governance issues.
- Coupling: It’s extremely important to achieve loose coupling between services, otherwise you will easily end up with a distributed monolith.
- Quality criteria: To find what's really needed regarding consistency, performance, scalability and robustness you should do an early assessment of your application.
- Technology: Although REST is commonly used, it’s not the only option for communication.
Challenges
- Service discovery. A way for a service to find the URLs of services it communicates with.
- Resilience, including how errors and downtime is handled. A graceful degradation of services is important to avoid one malfunctioning service taking a whole application down.
- Load balancing, to be able to handle increasing load. This can be achieved in different ways, depending on the environment the application is running in.
Resources: