| Domains | Issues covered | Architectural patterns/evaluation criteria |
| Data management | Which architecture to adopt for data management (reading, writing)? | Database per service |
| API Composition | ||
| SAGA | ||
| Domain Event | ||
| Event sourcing | ||
| Test management (Testing) | How to test processes involving several microservices? | Testing of service components |
| Service Integration Contract Testing | ||
| Deployment | How to deploy services written in different languages while ensuring devops requirements? | Multiple service instances per host |
| Service instance per container | ||
| Serverless deployment | ||
| Cross-cutting concerns | How to allow a service to run in multiple environments without modification? | Externalized configuration |
| Communication style | How to make services communicate? | Remote Procedure Invocation (RPI) |
| Message exchange (Messaging) | ||
| External API | How do clients access individual services? | API Gateway |
| Backends for frontends | ||
| Service discovery | How does the client of a service, the API gateway or another service, discover the location of a service instance? | Service Registry |
| Client-side service discovery | ||
| Server-side service discovery | ||
| Self-registration | ||
| Reliability | How do you prevent a network or service failure from affecting other services? | Circuit breaker |
| Security | How do you communicate the identity of the applicant to the departments processing the software? | Access token |
| Observability | How to understand the behavior of a software and solve problems? | Log aggregation |
| Implementation measures | ||
| Distributed tracing | ||
| API Health Check | ||
| User interface templates | How do you implement a screen or UI page that displays data from multiple services? | Composition of the page fragment on the server side |
| Composition of the client-side user interface |